Ver código fonte

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

Bernd Schmidt 16 anos atrás
pai
commit
fa1f7630f8
1 arquivos alterados com 1 adições e 1 exclusões
  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;