浏览代码

Use DL_RELOC_ADDR when dealing with DL_LOADADDR_TYPE types. Fixes gnu-hash
compilation on Blackfin.

Bernd Schmidt 17 年之前
父节点
当前提交
fa1f7630f8
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      ldso/libdl/libdl.c

+ 1 - 1
ldso/libdl/libdl.c

@@ -761,7 +761,7 @@ int dladdr(const void *__address, Dl_info * __info)
 				do {
 					ElfW(Addr) symbol_addr;
 
-					symbol_addr = (ElfW(Addr)) pelf->loadaddr + symtab[si].st_value;
+					symbol_addr = (ElfW(Addr)) DL_RELOC_ADDR(pelf->loadaddr, symtab[si].st_value);
 					if (symbol_addr <= (ElfW(Addr))__address && (!sf || sa < symbol_addr)) {
 						sa = symbol_addr;
 						sn = si;