Hi All,

I was debugging and trying to find the issue in MUSL during finding  "_Unwind_Resume_or_Rethrow" symbol.
I see that under find_sym function sysv_lookup(s,h,dso) function it is not able to get above names which seems to be right as the offset in reloc section of "libstdc++.so.6" is zero

Example table below -

Offset          Info        Type                           Sym.Value   Sym. Name
0013700c  00000516 R_ARM_JUMP_SLOT   000c8bc8   _ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv  (Able to lookup)
00137330  00051c16 R_ARM_JUMP_SLOT   00000000   _Unwind_Resume_or_Rethrow       (Failed)
00137510  00083616 R_ARM_JUMP_SLOT   00000000   _Unwind_GetLanguageSpe             (Failed)


> and i think the linked binary is fine

> libstdc++.so.6 vs libgcc_s.so.1 has some issues
> which makes the musl linker fail to find some symbols.

From above dump I can see if Sym.Value = 0x0 then the symbol lookup fails.
Can some one know how to solve above issue ? 
Also I am not able to find the code if libstdc++.so.6  needs dynamic section libgcc_s.so.1 
then by the time MUSL loads libstdc++.so.6 above symbols should not have Sym.Value = 0x0 ?

 

> i can't help further, you will have to debug it,
> i'd try to look at dso->strings with gdb and why the find_sym fails
> or recompile musl with some dprintf added,
> or try a known working toolchain and compare against it,
> or wait for other ideas..

Any one know code where if library itself is dependent on other library where is symbol relocation happening ?
I guess the issue is in that part of MUSL code ? Is there any MUSL patch to resolve above issue ?

Thanks,
NJ