diff options
author | Alexey Neyman <stilor@att.net> | 2015-10-01 13:58:40 -0700 |
---|---|---|
committer | Alexey Neyman <stilor@att.net> | 2015-10-15 17:27:32 -0700 |
commit | f1e23157000a862513b31f87c2317652c6803c5a (patch) | |
tree | 86e6ead7e7c5a407f1a01657e4c61677b4f1853e /patches | |
parent | 8c5de9dcd527731ced700f4f7c496e04df74c9c0 (diff) | |
download | crosstool-ng-f1e23157000a862513b31f87c2317652c6803c5a.tar.gz crosstool-ng-f1e23157000a862513b31f87c2317652c6803c5a.tar.bz2 crosstool-ng-f1e23157000a862513b31f87c2317652c6803c5a.zip |
Fix arm/uclibc; see the description in the patch.
This should ideally be upstreamed to uclibc maintainers, but with the
last release more than 3 years ago, I wouldn't hold my breath for a
fix being released any time soon.
Diffstat (limited to 'patches')
-rw-r--r-- | patches/uClibc/0.9.33.2/400-arm-unwind.patch | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/patches/uClibc/0.9.33.2/400-arm-unwind.patch b/patches/uClibc/0.9.33.2/400-arm-unwind.patch new file mode 100644 index 00000000..d31844c0 --- /dev/null +++ b/patches/uClibc/0.9.33.2/400-arm-unwind.patch @@ -0,0 +1,23 @@ +commit 16884562bf54a93e76c6d2ba03edb1fb00e8b3e0 +Author: Alexey Neyman <stilor@att.net> +Date: Thu Oct 1 13:22:37 2015 -0700 + + Mark libgcc_c_resume as used. + + Recent GCC releases eliminate the data that is only set and never read, + along with the code storing to that data. For assembly blocks like in + ARM unwind code, the data structures need to be declared used. + +diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c +index f9a4ffb..f0c3047 100644 +--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c ++++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c +@@ -25,7 +25,7 @@ + #define __libc_dlclose dlclose + #define __libc_fatal(x) {/*write(STDERR_FILENO, x, strlen(x));*/ abort();} + +-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); ++static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__; + static _Unwind_Reason_Code (*libgcc_s_personality) + (_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *); + |