aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-03-08 13:10:11 +0000
committerFelix Fietkau <nbd@openwrt.org>2011-03-08 13:10:11 +0000
commitc47460467c0aaa532080cb5cd1e600220e44f367 (patch)
tree8c8b9b744c6475692a2547845d1ede11ee4162d8 /toolchain
parent0c70e832050647a239ca49b039bf96ccab2204d4 (diff)
downloadupstream-c47460467c0aaa532080cb5cd1e600220e44f367.tar.gz
upstream-c47460467c0aaa532080cb5cd1e600220e44f367.tar.bz2
upstream-c47460467c0aaa532080cb5cd1e600220e44f367.zip
gcc: move the optimized assembler helpers back into the static libgcc and skip relinking for this arch. due to relocation constraints, the assembler functions cannot be in the shared libgcc and must always be linked in statically
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25952 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/gcc/patches/linaro/850-use_shared_libgcc.patch31
1 files changed, 11 insertions, 20 deletions
diff --git a/toolchain/gcc/patches/linaro/850-use_shared_libgcc.patch b/toolchain/gcc/patches/linaro/850-use_shared_libgcc.patch
index a9cc80bfe0..5e33c9d4e1 100644
--- a/toolchain/gcc/patches/linaro/850-use_shared_libgcc.patch
+++ b/toolchain/gcc/patches/linaro/850-use_shared_libgcc.patch
@@ -35,18 +35,6 @@
/* Determine which dynamic linker to use depending on whether GLIBC or
uClibc is the default C library and whether -muclibc or -mglibc has
been passed to change the default. */
---- a/gcc/config/rs6000/ppc-asm.h
-+++ b/gcc/config/rs6000/ppc-asm.h
-@@ -325,8 +325,7 @@
- FUNC_NAME(name):
-
- #define HIDDEN_FUNC(name) \
-- FUNC_START(name) \
-- .hidden FUNC_NAME(name);
-+ FUNC_START(name);
-
- #define FUNC_END(name) \
- GLUE(.L,name): \
--- a/gcc/mkmap-symver.awk
+++ b/gcc/mkmap-symver.awk
@@ -132,5 +132,5 @@
@@ -56,14 +44,6 @@
- printf ("\n local:\n\t*;\n};\n");
+ printf ("\n\t*;\n};\n");
}
---- a/libgcc/config/rs6000/t-ppccomm
-+++ b/libgcc/config/rs6000/t-ppccomm
-@@ -1,4 +1,4 @@
--LIB2ADD_ST += crtsavfpr.S crtresfpr.S \
-+LIB2ADD += crtsavfpr.S crtresfpr.S \
- crtsavgpr.S crtresgpr.S \
- crtresxfpr.S crtresxgpr.S \
- e500crtres32gpr.S \
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -265,7 +265,7 @@
@@ -75,3 +55,14 @@
ifneq (,$(vis_hide))
+--- a/gcc/config/rs6000/linux.h
++++ b/gcc/config/rs6000/linux.h
+@@ -85,6 +85,8 @@
+ #define USE_LD_AS_NEEDED 1
+ #endif
+
++#define LIBGCC_SPEC "%{!static:%{!static-libgcc:-lgcc_s}} -lgcc"
++
+ #undef TARGET_VERSION
+ #define TARGET_VERSION fprintf (stderr, " (PowerPC GNU/Linux)");
+