summaryrefslogtreecommitdiffstats
path: root/main/libc0.9.32/avoid-forced-unwind.patch
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2013-06-01 18:14:29 -0500
committerWilliam Pitcock <nenolod@dereferenced.org>2013-06-01 18:14:29 -0500
commit627bf322f50634e756fb656b4f5f4f5ebf5997c2 (patch)
treef14a9cbf75de5a6fd543246418822d3a3adad974 /main/libc0.9.32/avoid-forced-unwind.patch
parent6267268090d5c23664a5b13dfe02eb3594d5e5db (diff)
downloadaports-627bf322f50634e756fb656b4f5f4f5ebf5997c2.tar.bz2
aports-627bf322f50634e756fb656b4f5f4f5ebf5997c2.tar.xz
main/libc0.9.32: avoid libgcc unwind functions in nptl
Normally for 'performance', nptl uses the _Unwind_ForcedUnwind() function, which is provided by GCC. However, this function depends on libunwind tracking all register state, which neither libunwind itself (which we do not want as a core dependency) or GCC's libunwind support register state on some newer x86 CPUs fully. Thusly, we turn off the unwind-using code and return to using the traditional cleanup functions.
Diffstat (limited to 'main/libc0.9.32/avoid-forced-unwind.patch')
-rw-r--r--main/libc0.9.32/avoid-forced-unwind.patch10
1 files changed, 10 insertions, 0 deletions
diff --git a/main/libc0.9.32/avoid-forced-unwind.patch b/main/libc0.9.32/avoid-forced-unwind.patch
new file mode 100644
index 000000000..044e2ffdd
--- /dev/null
+++ b/main/libc0.9.32/avoid-forced-unwind.patch
@@ -0,0 +1,10 @@
+--- uClibc-0.9.33.2.orig/Rules.mak
++++ uClibc-0.9.33.2/Rules.mak
+@@ -707,7 +707,6 @@
+ ifeq ($(UCLIBC_HAS_THREADS),y)
+ ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
+ PTNAME := nptl
+- CFLAGS += -DHAVE_FORCED_UNWIND
+ else
+ ifeq ($(LINUXTHREADS_OLD),y)
+ PTNAME := linuxthreads.old