Эх сурвалжийг харах

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

Bernd Schmidt 17 жил өмнө
parent
commit
fa1f7630f8

+ 1 - 1
ldso/libdl/libdl.c

@@ -761,7 +761,7 @@ int dladdr(const void *__address, Dl_info * __info)
 				do {
 				do {
 					ElfW(Addr) symbol_addr;
 					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)) {
 					if (symbol_addr <= (ElfW(Addr))__address && (!sf || sa < symbol_addr)) {
 						sa = symbol_addr;
 						sa = symbol_addr;
 						sn = si;
 						sn = si;