Build fixes for arm/aarch64

This commit is contained in:
Martin Stransky 2019-01-30 11:41:01 +01:00
parent 008304da84
commit d22e57232e
2 changed files with 16 additions and 23 deletions

View File

@ -1,19 +1,12 @@
diff -up firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 firefox-60.0/mfbt/LinuxSignal.h diff -up thunderbird-60.5.0/mfbt/LinuxSignal.h.mozilla-1238661 thunderbird-60.5.0/mfbt/LinuxSignal.h
--- firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 2018-04-27 08:55:38.848241768 +0200 --- thunderbird-60.5.0/mfbt/LinuxSignal.h.mozilla-1238661 2019-01-30 11:33:21.447003175 +0100
+++ firefox-60.0/mfbt/LinuxSignal.h 2018-04-27 09:06:47.946769859 +0200 +++ thunderbird-60.5.0/mfbt/LinuxSignal.h 2019-01-30 11:35:13.848537051 +0100
@@ -25,10 +25,13 @@ SignalTrampoline(int aSignal, siginfo_t* @@ -22,7 +22,7 @@ __attribute__((naked)) void SignalTrampo
"nop; nop; nop; nop" void* aContext) {
: : : "memory"); asm volatile("nop; nop; nop; nop" : : : "memory");
+ // Because the assembler may generate additional insturctions below, we - asm volatile("b %0" : : "X"(H) : "memory");
+ // 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");
+
asm volatile (
- "b %0"
+ "bx %0"
:
- : "X"(H)
+ : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext)
: "memory");
} }
#define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>)

View File

@ -1,12 +1,12 @@
diff -up firefox-53.0/layout/base/nsIPresShell.h.1354671 firefox-53.0/layout/base/nsIPresShell.h diff -up firefox-60.5.0/layout/base/nsIPresShell.h.1354671 firefox-60.5.0/layout/base/nsIPresShell.h
--- firefox-53.0/layout/base/nsIPresShell.h.1354671 2017-04-27 13:07:43.808653320 +0200 --- firefox-60.5.0/layout/base/nsIPresShell.h.1354671 2019-01-22 16:08:40.796539950 +0100
+++ firefox-53.0/layout/base/nsIPresShell.h 2017-04-27 13:09:40.404427641 +0200 +++ firefox-60.5.0/layout/base/nsIPresShell.h 2019-01-22 16:10:25.106069228 +0100
@@ -212,7 +212,7 @@ public: @@ -204,7 +204,7 @@ class nsIPresShell : public nsStubDocume
* to the same aSize value. AllocateFrame is infallible and will abort * to the same aSize value. AllocateFrame is infallible and will abort
* on out-of-memory. * on out-of-memory.
*/ */
- void* AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) - void* AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
+ void* __attribute__((optimize("no-lifetime-dse"))) AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) + void* __attribute__((optimize("no-lifetime-dse"))) AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
{
void* result = mFrameArena.AllocateByFrameID(aID, aSize); void* result = mFrameArena.AllocateByFrameID(aID, aSize);
RecordAlloc(result); RecordAlloc(result);
return result;