JDK-6490707 : libjvm.so: unexpected PLT reloc type 0x08 when loading VM
Type:Bug
Component:hotspot
Sub-Component:runtime
Affected Version:7
Priority:P3
Status:Closed
Resolution:Fixed
OS:linux
CPU:x86
Submitted:2006-11-07
Updated:2012-10-08
Resolved:2006-12-02
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.
Hotspot build with gcc 4.1 on x86 - default on many modern Linux systems leads to unusable
libjvm.so, failed as "libjvm.so: unexpected PLT reloc type 0x08 "
Comments
EVALUATION
We use patching of linker script to create VM relocated to some specific address
on Linux/x86 to avoid relocation cost. Thus we build non-relocable DLL to be loaded
at specific address.
We use output of gcc -Wl,--verbose to obtain proper linker script, and then patch base address.
Due to changed behaviour in the way gcc interacts with linker output of
gcc -Wl,--verbose 2>&1 > /dev/null got lost, although it should be exactly
needed linker script.
Fix it to avoid redirection to /dev/null, as nothing else is being printed by compiler anyway.