# HG changeset patch # User never # Date 1297712818 28800 # Node ID 2a57c59eb5485e5d4ab87cccfb44a206ae21ef0b # Parent 28bf941f445eb77827dd06fa7b1b67e248017dda 7018101: os::dll_address_to_function_name returning wrong answers in 64 bit Reviewed-by: acorn, kvn, dsamersoff diff -r 28bf941f445e -r 2a57c59eb548 src/os/solaris/vm/os_solaris.cpp --- a/src/os/solaris/vm/os_solaris.cpp Mon Feb 14 03:21:18 2011 -0800 +++ b/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); } -