400df2
diff -up firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 firefox-60.0/mfbt/LinuxSignal.h
400df2
--- firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661	2018-04-27 08:55:38.848241768 +0200
400df2
+++ firefox-60.0/mfbt/LinuxSignal.h	2018-04-27 09:06:47.946769859 +0200
400df2
@@ -25,10 +25,13 @@ SignalTrampoline(int aSignal, siginfo_t*
400df2
     "nop; nop; nop; nop"
400df2
     : : : "memory");
400df2
 
400df2
+  // Because the assembler may generate additional insturctions below, we
400df2
+  // need to ensure NOPs are inserted first by separating them out above.
400df2
+
400df2
   asm volatile (
400df2
-    "b %0"
400df2
+    "bx %0"
400df2
     :
400df2
-    : "X"(H)
400df2
+    : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext)
400df2
     : "memory");
400df2
 }
400df2