summaryrefslogtreecommitdiff
path: root/patches/uClibc/0.9.33.2
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2015-10-01 20:58:40 (GMT)
committerAlexey Neyman <stilor@att.net>2015-10-16 00:27:32 (GMT)
commitf1e23157000a862513b31f87c2317652c6803c5a (patch)
tree86e6ead7e7c5a407f1a01657e4c61677b4f1853e /patches/uClibc/0.9.33.2
parent8c5de9dcd527731ced700f4f7c496e04df74c9c0 (diff)
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/uClibc/0.9.33.2')
-rw-r--r--patches/uClibc/0.9.33.2/400-arm-unwind.patch23
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 0000000..d31844c
--- /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 *);
+