JDK-8004898 : library_call.cpp build error after 7172640 with GCC 4.7.2
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs25
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2012-12-11
  • Updated: 2013-04-30
  • Resolved: 2012-12-15
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 Other
8Fixed hs24Fixed
Related Reports
Relates :  
Description
http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2012-December/009116.html

Hi,

When I build hsx/hotspot-comp with GCC 4.7.2 on Fedora17, it fails with message as following:

----------
/usr/src/OpenJDK/hsx/fail/hotspot-comp/hotspot/src/share/vm/opto/library_call.cpp: In member function 'CallGenerator* Compile::make_vm_intrinsic(ciMethod*, bool)':
/usr/src/OpenJDK/hsx/fail/hotspot-comp/hotspot/src/share/vm/opto/library_call.cpp:415:67: error: converting 'false' to pointer type 'CallGenerator*' [-Werror=conversion-null]
/usr/src/OpenJDK/hsx/fail/hotspot-comp/hotspot/src/share/vm/opto/library_call.cpp:418:66: error: converting 'false' to pointer type 'CallGenerator*' [-Werror=conversion-null]
/usr/src/OpenJDK/hsx/fail/hotspot-comp/hotspot/src/share/vm/opto/library_call.cpp:421:66: error: converting 'false' to pointer type 'CallGenerator*' [-Werror=conversion-null]
/usr/src/OpenJDK/hsx/fail/hotspot-comp/hotspot/src/share/vm/opto/library_call.cpp:424:66: error: converting 'false' to pointer type 'CallGenerator*' [-Werror=conversion-null]
cc1plus: all warnings being treated as errors
make[6]: *** [library_call.o] Error 1
----------

Cause of this problem is that Compile::make_vm_intrinsic() should return pointer type
(CallGenerator*), however patch of CR#7172640 returns boolean value.


I posted this problem on BugDatabase as a new bug (Internal review ID is 2396515).
However, it does not seem to public yet.

I've made a patch which attached in this email, and it works fine in my environment.
I would like to contribute this patch, and I hope to merge this patch into mainline.

Please cooperate.


Best regards,
Yasumasa