review (XS) for 7018101: os::dll_address_to_function_name returning wrong answers in 64 bit

Tom Rodriguez tom.rodriguez at oracle.com
Wed Feb 9 13:39:43 PST 2011


http://cr.openjdk.java.net/~never/7018101

7018101: os::dll_address_to_function_name returning wrong answers in 64 bit
Reviewed-by:

dladdr1 takes a pointer an Elf symbol structure through an untyped
pointer.  The current code is using Sym which is typedef'ed to
Elf32_Sym even in 64 bit mode.  This causes the result to be
misinterpreted and produces bogus symbolic stack traces on 64 bit
solaris.  It appears that the typedefs are done this way for
compatibility reasons and that defining _ELF64 would cause the correct
definitions to be used.  I can't find any documentation on that so
instead I've chosen to explicitly pick the proper type.  Tested by
producing hs_err files and comparing the symbolic trace the VM
produces with what the external decoded produces.  This is for hs20.


More information about the hotspot-dev mailing list