From de3a1692418779d6a0f4e00cf90f3f72ca9113f0 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Mon, 18 Feb 2019 17:37:09 +0000 Subject: system/nspr: merge patch from Void re: ppc64 threads --- system/nspr/APKBUILD | 6 ++++-- system/nspr/stacksize.patch | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 system/nspr/stacksize.patch (limited to 'system/nspr') diff --git a/system/nspr/APKBUILD b/system/nspr/APKBUILD index a6da52de1..bf0c907e8 100644 --- a/system/nspr/APKBUILD +++ b/system/nspr/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: A. Wilcox pkgname=nspr pkgver=4.20 -pkgrel=0 +pkgrel=1 pkgdesc="Netscape Portable Runtime" url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR" arch="all" @@ -14,6 +14,7 @@ makedepends="autoconf automake" subpackages="$pkgname-dev" source="http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$pkgver/src/nspr-$pkgver.tar.gz fix-getproto.patch + stacksize.patch " prepare() { @@ -61,4 +62,5 @@ package() { } sha512sums="22fdf7627f450b0594ebccaee170098e1a8cd0f429fd44816f1322756002ced3d69cf686c3f69f7cb30b8132d3605a9fce5457ab99d0002e6af11a3408a5c949 nspr-4.20.tar.gz -ee654f609a90b9a95c1901ad1d56cdef7cce8bca9efc092198607944f142f8fec924b13219ca6663facd0f0d59b671b8b3de58ab3449c4c863d42e2937f02184 fix-getproto.patch" +ee654f609a90b9a95c1901ad1d56cdef7cce8bca9efc092198607944f142f8fec924b13219ca6663facd0f0d59b671b8b3de58ab3449c4c863d42e2937f02184 fix-getproto.patch +1f694fc151f6578080449e3aa999c520486bbe117b8237150966ec43092db4156e81412ac889045e0c0c3bf65d459af5bdc1cf19c9fa3dab120405a60732f15a stacksize.patch" diff --git a/system/nspr/stacksize.patch b/system/nspr/stacksize.patch new file mode 100644 index 000000000..c2fcecd68 --- /dev/null +++ b/system/nspr/stacksize.patch @@ -0,0 +1,22 @@ +set a minimum stack size on ppc64 to prevent crashes + +Firefox, a user of nspr, attempts to set a stack size of 32k in its +JS watchdog, which the pthreads impl doesn't like and fails. + +Coincidentally, nspr here is compiled with debug on, which means it has +assertions turned on; under normal circumstances, those would be disabled, +the stack size set call would fail and everything would fall back on the +default 2M stacksize, but it would still be wrong - therefore, establish +a minimum, just like for aarch64. + +--- nspr-4.20/nspr/pr/include/md/_linux.h.old 2018-08-28 12:42:28.000000000 +0000 ++++ nspr-4.20/nspr/pr/include/md/_linux.h 2019-02-18 17:35:30.380000000 +0000 +@@ -71,7 +71,7 @@ + #define _MD_DEFAULT_STACK_SIZE 65536L + #define _MD_MMAP_FLAGS MAP_PRIVATE + +-#if defined(__aarch64__) || defined(__mips__) ++#if defined(__aarch64__) || defined(__mips__) || defined(__powerpc64__) + #define _MD_MINIMUM_STACK_SIZE 0x20000 + #endif + -- cgit v1.2.3-60-g2f50