aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2018-02-06 18:49:10 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2018-02-06 21:32:22 +0000
commitdf3cdb93ee43ef25e89e015173bb3e2cc09e8523 (patch)
tree59c831990c5b1600f681375d323946e7fcc45245
parentddb66736d5dd65ea36bf50e5d291f9f945ce4382 (diff)
main/gc: fix test on s390x
-rw-r--r--main/gc/0001-Fix-gctest-with-musl-libc-on-s390x.patch31
-rw-r--r--main/gc/APKBUILD4
2 files changed, 34 insertions, 1 deletions
diff --git a/main/gc/0001-Fix-gctest-with-musl-libc-on-s390x.patch b/main/gc/0001-Fix-gctest-with-musl-libc-on-s390x.patch
new file mode 100644
index 00000000000..832df2bfd81
--- /dev/null
+++ b/main/gc/0001-Fix-gctest-with-musl-libc-on-s390x.patch
@@ -0,0 +1,31 @@
+From 63ea237b7c367c56b6e14dd4d634b622e3fc0aa7 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Tue, 6 Feb 2018 21:21:23 +0100
+Subject: [PATCH] Fix gctest with musl libc on s390x
+
+Issue #202 (bdwgc).
+
+DEFAULT_STACK_MAYBE_SMALL is only set if PARALLEL_MARK is set, but stack
+is too small on musl libc even if PARALLEL_MARK is unset. We solve this
+by detecting musl via NO_GETCONTEXT.
+---
+ tests/test.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test.c b/tests/test.c
+index 7a45884f..70548806 100644
+--- a/tests/test.c
++++ b/tests/test.c
+@@ -2239,7 +2239,8 @@ int main(void)
+ }
+ # if defined(GC_IRIX_THREADS) || defined(GC_FREEBSD_THREADS) \
+ || defined(GC_DARWIN_THREADS) || defined(GC_AIX_THREADS) \
+- || defined(GC_OPENBSD_THREADS) || defined(DEFAULT_STACK_MAYBE_SMALL)
++ || defined(GC_OPENBSD_THREADS) || defined(DEFAULT_STACK_MAYBE_SMALL) \
++ || defined(NO_GETCONTEXT) /* musl libc */
+ if ((code = pthread_attr_setstacksize(&attr, 1000 * 1024)) != 0) {
+ GC_printf("pthread_attr_setstacksize failed, error=%d\n", code);
+ FAIL;
+--
+2.16.1
+
diff --git a/main/gc/APKBUILD b/main/gc/APKBUILD
index 771619170af..de8d19f8b90 100644
--- a/main/gc/APKBUILD
+++ b/main/gc/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gc
pkgver=7.6.4
-pkgrel=0
+pkgrel=1
pkgdesc="A garbage collector for C and C++"
url="http://hboehm.info/gc/"
arch="all"
@@ -10,6 +10,7 @@ depends=
makedepends='libatomic_ops-dev linux-headers'
subpackages="$pkgname-dev $pkgname-doc libgc++:libgccpp"
source="http://hboehm.info/gc/gc_source/gc-$pkgver.tar.gz
+ 0001-Fix-gctest-with-musl-libc-on-s390x.patch
fix-boehm-gc.patch
"
builddir="$srcdir"/gc-${pkgver%[a-z]}
@@ -46,4 +47,5 @@ check() {
}
sha512sums="2c85be3e24b85732b3dc6f08fe98cf1a82b6fb2a22ec73090f80920721c737ef92cee8f0cd7ea7228d686005d164e7da54ce3907c3a1ba5eefa43355a472085e gc-7.6.4.tar.gz
+829b68d88a48a8e414f9d509d8da87a6a127fc90b871d0c30596fe9cb39e3fe093d671160d86db1affda246e2409b05dd33e1190e36f2c4d0e784fffd404b652 0001-Fix-gctest-with-musl-libc-on-s390x.patch
6439505931f0d023bf27d6ce0af90d09dc23bb9dd49b561566ec54b2cddc20642be9bd7b41203f643cb6efed3db2f54aef410b436f3acc2351fe4bb0a8791ea4 fix-boehm-gc.patch"