[prev in list] [next in list] [prev in thread] [next in thread] 

List:       uclibc
Subject:    [PATCH] Fix building statically linked ARM EABI applications
From:       joseph () codesourcery ! com (Joseph S !  Myers)
Date:       2009-09-22 15:38:06
Message-ID: Pine.LNX.4.64.0909221536450.12846 () digraph ! polyomino ! org ! uk
[Download RAW message or body]

On Tue, 22 Sep 2009, Ricard Wanderlof wrote:

> > > /trees/prod1/target/armv5-axis-linux-gnueabiucl
> > > ibc/lib/libc.a(sigrestorer.os):(.ARM.exidx+0x0): undefined reference to
> > > `__aeabi_unwind_cpp_pr1'
> > > 
> > > This can be fixed with the following patch. Doesn't seem to have any
> > > detrimental effects. Anyone think of a reason this couldn't be commited?
> > 
> > Yes, this function is defined in libgcc_eh.a and the libc version is a dummy
> > version that is *incorrect* for programs requiring unwinding and should only
> > be used internally in libc.  If it's not in your libgcc_eh.a or that is not
> > being searched, your toolchain is misconfigured.
> 
> But then how come the libc version is included at all in the shared version of
> the library?

This is explained in the comments in the relevant source file.  Note that 
it is hidden and not exported from libc.

/* Because some objects in ld.so and libc.so are built with
   -fexceptions, we end up with references to this personality
   routine.  However, these libraries are not linked against
   libgcc_eh.a, so we need a dummy definition.   This routine will
   never actually be called.  */

-- 
Joseph S. Myers
joseph at codesourcery.com

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic