Code Review for 7018101

Prepared by:never on Wed Feb 9 13:34:51 PST 2011
Compare against:
Summary of changes: 5 lines changed: 4 ins; 0 del; 1 mod; 6424 unchg
Patch of changes: 7018101.patch
Author comments:
7018101: os::dll_address_to_function_name returning wrong answers in 64 bit

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.

Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/os/solaris/vm/os_solaris.cpp

5 lines changed: 4 ins; 0 del; 1 mod; 6424 unchg

This code review page was prepared using /never/bin/webrev (vers 23.18-hg-never).