[PATCH] Fix building statically linked ARM EABI applications (fwd)
Joseph S. Myers
joseph at codesourcery.com
Thu Oct 1 20:45:41 UTC 2009
On Thu, 1 Oct 2009, Hans-Peter Nilsson wrote:
> I suggested the patch, because it doesn't seem that it would
> break anything, at least nothing that wasn't already broken. I
> mean, if a signal is thrown from within uclibc and the exception
> table in sigrestorer.S was to be used (mind you, signals can be
> translated into exceptions for some targets, apparently
> including ARM) and __aeabi_unwind_cpp_pr1 is actually needed,
> then stubbing it in the shared uclibc by aeabi_unwind_cpp_pr1.c
> is the wrong thing. For all other uses, -lc normally is
It may be that the non-stub versions are only needed for code where
exceptions may be caught, or which has cleanups to be run during
unwinding, rather than code that is just thrown through. Certainly NPTL
has such code (with cleanups) in glibc at least, so you wouldn't want a
dummy version used there.
> included only *after* -lgcc -lgcc_eh/-lgcc_s so those functions
> wouldn't be picked even in the static library - unless you hack
> your gcc invocation to leave out -lgcc_eh or the equivalent, in
> which case TRT happens.
Normally (i.e. when you don't use -nostdlib), either the -lgcc options are
present on both sides of -lc or --start-group --end-group are used around
the -lgcc options and -lc. See LINK_GCC_C_SEQUENCE_SPEC.
--
Joseph S. Myers
joseph at codesourcery.com
More information about the uClibc
mailing list