summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2019-03-24 22:00:54 +0000
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-03-24 22:00:54 +0000
commit1c3faa045f6dd93d8764f6e9482e8bd725fe388b (patch)
treec9b0373cc2ab5b044ef55bd386cdb5baf627c6aa
parentd066f50d95b96ea36bd163db3ddea496824df7e1 (diff)
downloadpackages-1c3faa045f6dd93d8764f6e9482e8bd725fe388b.tar.gz
packages-1c3faa045f6dd93d8764f6e9482e8bd725fe388b.tar.bz2
packages-1c3faa045f6dd93d8764f6e9482e8bd725fe388b.tar.xz
packages-1c3faa045f6dd93d8764f6e9482e8bd725fe388b.zip
user/mozjs: fix build on 64-bit ARM
-rw-r--r--user/mozjs/APKBUILD4
-rw-r--r--user/mozjs/arm64.patch60
2 files changed, 63 insertions, 1 deletions
diff --git a/user/mozjs/APKBUILD b/user/mozjs/APKBUILD
index 7760654b5..e9b3958ac 100644
--- a/user/mozjs/APKBUILD
+++ b/user/mozjs/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=mozjs
pkgver=52.4.0
-pkgrel=1
+pkgrel=2
pkgdesc="Standalone JavaScript interpreter from Mozilla"
url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
arch="all"
@@ -18,6 +18,7 @@ source="https://distfiles.adelielinux.org/source/mozilla/mozjs-$pkgver.tar.bz2
0006-Disable-MOZ_GLUE_IN_PROGRAM-in-stand-alone-builds-on.patch
0008-tests-Skip-on-all-64-bit-archs.patch
0009-build-Include-configure-script-be-nicer-about-option.patch
+ arm64.patch
baseconfig.patch
dont-fail-tests-without-ion.patch
python3.patch
@@ -68,6 +69,7 @@ edbec26bff4fb91911b1dafc566d4cf37635e9039a1cbd527543d74765d1c96bcfae71fe4f9a66c6
d9acf4570a073a2151e19ad854e72ff927d050b532f04367bf49fb0c98f8eb544e9f6c455b1411d09a8a3034a2be62e23b7f9080fac9249e4132e85f2245d474 0006-Disable-MOZ_GLUE_IN_PROGRAM-in-stand-alone-builds-on.patch
a95e91ffa3693ac2ac81eddee2e490b4acfb5ae0381a291b1916afc0d91fb00b95457fde0efe62905025fe425c18d5363c5e6ad1bb121645b29a14f6c76c0489 0008-tests-Skip-on-all-64-bit-archs.patch
2556f3322c5bc39c1efbbbd19b6843cf69b63a0255e8e3617f58b229e75ac221b6cb57fce15452cd1f25498c66f29f588f38c10c175b82c6fe163faaa7e3e2b0 0009-build-Include-configure-script-be-nicer-about-option.patch
+63806e54fe7530703420fd070a8ef38b46cd185991a6d66dc2c1ec588f2b271883120b8e16d1a898eb6ddb41569d719f857e71f9e16e839962527cee1f47c41e arm64.patch
22870d6ee8a0a0b4359d78173aef0ade49063bfad495fd40815852684a1cdf17f9f50585e0d693eb712c2a2225ea43c4387cf454f3b9bd39e01899f3936775f1 baseconfig.patch
6ebaf6fd24f1987020ad0da82cd2ff878e5c27997ac45a571899f492b435d12e32274eac35e2d571775b6f6bdce24f8e7a968088da61329e2cd36dfc762a0156 dont-fail-tests-without-ion.patch
66a894b4878797438ac1361b892df4df45fe0c990e9540235336116a2dbfcc5d787a3076dca323b8252fb8cb6e39a61819fc0d4ce1491fb9e4d07c912fdf9e4d python3.patch"
diff --git a/user/mozjs/arm64.patch b/user/mozjs/arm64.patch
new file mode 100644
index 000000000..df1c8cc7e
--- /dev/null
+++ b/user/mozjs/arm64.patch
@@ -0,0 +1,60 @@
+
+# HG changeset patch
+# User Jim Chen <nchen@mozilla.com>
+# Date 1493664360 14400
+# Node ID 042d975f9355f711b058152691a44e458ba252b3
+# Parent fa7165dda22460795afe4ed27ecc57f454a3dfaa
+Bug 1357874 - Add more AArch64 support to JS code; r=luke
+
+* Fix a parentheses warning when compiling testGCAllocator.cpp.
+
+* Define GETRANDOM_NR macro for AArch64.
+
+* Disable Android workarounds in jsnativestack.cpp and
+ WasmSignalHandlers.cpp for AArch64, because AArch64 is only supported
+ on API 21+, in which case those workarounds don't apply.
+
+* Enable trace logging in TraceLogging.cpp.
+
+diff --git a/js/src/jsapi-tests/testGCAllocator.cpp b/js/src/jsapi-tests/testGCAllocator.cpp
+--- a/js/src/jsapi-tests/testGCAllocator.cpp
++++ b/js/src/jsapi-tests/testGCAllocator.cpp
+@@ -310,15 +310,15 @@ void unmapPages(void* p, size_t size) {
+ #elif defined(XP_UNIX)
+
+ void*
+ mapMemoryAt(void* desired, size_t length)
+ {
+ #if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || defined(__aarch64__)
+- MOZ_RELEASE_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length - 1) == 0);
++ MOZ_RELEASE_ASSERT((0xffff800000000000ULL & (uintptr_t(desired) + length - 1)) == 0);
+ #endif
+ void* region = mmap(desired, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
+ if (region == MAP_FAILED)
+ return nullptr;
+ if (region != desired) {
+ if (munmap(region, length))
+ MOZ_RELEASE_ASSERT(errno == ENOMEM);
+ return nullptr;
+diff --git a/js/src/vm/TraceLogging.cpp b/js/src/vm/TraceLogging.cpp
+--- a/js/src/vm/TraceLogging.cpp
++++ b/js/src/vm/TraceLogging.cpp
+@@ -56,17 +56,17 @@ rdtsc(void)
+ );
+ result = upper;
+ result = result<<32;
+ result = result|lower;
+
+ return result;
+
+ }
+-#elif defined(__arm__)
++#elif defined(__arm__) || defined(__aarch64__)
+
+ #include <sys/time.h>
+
+ static __inline__ uint64_t
+ rdtsc(void)
+ {
+ struct timeval tv;
+ gettimeofday(&tv, NULL);