aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/patches/4.9-linaro/860-uclibc_use_eh_frame.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-09-30 21:36:28 +0000
committerFelix Fietkau <nbd@openwrt.org>2014-09-30 21:36:28 +0000
commitcb119e2a69ddf235255398175ecaba7d8081b775 (patch)
treeb4d530ae2a45f90e96e4f955c8ffdc759d7ab3ee /toolchain/gcc/patches/4.9-linaro/860-uclibc_use_eh_frame.patch
parent1637363e95163a4643ffa285a38f9e6fc8b25b8f (diff)
downloadupstream-cb119e2a69ddf235255398175ecaba7d8081b775.tar.gz
upstream-cb119e2a69ddf235255398175ecaba7d8081b775.tar.bz2
upstream-cb119e2a69ddf235255398175ecaba7d8081b775.zip
gcc: add 4.9-linaro based on the 2014.09 release
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42706
Diffstat (limited to 'toolchain/gcc/patches/4.9-linaro/860-uclibc_use_eh_frame.patch')
-rw-r--r--toolchain/gcc/patches/4.9-linaro/860-uclibc_use_eh_frame.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/toolchain/gcc/patches/4.9-linaro/860-uclibc_use_eh_frame.patch b/toolchain/gcc/patches/4.9-linaro/860-uclibc_use_eh_frame.patch
new file mode 100644
index 0000000000..637803ec3b
--- /dev/null
+++ b/toolchain/gcc/patches/4.9-linaro/860-uclibc_use_eh_frame.patch
@@ -0,0 +1,31 @@
+--- a/libgcc/crtstuff.c
++++ b/libgcc/crtstuff.c
+@@ -100,15 +100,22 @@ call_ ## FUNC (void) \
+ #if defined(OBJECT_FORMAT_ELF) \
+ && !defined(OBJECT_FORMAT_FLAT) \
+ && defined(HAVE_LD_EH_FRAME_HDR) \
+- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \
+- && defined(__GLIBC__) && __GLIBC__ >= 2
++ && !defined(inhibit_libc) && !defined(CRTSTUFFT_O)
+ #include <link.h>
+ /* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h.
+ But it doesn't use PT_GNU_EH_FRAME ELF segment currently. */
+-# if !defined(__UCLIBC__) \
+- && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
+- || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
+-# define USE_PT_GNU_EH_FRAME
++# if defined(__UCLIBC__)
++# if (__UCLIBC_MAJOR__ > 0 || __UCLIBC_MINOR__ > 9 || \
++ (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ >= 33))
++# define USE_PT_GNU_EH_FRAME
++# endif
++# elif defined(__GLIBC__)
++# if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
++ || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
++# define USE_PT_GNU_EH_FRAME
++# endif
++# else
++# define USE_PT_GNU_EH_FRAME
+ # endif
+ #endif
+