summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarmelo Amoroso <carmelo.amoroso@st.com>2011-09-19 15:58:53 +0200
committerCarmelo Amoroso <carmelo.amoroso@st.com>2012-01-27 10:05:09 +0100
commitb80b28ee6fdf073e6baf9b893b3ecef9904a2e48 (patch)
tree5f984632da92468e8764f43b244be180b5ec9bb1
parent80576869e1edf4f8dfb45eadf70a802938587f34 (diff)
libc_arm: avoid multiple version of __aeabi_unwind_cpp_pr dummy code
Do not pollute libraries with its own implementation of __aeabi_unwind_cpp_pr1 code. Just add it to uclibc_nonshared.a archive and share it. This fixes build issue with static linking of application due to multiple symbol definition in libgcc_eh-a and libpthread.a or librt.a Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
-rw-r--r--libc/sysdeps/linux/arm/Makefile.arch3
-rw-r--r--libpthread/nptl/sysdeps/arm/Makefile.arch1
-rw-r--r--libpthread/nptl/sysdeps/arm/aeabi_unwind_cpp_pr1.c1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/arm/nptl-aeabi_unwind_cpp_pr1.c1
-rw-r--r--libubacktrace/Makefile.in4
5 files changed, 1 insertions, 9 deletions
diff --git a/libc/sysdeps/linux/arm/Makefile.arch b/libc/sysdeps/linux/arm/Makefile.arch
index 14279e0d7..ddd104dd1 100644
--- a/libc/sysdeps/linux/arm/Makefile.arch
+++ b/libc/sysdeps/linux/arm/Makefile.arch
@@ -46,6 +46,5 @@ ifeq ($(IS_EABI),y)
libc-static-y += $(ARCH_OUT)/aeabi_lcsts.o $(ARCH_OUT)/aeabi_math.o \
$(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
+ $(ARCH_OUT)/aeabi_sighandlers.os $(ARCH_OUT)/aeabi_unwind_cpp_pr1.o
endif
diff --git a/libpthread/nptl/sysdeps/arm/Makefile.arch b/libpthread/nptl/sysdeps/arm/Makefile.arch
index 284dba43c..fbe497583 100644
--- a/libpthread/nptl/sysdeps/arm/Makefile.arch
+++ b/libpthread/nptl/sysdeps/arm/Makefile.arch
@@ -7,7 +7,6 @@
#
librt_arch_SSRC = aeabi_read_tp.S thumb_atomics.S
-librt_arch_CSRC = aeabi_unwind_cpp_pr1.c
CFLAGS-pt-raise.c = -DNOT_IN_libc -DIS_IN_libpthread
diff --git a/libpthread/nptl/sysdeps/arm/aeabi_unwind_cpp_pr1.c b/libpthread/nptl/sysdeps/arm/aeabi_unwind_cpp_pr1.c
deleted file mode 100644
index 84683627b..000000000
--- a/libpthread/nptl/sysdeps/arm/aeabi_unwind_cpp_pr1.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <../../../../libc/sysdeps/linux/arm/aeabi_unwind_cpp_pr1.c>
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/nptl-aeabi_unwind_cpp_pr1.c b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/nptl-aeabi_unwind_cpp_pr1.c
deleted file mode 100644
index 7b8352243..000000000
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/nptl-aeabi_unwind_cpp_pr1.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <aeabi_unwind_cpp_pr1.c>
diff --git a/libubacktrace/Makefile.in b/libubacktrace/Makefile.in
index f675bf579..8a4b08123 100644
--- a/libubacktrace/Makefile.in
+++ b/libubacktrace/Makefile.in
@@ -12,10 +12,6 @@ CFLAGS-libubacktrace := -DNOT_IN_libc -DIS_IN_libubacktrace $(SSP_ALL_CFLAGS)
LDFLAGS-libubacktrace.so := $(LDFLAGS) $(top_builddir)lib/libdl-$(VERSION).so
-ifeq ($(UCLIBC_HAS_BACKTRACE)$(CONFIG_ARM_EABI),yy)
-LIBGCC += $(shell $(CC) -print-file-name=libgcc_eh.a)
-endif
-
LIBS-libubacktrace.so := $(LIBS)
libubacktrace_FULL_NAME := libubacktrace-$(VERSION).so