16 lines
773 B
Diff
16 lines
773 B
Diff
diff -up firefox-68.0/mfbt/LinuxSignal.h.1238661 firefox-68.0/mfbt/LinuxSignal.h
|
|
--- firefox-68.0/mfbt/LinuxSignal.h.1238661 2019-07-08 22:27:29.620749569 +0200
|
|
+++ firefox-68.0/mfbt/LinuxSignal.h 2019-07-08 22:44:17.794112428 +0200
|
|
@@ -22,7 +22,10 @@ __attribute__((naked)) void SignalTrampo
|
|
void* aContext) {
|
|
asm volatile("nop; nop; nop; nop" : : : "memory");
|
|
|
|
- asm volatile("b %0" : : "X"(H) : "memory");
|
|
+ // Because the assembler may generate additional insturctions below, we
|
|
+ // need to ensure NOPs are inserted first by separating them out above.
|
|
+
|
|
+ asm volatile("bx %0" : : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext) : "memory");
|
|
}
|
|
|
|
# define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>)
|