[PATCH] Fix building statically linked ARM EABI applications

Ricard Wanderlof ricard.wanderlof at axis.com
Mon Sep 21 09:43:01 UTC 2009


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
-------------- next part --------------
--- 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


More information about the uClibc mailing list