From ce466a0fd7f89fe2c9c24d0e7d46af8c5ecae678 Mon Sep 17 00:00:00 2001 From: Ariadne Conill Date: Sun, 25 Apr 2021 11:40:37 -0600 Subject: community/qemu: drop obsolete signal 33/64 patch This was a patch used to allow compatibility with programs compiled with older versions of Go. For the past several years, Go has used a different signalling mechanism between goroutines which no longer needs this patch. A side effect of this patch is that pthread_cancel was broken, which caused problems with running Qt applications under qemu emulation. --- community/qemu/APKBUILD | 4 +- ...gnals-33-and-64-to-allow-golang-emulation.patch | 56 ---------------------- 2 files changed, 1 insertion(+), 59 deletions(-) delete mode 100644 community/qemu/ignore-signals-33-and-64-to-allow-golang-emulation.patch diff --git a/community/qemu/APKBUILD b/community/qemu/APKBUILD index b38762cd1a5..4367494e4bc 100644 --- a/community/qemu/APKBUILD +++ b/community/qemu/APKBUILD @@ -4,7 +4,7 @@ # Maintainer: Natanael Copa pkgname=qemu pkgver=5.2.0 -pkgrel=2 +pkgrel=3 pkgdesc="QEMU is a generic machine emulator and virtualizer" url="https://qemu.org/" arch="all" @@ -167,7 +167,6 @@ source="https://wiki.qemu-project.org/download/qemu-$pkgver.tar.xz musl-F_SHLCK-and-F_EXLCK.patch fix-sigevent-and-sigval_t.patch xattr_size_max.patch - ignore-signals-33-and-64-to-allow-golang-emulation.patch 0001-linux-user-fix-build-with-musl-on-ppc64le.patch MAP_SYNC-fix.patch fix-sockios-header.patch @@ -402,7 +401,6 @@ sha512sums="bddd633ce111471ebc651e03080251515178808556b49a308a724909e55dac0be0cc 224f5b44da749921e8a821359478c5238d8b6e24a9c0b4c5738c34e82f3062ec4639d495b8b5883d304af4a0d567e38aa6623aac1aa3a7164a5757c036528ac0 musl-F_SHLCK-and-F_EXLCK.patch 5da8114b9bd2e62f0f1f0f73f393fdbd738c5dea827ea60cedffd6f6edd0f5a97489c7148d37a8ec5a148d4e65d75cbefe9353714ee6b6f51a600200133fc914 fix-sigevent-and-sigval_t.patch 4b1e26ba4d53f9f762cbd5cea8ef6f8062d827ae3ae07bc36c5b0c0be4e94fc1856ad2477e8e791b074b8a25d51ed6d0ddd75e605e54600e5dd0799143793ce4 xattr_size_max.patch -fd178f2913639a0c33199b3880cb17536961f2b3ff171c12b27f4be6bca032d6b88fd16302d09c692bb34883346babef5c44407a6804b20a39a465bb2bc85136 ignore-signals-33-and-64-to-allow-golang-emulation.patch d8933df9484158c2b4888254e62117d78f8ed7c18527b249419f39c2b2ab1afa148010884b40661f8965f1ef3105580fceffdfddbb2c9221dc1c62066722ba65 0001-linux-user-fix-build-with-musl-on-ppc64le.patch d7de79ea74e36702cac4a59e472564a55f0a663be7e63c3755e32b4b5dfbc04b390ee79f09f43f6ae706ee2aec9e005eade3c0fd4a202db60d11f436874a17d7 MAP_SYNC-fix.patch 39590476a4ebd7c1e79a4f0451b24c75b1817a2a83abaa1f71bb60b225d772152f0af8f3e51ff65645e378c536ffa6ff551dade52884d03a14b7c6a19c5c97d4 fix-sockios-header.patch diff --git a/community/qemu/ignore-signals-33-and-64-to-allow-golang-emulation.patch b/community/qemu/ignore-signals-33-and-64-to-allow-golang-emulation.patch deleted file mode 100644 index 11625422338..00000000000 --- a/community/qemu/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 -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 ---- - 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); -- cgit v1.2.3