diff options
Diffstat (limited to 'app-emulation/qemu/files/musl-patches/ignore-signals-33-and-64-to-allow-golang-emulation.patch')
-rw-r--r-- | app-emulation/qemu/files/musl-patches/ignore-signals-33-and-64-to-allow-golang-emulation.patch | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/app-emulation/qemu/files/musl-patches/ignore-signals-33-and-64-to-allow-golang-emulation.patch b/app-emulation/qemu/files/musl-patches/ignore-signals-33-and-64-to-allow-golang-emulation.patch deleted file mode 100644 index 11625422..00000000 --- a/app-emulation/qemu/files/musl-patches/ignore-signals-33-and-64-to-allow-golang-emulation.patch +++ /dev/null @@ -1,56 +0,0 @@ -From db186a3f83454268c43fc793a48bc28c41368a6c Mon Sep 17 00:00:00 2001 -From: Petros Angelatos <petrosagg@gmail.com> -Date: Thu, 3 Mar 2016 23:58:53 -0800 -Subject: [PATCH] linux-user: ignore signals 33 and 64 to allow golang - emulation - -Signal 33 will always fail. This causes golang crash since -https://github.com/golang/go/commit/675eb72c285cd0dd44a5f280bb3fa456ddf6de16 - -As explained in that commit, these signals are very rarely used in a -way that causes problems, so it's ok-ish to ignore one of them. - -Signal 64 will fail because QEMU uses SIGRTMAX for itself. This causes -golang to crash for versions earlier than -https://github.com/golang/go/commit/d10675089d74db0408f2432eae3bd89a8e1c2d6a - -Since after that commit golang ignores that signal, we also ignore it here to -allow earlier versions to run as well. - -Signed-off-by: Petros Angelatos <petrosagg@gmail.com> ---- - linux-user/signal.c | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/linux-user/signal.c b/linux-user/signal.c -index 9a4d894..90aca55 100644 ---- a/linux-user/signal.c -+++ b/linux-user/signal.c -@@ -744,6 +744,27 @@ int do_sigaction(int sig, const struct target_sigaction *act, - } - - k = &sigact_table[sig - 1]; -+ -+ /* This signal will always fail. This causes golang crash since -+ * https://github.com/golang/go/commit/675eb72c285cd0dd44a5f280bb3fa456ddf6de16 -+ * -+ * As explained in that commit, these signals are very rarely used in a -+ * way that causes problems, so it's ok-ish to ignore one of them here. -+ */ -+ if (sig == 33) { -+ return 0; -+ } -+ /* This signal will fail because QEMU uses SIGRTMAX for itself. This causes -+ * golang to crash for versions earlier than -+ * https://github.com/golang/go/commit/d10675089d74db0408f2432eae3bd89a8e1c2d6a -+ * -+ * Since after that commit golang ignores that signal, we also ignore it here to -+ * allow earlier versions to run as well. -+ */ -+ if (sig == 64) { -+ return 0; -+ } -+ - if (oact) { - __put_user(k->_sa_handler, &oact->_sa_handler); - __put_user(k->sa_flags, &oact->sa_flags); |