Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-updates-src > by-pkgid > 92e9f71d55800a3afd6a83a56f6102df > files > 34

firefox-68.2.0-1.mga7.src.rpm

--- firefox-66.0.1/mfbt/LinuxSignal.h.1238661	2019-03-28 00:43:19.745113200 +0000
+++ firefox-66.0.1/mfbt/LinuxSignal.h	2019-03-28 00:45:05.824570914 +0000
@@ -7,32 +7,8 @@
 
 namespace mozilla {
 
-#if defined(__arm__)
-
-// Some (old) Linux kernels on ARM have a bug where a signal handler
-// can be called without clearing the IT bits in CPSR first. The result
-// is that the first few instructions of the handler could be skipped,
-// ultimately resulting in crashes. To workaround this bug, the handler
-// on ARM is a trampoline that starts with enough NOP instructions, so
-// that even if the IT bits are not cleared, only the NOP instructions
-// will be skipped over.
-
-template <void (*H)(int, siginfo_t*, void*)>
-__attribute__((naked)) void SignalTrampoline(int aSignal, siginfo_t* aInfo,
-                                             void* aContext) {
-  asm volatile("nop; nop; nop; nop" : : : "memory");
-
-  asm volatile("b %0" : : "X"(H) : "memory");
-}
-
-#  define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>)
-
-#else  // __arm__
-
 #  define MOZ_SIGNAL_TRAMPOLINE(h) (h)
 
-#endif  // __arm__
-
 }  // namespace mozilla
 
 #endif  // mozilla_LinuxSignal_h