diff options
author | Filippo Arcidiacono <filippo.arcidiacono@st.com> | 2010-08-26 12:00:03 +0200 |
---|---|---|
committer | Carmelo Amoroso <carmelo.amoroso@st.com> | 2010-09-17 16:13:45 +0200 |
commit | b9766aa08c90b6718d5497d6a6cf9e6f737e5141 (patch) | |
tree | 3b0f3347413b9dc321ea48659d673f973b620221 /ldso/ldso/dl-hash.c | |
parent | a33796043bdef5345bc00a528c942f91a87af8e9 (diff) |
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 <filippo.arcidiacono@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Diffstat (limited to 'ldso/ldso/dl-hash.c')
-rw-r--r-- | ldso/ldso/dl-hash.c | 5 |
1 files changed, 0 insertions, 5 deletions
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; |