From 3837739512e6029786d4e70be658fde8172c3829 Mon Sep 17 00:00:00 2001 From: Carmelo Amoroso Date: Thu, 19 Jan 2012 15:28:15 +0100 Subject: ldso/mips: fix symbol lookup for JUMP_SLOT and COPY relocations Fill properly the sym_ref fields when invoking _dl_find_hash to lookup symbols Signed-off-by: Carmelo Amoroso Signed-off-by: Khem Raj --- ldso/ldso/mips/elfinterp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'ldso/ldso/mips/elfinterp.c') diff --git a/ldso/ldso/mips/elfinterp.c b/ldso/ldso/mips/elfinterp.c index b748839ce..5d0eff53b 100644 --- a/ldso/ldso/mips/elfinterp.c +++ b/ldso/ldso/mips/elfinterp.c @@ -161,7 +161,7 @@ int _dl_parse_relocation_information(struct dyn_elf *xpnt, unsigned long old_val=0; #endif - struct symbol_ref sym_ref = { NULL, NULL }; + struct symbol_ref sym_ref; /* Now parse the relocation information */ rel_size = rel_size / sizeof(ElfW(Rel)); rpnt = (ELF_RELOC *) rel_addr; @@ -187,6 +187,8 @@ int _dl_parse_relocation_information(struct dyn_elf *xpnt, #endif if (reloc_type == R_MIPS_JUMP_SLOT || reloc_type == R_MIPS_COPY) { + sym_ref.tpnt = NULL; + sym_ref.sym = &symtab[symtab_index]; symbol_addr = (unsigned long)_dl_find_hash(symname, scope, tpnt, -- cgit v1.2.3