mozilla-bmo1512162.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Sun, 21 Apr 2024 06:46:25 +0200
branchfirefox124
changeset 1202 28ebbea625bd
parent 1190 2a24a948b5cf
permissions -rw-r--r--
124.0.2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1109
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
# HG changeset patch
1152
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
     2
# Parent  f9f5af4c88f2f3172a4f30d7e42bd2131bf24146
1109
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     3
This fixes a broken build for gcc < 9 on ppc64le.
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
This patch can be removed for newer gcc-versions.
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
1190
2a24a948b5cf Firefox 115.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1152
diff changeset
     6
Index: firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
2a24a948b5cf Firefox 115.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1152
diff changeset
     7
===================================================================
2a24a948b5cf Firefox 115.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1152
diff changeset
     8
--- firefox-115.0.orig/js/xpconnect/src/XPCWrappedNative.cpp
2a24a948b5cf Firefox 115.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1152
diff changeset
     9
+++ firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
2a24a948b5cf Firefox 115.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1152
diff changeset
    10
@@ -1061,7 +1061,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
1109
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    11
   MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    12
                                            MutableHandleValue srcp) const;
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    13
 
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    14
-  MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    15
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    16
+// Work around a compiler bug on ppc64le (bug 1512162).
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    17
+  MOZ_ALWAYS_INLINE
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    18
+#endif
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    19
+  bool GatherAndConvertResults();
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
 
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
   MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    22
 
1190
2a24a948b5cf Firefox 115.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1152
diff changeset
    23
@@ -1108,7 +1112,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
1109
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    24
 
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    25
   ~CallMethodHelper();
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    26
 
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    27
-  MOZ_ALWAYS_INLINE bool Call();
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    28
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    29
+// Work around a compiler bug on ppc64le (bug 1512162).
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    30
+  MOZ_ALWAYS_INLINE
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    31
+#endif
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    32
+  bool Call();
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    33
 
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    34
   // Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
972f68ac6b1a Firefox 69.0 as released to Factory/Tumbleweed
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    35
   void trace(JSTracer* aTrc);