# HG changeset patch # User never # Date 1297712818 28800 # Node ID 96eacc5e391f654ee768f8a467818471f3f84f63 # Parent 478a1d29e5a38274011455bcb4296cd989d55518 7018101: os::dll_address_to_function_name returning wrong answers in 64 bit Reviewed-by: acorn, kvn, dsamersoff diff -r 478a1d29e5a3 -r 96eacc5e391f hotspot/src/os/solaris/vm/os_solaris.cpp --- a/hotspot/src/os/solaris/vm/os_solaris.cpp Mon Feb 14 03:21:18 2011 -0800 +++ b/hotspot/src/os/solaris/vm/os_solaris.cpp Mon Feb 14 11:46:58 2011 -0800 @@ -1975,7 +1975,11 @@ #ifndef RTLD_DL_SYMENT #define RTLD_DL_SYMENT 1 #endif - Sym * info; +#ifdef _LP64 + Elf64_Sym * info; +#else + Elf32_Sym * info; +#endif if (dladdr1_func((void *)addr, &dlinfo, (void **)&info, RTLD_DL_SYMENT)) { if ((char *)dlinfo.dli_saddr + info->st_size > (char *)addr) { @@ -6422,4 +6426,3 @@ INTERRUPTIBLE_RETURN_INT_NORESTART(::bind(fd, him, len),\ os::Solaris::clear_interrupted); } -