提交 1ad285e7 编写于 作者: N never

7018101: os::dll_address_to_function_name returning wrong answers in 64 bit

Reviewed-by: acorn, kvn, dsamersoff
上级 eb7b778e
......@@ -1975,7 +1975,11 @@ bool os::dll_address_to_function_name(address addr, char *buf,
#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 @@ int os::bind(int fd, struct sockaddr *him, int len) {
INTERRUPTIBLE_RETURN_INT_NORESTART(::bind(fd, him, len),\
os::Solaris::clear_interrupted);
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册