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

Karen Kinnear karen.kinnear at oracle.com
Wed Feb 9 13:50:47 PST 2011


Thank you so much Tom. This looks good.

Karen

On Feb 9, 2011, at 4:39 PM, Tom Rodriguez wrote:

> 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