Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160127200807.GQ9621@port70.net>
Date: Wed, 27 Jan 2016 21:08:07 +0100
From: Szabolcs Nagy <nsz@...t70.net>
To: N Jain <jain61@...il.com>
Cc: musl@...ts.openwall.com
Subject: Re: MUSL issue while loading C++ lib

* N Jain <jain61@...il.com> [2016-01-27 14:04:59 -0500]:
> 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)*
> 

0 is ok as these are defined in libgcc_s not libstdc++

i'd try to compile and run (gcc foo.c -lgcc_s)

void _Unwind_Resume_or_Rethrow();
int main()
{
	_Unwind_Resume_or_Rethrow();
}

(it would segfault at runtime but the point is to see
if the symbol lookup succeeds, if not, you can debug
this easier than libstdc++, if yes, then compare
and see what's different)

> > > 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 ?

the code is in ldso/dynlink.c

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.