# HG changeset patch # User never # Date 1297368995 28800 # Node ID ac21d3bfa63b6809f9e4438d2a9089bb58b60ff8 # Parent e9a2b8e0572a86b7b2e8ec0f3eb257cef2618976 7018101: os::dll_address_to_function_name returning wrong answers in 64 bit Reviewed-by: acorn, kvn, dsamersoff diff -r e9a2b8e0572a -r ac21d3bfa63b src/os/solaris/vm/os_solaris.cpp --- a/src/os/solaris/vm/os_solaris.cpp Wed Feb 09 15:02:23 2011 -0800 +++ b/src/os/solaris/vm/os_solaris.cpp Thu Feb 10 12:16:35 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); } -