Skip site navigation (1)Skip section navigation (2)
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>