On 20/01/2012 7.55, Khem Raj wrote: > On Thu, Jan 19, 2012 at 6:42 AM, Carmelo AMOROSO <carmelo.amor...@st.com> > wrote: >> On 19/01/2012 15.28, Carmelo AMOROSO wrote: >>> Fill properly the sym_ref fields when invoking _dl_find_hash to lookup >>> symbols > > this did not make the segfault go away. Although this patch is ok. > this problem is a crash in libstdc++ I did not have debug info to > get more info but I am building an image with debug info >
I can't help with mips. As soon as you have some debug out, I can try to figure out where the problem is. I've looked at the change history of mips/elfinterp.c, I'm not seeing currently other fix than this one, but I'll keep on looking at this. Carmelo >>> >>> Signed-off-by: Carmelo Amoroso <carmelo.amor...@st.com> >>> --- >>> ldso/ldso/mips/elfinterp.c | 4 +++- >>> 1 files changed, 3 insertions(+), 1 deletions(-) >>> >>> diff --git a/ldso/ldso/mips/elfinterp.c b/ldso/ldso/mips/elfinterp.c >>> index b748839..5d0eff5 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, >> >> Khem, >> not sure, but this could be a problem. Unfortunately the code that >> handle relocations for mips is enough different from all other >> architectures. >> The symbol scope redesign was mixed with another big change to handle >> protected symbols, so the risk of breakage on some archs were high. >> >> Please let me know if it helps. >> >> Thanks, >> Carmelo >> _______________________________________________ >> uClibc mailing list >> uClibc@uclibc.org >> http://lists.busybox.net/mailman/listinfo/uclibc > _______________________________________________ uClibc mailing list uClibc@uclibc.org http://lists.busybox.net/mailman/listinfo/uclibc