[PATCH] Fix building statically linked ARM EABI applications
Joseph S. Myers
joseph at codesourcery.com
Tue Sep 22 15:38:06 UTC 2009
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
More information about the uClibc
mailing list