crosstool-ng/patches/uClibc/0.9.33.2/400-arm-unwind.patch
Alexey Neyman f1e2315700 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.
2015-10-15 17:27:32 -07:00

24 lines
1.1 KiB
Diff

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 *);