On Tue, 22 Sep 2009, Joseph S. Myers wrote:
On Mon, 21 Sep 2009, Ricard Wanderlof wrote:When linking applications statically for ARM using EABI, which use __default_sa_restorer (e.g. via abort, as in 'int main(void) { abort(); }'), this results in the following failure: /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?
(Linking with libgcc_eh.a is an option, but it would seem reasonable that libc provides some sort of a fallback solution for simple cases where full unwinding and error handling is not wanted for whatever reason.)
/Ricard -- Ricard Wolf Wanderlöf ricardw(at)axis.com Axis Communications AB, Lund, Sweden www.axis.com Phone +46 46 272 2016 Fax +46 46 13 61 30 _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
