Mon, 14 Feb 2011 11:46:58 -0800
7018101: os::dll_address_to_function_name returning wrong answers in 64 bit
Reviewed-by: acorn, kvn, dsamersoff
src/os/solaris/vm/os_solaris.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/os/solaris/vm/os_solaris.cpp Mon Feb 14 03:21:18 2011 -0800 1.2 +++ b/src/os/solaris/vm/os_solaris.cpp Mon Feb 14 11:46:58 2011 -0800 1.3 @@ -1975,7 +1975,11 @@ 1.4 #ifndef RTLD_DL_SYMENT 1.5 #define RTLD_DL_SYMENT 1 1.6 #endif 1.7 - Sym * info; 1.8 +#ifdef _LP64 1.9 + Elf64_Sym * info; 1.10 +#else 1.11 + Elf32_Sym * info; 1.12 +#endif 1.13 if (dladdr1_func((void *)addr, &dlinfo, (void **)&info, 1.14 RTLD_DL_SYMENT)) { 1.15 if ((char *)dlinfo.dli_saddr + info->st_size > (char *)addr) { 1.16 @@ -6422,4 +6426,3 @@ 1.17 INTERRUPTIBLE_RETURN_INT_NORESTART(::bind(fd, him, len),\ 1.18 os::Solaris::clear_interrupted); 1.19 } 1.20 -