From b9766aa08c90b6718d5497d6a6cf9e6f737e5141 Mon Sep 17 00:00:00 2001 From: Filippo Arcidiacono Date: Thu, 26 Aug 2010 12:00:03 +0200 Subject: ldso: Fix loadaddr and mappaddr when prelink support is enabled. Fixed loadaddr and mappaddr fields to correctly work when prelink support is enabled. - loadaddr is an offset relative to the first loadable segment. - mapaddr is the address where the object has been mapped in memory. Non PIC library detection fixed too. Signed-off-by: Filippo Arcidiacono Signed-off-by: Carmelo Amoroso --- ldso/ldso/dl-hash.c | 5 ----- 1 file changed, 5 deletions(-) (limited to 'ldso/ldso/dl-hash.c') diff --git a/ldso/ldso/dl-hash.c b/ldso/ldso/dl-hash.c index f0683c60f..bb4c56b04 100644 --- a/ldso/ldso/dl-hash.c +++ b/ldso/ldso/dl-hash.c @@ -145,12 +145,7 @@ struct elf_resolve *_dl_add_elf_hash_table(const char *libname, hash_addr += tpnt->nbucket; tpnt->chains = hash_addr; } -#ifdef __LDSO_PRELINK_SUPPORT__ - tpnt->loadaddr = dynamic_info[DT_GNU_PRELINKED_IDX] ? 0 : loadaddr; -#else tpnt->loadaddr = loadaddr; -#endif - tpnt->mapaddr = DL_RELOC_ADDR(loadaddr, 0); for (i = 0; i < DYNAMIC_SIZE; i++) tpnt->dynamic_info[i] = dynamic_info[i]; return tpnt; -- cgit v1.2.3