Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Apr 2017 14:34:39 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org
Subject:   svn commit: r439552 - branches/2017Q2/www/firefox/files
Message-ID:  <201704271434.v3REYdQL005941@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Thu Apr 27 14:34:39 2017
New Revision: 439552
URL: https://svnweb.freebsd.org/changeset/ports/439552

Log:
  MFH: r439551
  
  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
  Approved by:	ports-secteam blanket

Added:
  branches/2017Q2/www/firefox/files/patch-bug1359051
     - copied unchanged from r439551, head/www/firefox/files/patch-bug1359051
  branches/2017Q2/www/firefox/files/patch-bug1359142
     - copied unchanged from r439551, head/www/firefox/files/patch-bug1359142
Modified:
Directory Properties:
  branches/2017Q2/   (props changed)

Copied: branches/2017Q2/www/firefox/files/patch-bug1359051 (from r439551, head/www/firefox/files/patch-bug1359051)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2017Q2/www/firefox/files/patch-bug1359051	Thu Apr 27 14:34:39 2017	(r439552, copy of r439551, head/www/firefox/files/patch-bug1359051)
@@ -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);

Copied: branches/2017Q2/www/firefox/files/patch-bug1359142 (from r439551, head/www/firefox/files/patch-bug1359142)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2017Q2/www/firefox/files/patch-bug1359142	Thu Apr 27 14:34:39 2017	(r439552, copy of r439551, head/www/firefox/files/patch-bug1359142)
@@ -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?201704271434.v3REYdQL005941>