diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-03-24 22:00:54 +0000 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-03-24 22:00:54 +0000 |
commit | 1c3faa045f6dd93d8764f6e9482e8bd725fe388b (patch) | |
tree | c9b0373cc2ab5b044ef55bd386cdb5baf627c6aa /user/mozjs/arm64.patch | |
parent | d066f50d95b96ea36bd163db3ddea496824df7e1 (diff) | |
download | packages-1c3faa045f6dd93d8764f6e9482e8bd725fe388b.tar.gz packages-1c3faa045f6dd93d8764f6e9482e8bd725fe388b.tar.bz2 packages-1c3faa045f6dd93d8764f6e9482e8bd725fe388b.tar.xz packages-1c3faa045f6dd93d8764f6e9482e8bd725fe388b.zip |
user/mozjs: fix build on 64-bit ARM
Diffstat (limited to 'user/mozjs/arm64.patch')
-rw-r--r-- | user/mozjs/arm64.patch | 60 |
1 files changed, 60 insertions, 0 deletions
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); |