Index: head/www/firefox/Makefile =================================================================== --- head/www/firefox/Makefile (revision 439992) +++ head/www/firefox/Makefile (revision 439993) @@ -1,76 +1,76 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox DISTVERSION= 53.0 DISTVERSIONSUFFIX=.source -PORTREVISION= 3 +PORTREVISION= 4 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build6/source MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.13.1:devel/nspr \ nss>=3.29.5:security/nss \ libevent>=2.0.21_2:devel/libevent \ harfbuzz>=1.4.1:print/harfbuzz \ graphite2>=1.3.8:graphics/graphite2 \ png>=1.6.28:graphics/png \ libvorbis>=1.3.5,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.17.0:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ yasm:devel/yasm \ zip:archivers/zip # soundtouch>=1.9.0:audio/soundtouch \ LIB_DEPENDS= libv4l2.so:multimedia/libv4l USE_GECKO= gecko CONFLICTS_INSTALL= firefox-esr-45.* firefox-esr-3[18].* firefox-esr-24.* MOZ_PKGCONFIG_FILES= # empty USE_MOZILLA= -soundtouch MOZILLA_NAME= Firefox USE_GL= gl USES= tar:xz FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png MOZ_OPTIONS= --enable-application=browser \ --enable-official-branding OPTIONS_DEFINE= RUST OPTIONS_DEFAULT= BUNDLED_CAIRO # XXX lang/rust and devel/cargo currently build only on these platforms OPTIONS_DEFAULT_amd64= RUST OPTIONS_DEFAULT_i386= RUST .include "${.CURDIR}/../../www/firefox/Makefile.options" WRKSRC:= ${WRKDIR}/${PORTNAME}-${DISTVERSION} post-extract: @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \ -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \ <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${STAGEDIR}${PREFIX}/share/applications/ ${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON} .include Index: head/www/firefox/files/patch-bug1359142 =================================================================== --- head/www/firefox/files/patch-bug1359142 (revision 439992) +++ head/www/firefox/files/patch-bug1359142 (revision 439993) @@ -1,51 +1,57 @@ -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]) +# 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 +@@ -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]) +# endif #elif defined(XP_DARWIN) # define EIP_sig(p) ((p)->uc_mcontext->__ss.__eip) # define EBP_sig(p) ((p)->uc_mcontext->__ss.__ebp)