7018101: os::dll_address_to_function_name returning wrong answers in 64 bit
Reviewed-by: acorn, kvn, dsamersoff
--- 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);
}
-