summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/nspr/APKBUILD6
-rw-r--r--system/nspr/stacksize.patch22
2 files changed, 26 insertions, 2 deletions
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 <awilfox@adelielinux.org>
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
+