7018101: os::dll_address_to_function_name returning wrong answers in 64 bit
authornever
Mon, 14 Feb 2011 11:46:58 -0800
changeset 8329 96eacc5e391f
parent 8328 478a1d29e5a3
child 8330 5f6046a69677
7018101: os::dll_address_to_function_name returning wrong answers in 64 bit Reviewed-by: acorn, kvn, dsamersoff
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);
 }
-