There's nothing we can do upstream because package managers strip out all of the debug information. It requires
If installing the correct debuginfo package doesn't work, there is a problem finding the debuginfo packages. libjvm will read the .note.gnu.build-id section in libjvm.so, and then look for a corresponding file in /usr/lib/debug.
Note that the filename of the debuginfo is the hex representation of the hex data in the .note.gnu.build-id section of libjvm.so.
It would be possible for the distros to avoid this by not stripping out the symbols we need, but most distro packaging has an "all or nothing" approach to debuginfo.
There's nothing we can do upstream because package managers strip out all of the debug information. It requires
If installing the correct debuginfo package doesn't work, there is a problem finding the debuginfo packages. libjvm will read the .note.gnu.build-id section in libjvm.so, and then look for a corresponding file in /usr/lib/debug.
Like this:
$ readelf -x .note.gnu.build-id "/usr/lib/ jvm/java- 1.7.0-openjdk- 1.7.0.131. x86_64/ jre/lib/ amd64/server/ libjvm. so"
Hex dump of section '.note. gnu.build- id':
0x00000190 04000000 14000000 03000000 474e5500 ............GNU.
0x000001a0 14501d56 be269cfd 9234342b 58407e0f .P.V.&...44+X@~.
0x000001b0 bbe4f5c8 ....
And the debuginfo should be found here:
/usr/lib/ debug/. build-id/ 14/501d56be269c fd9234342b58407 e0fbbe4f5c8. debug
Note that the filename of the debuginfo is the hex representation of the hex data in the .note.gnu.build-id section of libjvm.so.
It would be possible for the distros to avoid this by not stripping out the symbols we need, but most distro packaging has an "all or nothing" approach to debuginfo.