Date: Thu, 27 Apr 2017 14:32:09 +0000 (UTC) From: Jan Beich <jbeich@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r439551 - head/www/firefox/files Message-ID: <201704271432.v3REW9TF004793@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Thu Apr 27 14:32:09 2017 New Revision: 439551 URL: https://svnweb.freebsd.org/changeset/ports/439551 Log: www/firefox: try to unbreak aarch64 after r438264 In file included from /wrkdirs/usr/ports/www/firefox/work/firefox-53.0/obj-aarch64-unknown-freebsd11.0/js/src/Unified_cpp_js_src12.cpp:29: /wrkdirs/usr/ports/www/firefox/work/firefox-53.0/js/src/jit/Ion.cpp:3528:30: error: no member named 'cacheFlush' in 'js::jit::ExecutableAllocator' ExecutableAllocator::cacheFlush((void*)start_, size_t(stop_ - start_)); ~~~~~~~~~~~~~~~~~~~~~^ Reported by: pkg-fallout Added: head/www/firefox/files/patch-bug1359051 (contents, props changed) head/www/firefox/files/patch-bug1359142 (contents, props changed) Added: head/www/firefox/files/patch-bug1359051 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/firefox/files/patch-bug1359051 Thu Apr 27 14:32:09 2017 (r439551) @@ -0,0 +1,31 @@ +commit fe7592e16fcc +Author: Sean Stangl <sstangl@mozilla.com> +Date: Mon Apr 24 07:10:58 2017 -0700 + + Bug 1359051 - Define cacheFlush for non-Simulator ARM64 builds. r=tcampbell +--- + js/src/jit/ExecutableAllocator.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git js/src/jit/ExecutableAllocator.h js/src/jit/ExecutableAllocator.h +index 3a42918142ef..570a25ff0dc3 100644 +--- js/src/jit/ExecutableAllocator.h ++++ js/src/jit/ExecutableAllocator.h +@@ -259,7 +259,7 @@ class ExecutableAllocator + { + __clear_cache(code, reinterpret_cast<char*>(code) + size); + } +-#elif defined(JS_CODEGEN_ARM) && defined(XP_IOS) ++#elif (defined(JS_CODEGEN_ARM) || defined(JS_CODEGEN_ARM64)) && defined(XP_IOS) + static void cacheFlush(void* code, size_t size) + { + sys_icache_invalidate(code, size); +@@ -297,7 +297,7 @@ class ExecutableAllocator + : "r0", "r1", "r2"); + } + } +-#elif defined(JS_CODEGEN_ARM64) && (defined(__linux__) || defined(ANDROID)) && defined(__GNUC__) ++#elif defined(JS_CODEGEN_ARM64) + static void cacheFlush(void* code, size_t size) + { + vixl::CPU::EnsureIAndDCacheCoherency(code, size); Added: head/www/firefox/files/patch-bug1359142 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/firefox/files/patch-bug1359142 Thu Apr 27 14:32:09 2017 (r439551) @@ -0,0 +1,51 @@ +Define EPC_sig and RFP_sig for JS_CODEGEN_ARM64 on BSDs + +diff --git js/src/wasm/WasmSignalHandlers.cpp js/src/wasm/WasmSignalHandlers.cpp +index 3f65bbb44f99..150331f19ea4 100644 +--- js/src/wasm/WasmSignalHandlers.cpp ++++ js/src/wasm/WasmSignalHandlers.cpp +@@ -109,6 +109,10 @@ class AutoSetHandlingSegFault + # define R13_sig(p) ((p)->sc_r13) + # define R14_sig(p) ((p)->sc_r14) + # define R15_sig(p) ((p)->sc_r15) ++# if defined(__mips__) ++# define EPC_sig(p) ((p)->sc_pc) ++# define RFP_sig(p) ((p)->sc_regs[30]) ++# endif + #elif defined(__linux__) || defined(SOLARIS) + # if defined(__linux__) + # define XMM_sig(p,i) ((p)->uc_mcontext.fpregs->_xmm[i]) +@@ -171,6 +175,13 @@ class AutoSetHandlingSegFault + # define R13_sig(p) ((p)->uc_mcontext.__gregs[_REG_R13]) + # define R14_sig(p) ((p)->uc_mcontext.__gregs[_REG_R14]) + # define R15_sig(p) ((p)->uc_mcontext.__gregs[_REG_R15]) ++# define EPC_sig(p) ((p)->uc_mcontext.__gregs[_REG_PC]) ++# if defined(__aarch64__) ++# define RFP_sig(p) ((p)->uc_mcontext.__gregs[_REG_X29]) ++# endif ++# if defined(__mips__) ++# define RFP_sig(p) ((p)->uc_mcontext.__gregs[_REG_S8]) ++# endif + #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) + # if defined(__DragonFly__) + # define XMM_sig(p,i) (((union savefpu*)(p)->uc_mcontext.mc_fpregs)->sv_xmm.sv_xmm[i]) +@@ -195,11 +206,19 @@ class AutoSetHandlingSegFault + # define R12_sig(p) ((p)->uc_mcontext.mc_r12) + # define R13_sig(p) ((p)->uc_mcontext.mc_r13) + # define R14_sig(p) ((p)->uc_mcontext.mc_r14) ++# if defined(__FreeBSD__) && defined(__aarch64__) ++# define EPC_sig(p) ((p)->uc_mcontext.mc_gpregs.gp_elr) ++# define RFP_sig(p) ((p)->uc_mcontext.mc_gpregs.gp_x[19]) ++# endif + # if defined(__FreeBSD__) && defined(__arm__) + # define R15_sig(p) ((p)->uc_mcontext.__gregs[_REG_R15]) + # else + # define R15_sig(p) ((p)->uc_mcontext.mc_r15) + # endif ++# if defined(__FreeBSD__) && defined(__mips__) ++# define EPC_sig(p) ((p)->uc_mcontext.mc_pc) ++# define RFP_sig(p) ((p)->uc_mcontext.mc_regs[30]) ++# endif + #elif defined(XP_DARWIN) + # define EIP_sig(p) ((p)->uc_mcontext->__ss.__eip) + # define EBP_sig(p) ((p)->uc_mcontext->__ss.__ebp)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201704271432.v3REW9TF004793>