--- 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>