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?

/Ricard



--- libc/sysdeps/linux/arm/Makefile.arch        2009-09-21 11:29:55.000000000 
+0200
+++ libc/sysdeps/linux/arm/Makefile.arch.fix    2009-09-21 11:30:23.000000000 
+0200
@@ -32,5 +32,5 @@
        $(ARCH_OUT)/aeabi_sighandlers.o
 libc-nonshared-y += $(ARCH_OUT)/aeabi_lcsts.os $(ARCH_OUT)/aeabi_math.os \
        $(ARCH_OUT)/aeabi_sighandlers.os
-libc-shared-y += $(ARCH_OUT)/aeabi_unwind_cpp_pr1.os
+libc-y += $(ARCH_OUT)/aeabi_unwind_cpp_pr1.os
 endif

--
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
--- libc/sysdeps/linux/arm/Makefile.arch        2009-09-21 11:29:55.000000000 
+0200
+++ libc/sysdeps/linux/arm/Makefile.arch.fix    2009-09-21 11:30:23.000000000 
+0200
@@ -32,5 +32,5 @@
        $(ARCH_OUT)/aeabi_sighandlers.o
 libc-nonshared-y += $(ARCH_OUT)/aeabi_lcsts.os $(ARCH_OUT)/aeabi_math.os \
        $(ARCH_OUT)/aeabi_sighandlers.os
-libc-shared-y += $(ARCH_OUT)/aeabi_unwind_cpp_pr1.os
+libc-y += $(ARCH_OUT)/aeabi_unwind_cpp_pr1.os
 endif
_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to