Added patch from rhbz#1498561 - second arch (ppc*) crashes.

This commit is contained in:
Martin Stransky 2018-05-16 13:53:39 +02:00
parent face4017f4
commit 8cff86d95d
2 changed files with 34 additions and 1 deletions

View File

@ -102,7 +102,7 @@
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 60.0
Release: 5%{?pre_tag}%{?dist}
Release: 6%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://hg.mozilla.org/releases/mozilla-release/archive/firefox-%{version}%{?pre_version}.source.tar.xz
@ -144,6 +144,8 @@ Patch224: mozilla-1170092.patch
Patch225: mozilla-1005640-accept-lang.patch
#ARM run-time patch
Patch226: rhbz-1354671.patch
# ppc(64)le run-time js patch
Patch227: rhbz-1498561.patch
# Upstream patches
Patch402: mozilla-1196777.patch
@ -318,6 +320,7 @@ This package contains results of tests executed during build.
%ifarch aarch64
%patch226 -p1 -b .1354671
%endif
%patch227 -p1 -b .rhbz-1498561
%patch402 -p1 -b .1196777
%patch406 -p1 -b .256180
@ -870,6 +873,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
* Wed May 16 2018 Martin Stransky <stransky@redhat.com> - 60.0-6
- Added patch from rhbz#1498561 - second arch (ppc*) crashes.
* Wed May 16 2018 Martin Stransky <stransky@redhat.com> - 60.0-5
- Disabled jemalloc on second arches.

27
rhbz-1498561.patch Normal file
View File

@ -0,0 +1,27 @@
diff -up firefox-60.0/js/src/wasm/WasmSignalHandlers.cpp.rhbz-1498561 firefox-60.0/js/src/wasm/WasmSignalHandlers.cpp
--- firefox-60.0/js/src/wasm/WasmSignalHandlers.cpp.rhbz-1498561 2018-05-16 13:45:46.014042224 +0200
+++ firefox-60.0/js/src/wasm/WasmSignalHandlers.cpp 2018-05-16 13:50:48.834887034 +0200
@@ -181,6 +181,12 @@ struct AutoSignalHandler
# define FP_sig(p) ((p)->uc_mcontext.mc_fp)
# define SP_sig(p) ((p)->uc_mcontext.mc_i7)
# endif
+# if defined(__linux__) && (defined(__ppc64__) || defined (__PPC64__) || defined(__ppc64le__) || defined (__PPC64LE__))
+// powerpc stack frame pointer (SFP or SP or FP)
+# define R01_sig(p) ((p)->uc_mcontext.gp_regs[01])
+// powerpc next instruction pointer (NIP or PC)
+# define R32_sig(p) ((p)->uc_mcontext.gp_regs[32])
+# endif
#elif defined(__NetBSD__)
# define XMM_sig(p,i) (((struct fxsave64*)(p)->uc_mcontext.__fpregs)->fx_xmm[i])
# define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
@@ -426,6 +432,10 @@ struct macos_arm_context {
# define FP_sig(p) RFP_sig(p)
# define SP_sig(p) RSP_sig(p)
# define LR_sig(p) R31_sig(p)
+#elif defined(__ppc64__) || defined (__PPC64__) || defined(__ppc64le__) || defined (__PPC64LE__)
+# define PC_sig(p) R32_sig(p)
+# define SP_sig(p) R01_sig(p)
+# define FP_sig(p) R01_sig(p)
#endif
#if defined(PC_sig) && defined(FP_sig) && defined(SP_sig)