From f1e23157000a862513b31f87c2317652c6803c5a Mon Sep 17 00:00:00 2001
From: Alexey Neyman <stilor@att.net>
Date: Thu, 1 Oct 2015 13:58:40 -0700
Subject: [PATCH] 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.
---
 patches/uClibc/0.9.33.2/400-arm-unwind.patch  | 23 +++++++++++++++++++
 .../reported.by                               |  2 +-
 2 files changed, 24 insertions(+), 1 deletion(-)
 create mode 100644 patches/uClibc/0.9.33.2/400-arm-unwind.patch

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 *);
+ 
diff --git a/samples/arm-cortexa5-linux-uclibcgnueabihf/reported.by b/samples/arm-cortexa5-linux-uclibcgnueabihf/reported.by
index 1eb16d1d..57a07cb6 100644
--- a/samples/arm-cortexa5-linux-uclibcgnueabihf/reported.by
+++ b/samples/arm-cortexa5-linux-uclibcgnueabihf/reported.by
@@ -1,3 +1,3 @@
 reporter_name="Alexandre Belloni"
 reporter_url="https://plus.google.com/+AlexandreBelloni"
-reporter_comment="Cortex-A5 using the hard-float GNU EABI (VFPV4-D16 whithout NEON)."
+reporter_comment="Cortex-A5 using the hard-float GNU EABI (VFPV4-D16 without NEON)."