aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/0006-remove-unused-and-invalid-C-version-of-sigsetjmp.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/musl/0006-remove-unused-and-invalid-C-version-of-sigsetjmp.patch')
-rw-r--r--main/musl/0006-remove-unused-and-invalid-C-version-of-sigsetjmp.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/main/musl/0006-remove-unused-and-invalid-C-version-of-sigsetjmp.patch b/main/musl/0006-remove-unused-and-invalid-C-version-of-sigsetjmp.patch
new file mode 100644
index 0000000000..88b6f9f6e8
--- /dev/null
+++ b/main/musl/0006-remove-unused-and-invalid-C-version-of-sigsetjmp.patch
@@ -0,0 +1,40 @@
+From deb85ab44dbe784ba6174b8cf376d35aeacbe309 Mon Sep 17 00:00:00 2001
+From: Rich Felker <dalias@aerifal.cx>
+Date: Wed, 9 Sep 2015 06:59:45 +0000
+Subject: [PATCH] remove unused (and invalid) C version of sigsetjmp
+
+originally, the comment in this code was correct and it would likely
+work if the compiler generated a tail call to setjmp. however, commit
+583e55122e767b1586286a0d9c35e2a4027998ab redesigned sigsetjmp and
+siglongjmp such that the old C implementation (which was not intended
+to be used) is not even conceptually correct. remove it in the
+interest of avoiding confusion when porting to new archs.
+---
+ src/signal/sigsetjmp.c | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+diff --git a/src/signal/sigsetjmp.c b/src/signal/sigsetjmp.c
+index 1bbe1a0..e69de29 100644
+--- a/src/signal/sigsetjmp.c
++++ b/src/signal/sigsetjmp.c
+@@ -1,17 +0,0 @@
+-#include <setjmp.h>
+-#include <signal.h>
+-#include "libc.h"
+-
+-/* !!! This function will not work unless the compiler performs
+- * tail call optimization. Machine-specific asm versions should
+- * be created instead even though the workaround (tail call)
+- * is entirely non-machine-specific... */
+-
+-int sigsetjmp(sigjmp_buf buf, int save)
+-{
+- if ((buf->__fl = save))
+- pthread_sigmask(SIG_SETMASK, 0, (sigset_t *)buf->__ss);
+- return setjmp(buf);
+-}
+-
+-weak_alias(sigsetjmp, __sigsetjmp);
+--
+2.5.1
+