summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch19
-rw-r--r--firefox.spec5
2 files changed, 23 insertions, 1 deletions
diff --git a/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch b/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
new file mode 100644
index 0000000..70e45ff
--- /dev/null
+++ b/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
@@ -0,0 +1,19 @@
+diff -up firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 firefox-60.0/mfbt/LinuxSignal.h
+--- firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 2018-04-27 08:55:38.848241768 +0200
++++ firefox-60.0/mfbt/LinuxSignal.h 2018-04-27 09:06:47.946769859 +0200
+@@ -25,10 +25,13 @@ SignalTrampoline(int aSignal, siginfo_t*
+ "nop; nop; nop; nop"
+ : : : "memory");
+
++ // Because the assembler may generate additional insturctions below, we
++ // need to ensure NOPs are inserted first by separating them out above.
++
+ asm volatile (
+- "b %0"
++ "bx %0"
+ :
+- : "X"(H)
++ : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext)
+ : "memory");
+ }
+
diff --git a/firefox.spec b/firefox.spec
index 46b55e9..b092dc5 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -152,6 +152,7 @@ Patch411: mozilla-1321521-2.patch
Patch412: mozilla-1337988.patch
Patch413: mozilla-1353817.patch
Patch414: mozilla-1435212-ffmpeg-4.0.patch
+Patch415: Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
# Debian patches
Patch500: mozilla-440908.patch
@@ -300,7 +301,6 @@ This package contains results of tests executed during build.
%endif
%patch37 -p1 -b .jit-atomic-lucky
%patch40 -p1 -b .aarch64-skia
-
%patch3 -p1 -b .arm
# Fedora patches
@@ -318,6 +318,9 @@ This package contains results of tests executed during build.
%patch406 -p1 -b .256180
%patch413 -p1 -b .1353817
%patch414 -p1 -b .ffmpeg-4.0
+%ifarch %{arm}
+%patch415 -p1 -b .mozilla-1238661
+%endif
# Patch for big endian platforms only
%if 0%{?big_endian}
bgstack15