mozilla-bmo1463035.patch
branchfirefox66
changeset 1089 eca1c1f2fe50
parent 1085 87f893cf45b9
child 1107 a2aa55e10564
--- a/mozilla-bmo1463035.patch	Sun Mar 17 09:57:22 2019 +0100
+++ b/mozilla-bmo1463035.patch	Tue Mar 19 09:48:05 2019 +0100
@@ -3,7 +3,7 @@
 # User Mike Hommey <mh+mozilla@glandium.org>
 # Date 1526871862 -32400
 # Node ID 94f21505ff13cd089f7129cd24927cf8b31a0f43
-# Parent  25ab6bab437517a8a182f1ab77898ae13b26a696
+# Parent  fc741a5ea37dbe145e0ca5f85e5dfb100f3c9091
 Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons
 
 For some reason, GNU as is not happy with the assembly generated after
@@ -12,53 +12,10 @@
 OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this
 workaround anymore, so let's just kill it.
 
-diff --git a/mfbt/LinuxSignal.h b/mfbt/LinuxSignal.h
-deleted file mode 100644
---- a/mfbt/LinuxSignal.h
-+++ /dev/null
-@@ -1,38 +0,0 @@
--/* This Source Code Form is subject to the terms of the Mozilla Public
-- * License, v. 2.0. If a copy of the MPL was not distributed with this
-- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
--
--#ifndef mozilla_LinuxSignal_h
--#define mozilla_LinuxSignal_h
--
--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
 diff --git a/mfbt/moz.build b/mfbt/moz.build
 --- a/mfbt/moz.build
 +++ b/mfbt/moz.build
-@@ -124,20 +124,16 @@ EXPORTS["double-conversion"] = [
+@@ -122,20 +122,16 @@ EXPORTS["double-conversion"] = [
  LOCAL_INCLUDES += [
      '/mfbt/double-conversion',
  ]
@@ -84,9 +41,9 @@
 +++ b/tools/profiler/core/platform-linux-android.cpp
 @@ -55,17 +55,16 @@
  #ifdef __GLIBC__
- #include <execinfo.h>  // backtrace, backtrace_symbols
- #endif                 // def __GLIBC__
- #include <strings.h>   // index
+ #  include <execinfo.h>  // backtrace, backtrace_symbols
+ #endif                   // def __GLIBC__
+ #include <strings.h>     // index
  #include <errno.h>
  #include <stdarg.h>