Date: Tue, 2 May 2017 23:53:47 +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: r439993 - in head/www/firefox: . files Message-ID: <201705022353.v42NrlgJ038203@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Tue May 2 23:53:47 2017 New Revision: 439993 URL: https://svnweb.freebsd.org/changeset/ports/439993 Log: www/firefox: use X29 as frame pointer like aarch64 kernel does Modified: head/www/firefox/Makefile (contents, props changed) head/www/firefox/files/patch-bug1359142 (contents, props changed) Modified: head/www/firefox/Makefile ============================================================================== --- head/www/firefox/Makefile Tue May 2 22:56:14 2017 (r439992) +++ head/www/firefox/Makefile Tue May 2 23:53:47 2017 (r439993) @@ -4,7 +4,7 @@ PORTNAME= firefox DISTVERSION= 53.0 DISTVERSIONSUFFIX=.source -PORTREVISION= 3 +PORTREVISION= 4 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ Modified: head/www/firefox/files/patch-bug1359142 ============================================================================== --- head/www/firefox/files/patch-bug1359142 Tue May 2 22:56:14 2017 (r439992) +++ head/www/firefox/files/patch-bug1359142 Tue May 2 23:53:47 2017 (r439993) @@ -1,13 +1,23 @@ -Define EPC_sig and RFP_sig for JS_CODEGEN_ARM64 on BSDs +Define EPC_sig and RFP_sig for JS_CODEGEN_(ARM64|MIPS) on BSDs diff --git js/src/wasm/WasmSignalHandlers.cpp js/src/wasm/WasmSignalHandlers.cpp -index 3f65bbb44f99..150331f19ea4 100644 +index 1ab76eeb4bd9..bcdff0487837 100644 --- js/src/wasm/WasmSignalHandlers.cpp +++ js/src/wasm/WasmSignalHandlers.cpp -@@ -109,6 +109,10 @@ class AutoSetHandlingSegFault +@@ -108,7 +108,19 @@ class AutoSetHandlingSegFault + # define R12_sig(p) ((p)->sc_r12) # define R13_sig(p) ((p)->sc_r13) # define R14_sig(p) ((p)->sc_r14) - # define R15_sig(p) ((p)->sc_r15) +-# define R15_sig(p) ((p)->sc_r15) ++# if defined(__arm__) ++# define R15_sig(p) ((p)->sc_pc) ++# else ++# define R15_sig(p) ((p)->sc_r15) ++# endif ++# if defined(__aarch64__) ++# define EPC_sig(p) ((p)->sc_elr) ++# define RFP_sig(p) ((p)->sc_x[29]) ++# endif +# if defined(__mips__) +# define EPC_sig(p) ((p)->sc_pc) +# define RFP_sig(p) ((p)->sc_regs[30]) @@ -15,33 +25,29 @@ index 3f65bbb44f99..150331f19ea4 100644 #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 +@@ -171,6 +183,14 @@ 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 EPC_sig(p) ((p)->uc_mcontext.__gregs[_REG_PC]) +# define RFP_sig(p) ((p)->uc_mcontext.__gregs[_REG_X29]) +# endif +# if defined(__mips__) ++# define EPC_sig(p) ((p)->uc_mcontext.__gregs[_REG_EPC]) +# 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]) +@@ -200,6 +220,14 @@ class AutoSetHandlingSegFault # else # define R15_sig(p) ((p)->uc_mcontext.mc_r15) # endif ++# 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[29]) ++# 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])
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201705022353.v42NrlgJ038203>