summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Hundven <bryanhundven@gmail.com>2015-10-20 03:07:33 (GMT)
committerBryan Hundven <bryanhundven@gmail.com>2015-10-20 03:07:33 (GMT)
commit4c6c7fdea0d994b04d3b01fed484287c8c826d96 (patch)
tree1a737b40eb23b52edd6a06f7e4af4c617fc9b0d8
parente74a6d5164fac7b0b481d4ecb74518e15a8fa303 (diff)
parentf1e23157000a862513b31f87c2317652c6803c5a (diff)
Merge pull request #200 from stilor/arm-unwind-uclibc
Fix link error in arm/uclibc with GCC 5.x
-rw-r--r--patches/uClibc/0.9.33.2/400-arm-unwind.patch23
-rw-r--r--samples/arm-cortexa5-linux-uclibcgnueabihf/reported.by2
2 files changed, 24 insertions, 1 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 *);
+
diff --git a/samples/arm-cortexa5-linux-uclibcgnueabihf/reported.by b/samples/arm-cortexa5-linux-uclibcgnueabihf/reported.by
index 1eb16d1..57a07cb 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)."