diff options
author | Filippo Arcidiacono <filippo.arcidiacono@st.com> | 2010-07-30 09:17:58 +0200 |
---|---|---|
committer | Carmelo Amoroso <carmelo.amoroso@st.com> | 2010-09-17 16:11:27 +0200 |
commit | 4136ca46e391faf1a6ce58b9a1a709b248213fb4 (patch) | |
tree | 2c36d609ff2110027d637f68db8c4af47bd38333 /ldso/ldso/dl-hash.c | |
parent | 94cc6edb78a12655c0602a246fa1cbdc8c6d0ad9 (diff) |
ldso: Add support for LD_WARN and LD_TRACE_PRELINKING
Added support for the following tracing capabilities:
- LD_WARN to warn about undefined symbols during the lookup stage.
- LD_TRACE_PRELINKING to trace the needed libraries of the object
that we are prelinking.
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 | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ldso/ldso/dl-hash.c b/ldso/ldso/dl-hash.c index 2c4571f20..2e2111fa9 100644 --- a/ldso/ldso/dl-hash.c +++ b/ldso/ldso/dl-hash.c @@ -269,7 +269,7 @@ _dl_lookup_sysv_hash(struct elf_resolve *tpnt, ElfW(Sym) *symtab, unsigned long * relocations or when we call an entry in the PLT table for the first time. */ char *_dl_lookup_hash(const char *name, struct r_scope_elem *scope, struct elf_resolve *mytpnt, - int type_class, struct elf_resolve **tpntp) + struct sym_val *symbol, int type_class, struct elf_resolve **tpntp) { struct elf_resolve *tpnt = NULL; ElfW(Sym) *symtab; @@ -339,6 +339,10 @@ char *_dl_lookup_hash(const char *name, struct r_scope_elem *scope, struct elf_r } if (sym) { + if (symbol) { + symbol->s = sym; + symbol->m = tpnt; + } /* At this point we have found the requested symbol, do binding */ #if defined(USE_TLS) && USE_TLS if (ELF_ST_TYPE(sym->st_info) == STT_TLS) { |