Backtrace on P1014.

Filippo ARCIDIACONO filippo.arcidiacono at st.com
Tue Apr 30 14:36:57 UTC 2013


On 4/29/2013 9:50 PM, Carmelo Amoroso wrote:
>
> Hello Filippo
> Please post the patch so i'll push int.
> Carmelo
>

Fixing the typo error doesn't solve backatrace in static application.
I have a couple of patches that fix some problem and extend backtrace 
functionality
also for static application.
This patches are under review at the moment.
Shortly I'll post.

> Il giorno 29/apr/2013 10:04, "Filippo ARCIDIACONO" 
> <filippo.arcidiacono at st.com <mailto:filippo.arcidiacono at st.com>> ha 
> scritto:
>
>     On 4/26/2013 4:51 PM, ANDY KENNEDY wrote:
>
>             From: Filippo ARCIDIACONO
>             [mailto:filippo.arcidiacono at st.com
>             <mailto:filippo.arcidiacono at st.com>]
>
>             On 4/26/2013 5:30 AM, ANDY KENNEDY wrote:
>
>                 I'm attempting to link static an app that contains
>                 backtrace.  I
>                 set LDFLAGS to "-lubacktrace -ldl" and I get a viable
>                 file which
>                 does run.  The app crashes.  During the call to
>                 backtrace, I get
>                 an error:
>
>                 libgcc_s.so.1 must be installed for backtrace to work
>
>                 I have attempted to launch the app with
>                 LD_LIBRARY_PATH, however,
>                 it appears that this has an unobtainable path:
>
>
>                 ~/working/uClibc-0.9.33.2$ grep -R __LDSO_LIBRARY_PATH__ .
>                 ./ldso/libdl/libdl.c:#if !defined SHARED && defined
>                 __LDSO_LIBRARY_PATH__
>
>                 Does anyone know why the __LDSO_LIBRARY_PATH__ is here?
>
>             Indeed there was a typo error in commit
>             e4aa966cf25e83cd0c72f34f7855a995ff93944d
>             </uClibc/commit/ldso/libdl/libdl.c?id=e4aa966cf25e83cd0c72f34f7855a995ff93944d>.
>             It should be __LDSO_LD_LIBRARY_PATH__, it has been
>             introduced to disable
>             the use of
>             LD_LIBRARY_PATH on hardened systems.
>             We take care to fix it soon.
>
>                 Thanks,
>                 Andy
>
>             Regards,
>             Filippo
>
>         To answer Carmelo's question:
>         123456789012345678901234567890123456789012345678901234567890123456789012
>         This code can never be reached through a standard build of uClibc.
>         Using CrossTool-NG, I have no way to affect the #defines of
>         the build,
>         thus I would be unable to -D__LDSO_LD_LIBRARY_PATH__ and, even
>         with
>         Filippo's suggested changes, this code can still not be reached.
>
>
>     You have to enable LDSO_LD_LIBRARY_PATH=y in your .config, then
>     when you build the uClibc,
>     __LDSO_LD_LIBRARY_PATH__ will be defined in uClibc_config.h, as
>     "#define __LDSO_LD_LIBRARY_PATH__ 1",  this is automatically
>     included by features.h, so you don't need to pass any
>     "-D__LDSO_LD_LIBRARY_PATH__"
>     to the build system.
>
>
>         /work/uClibc-0.9.33.2# grep -R --color __LDSO_LD_LIBRARY_PATH__ .
>         ./ldso/ldso/ldso.c:#ifdef __LDSO_LD_LIBRARY_PATH__
>         ./ldso/ldso/ldso.c:#ifdef __LDSO_LD_LIBRARY_PATH__
>         ./ldso/ldso/ldso.c:#ifdef __LDSO_LD_LIBRARY_PATH__
>         ./ldso/ldso/ldso.c:#ifdef __LDSO_LD_LIBRARY_PATH__
>         ./ldso/ldso/dl-elf.c:#ifdef __LDSO_LD_LIBRARY_PATH__
>         ./ldso/libdl/libdl.c:#ifdef __LDSO_LD_LIBRARY_PATH__
>
>         It is _used_ all over the place, but there is never a time
>         when it is
>         _SET_.  There is no way to get to any of the code that this
>         #define
>         protects.  Should we put in a config option for this
>         somewhere, or set
>         this variable if for building these libraries as the static
>         libraries?
>         This code will not exist in the libdl.a library.
>
>         As far as a test case goes, no I don't have one to share at
>         the moment,
>         and I'm pressed for time getting this done, but I'll get one
>         for you
>         later.
>
>         At the moment, however, what can we do to make it so this is not
>         unreachable code?
>
>
>     Simply fix the typo error as described in my previous comment.
>
>
>         Andy
>
>     Filippo
>
>     _______________________________________________
>     uClibc mailing list
>     uClibc at uclibc.org <mailto:uClibc at uclibc.org>
>     http://lists.busybox.net/mailman/listinfo/uclibc
>



More information about the uClibc mailing list