mozilla-bmo1512162.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Sat, 14 Sep 2019 10:56:02 +0200
branchfirefox69
changeset 1109 972f68ac6b1a
child 1123 7fa561e5d7c7
permissions -rw-r--r--
Firefox 69.0 as released to Factory/Tumbleweed (including fixes for arch specific patches)

# HG changeset patch
# Parent  e5858dc7ab007042436496f7cfb9a5abf10f5082
This fixes a broken build for gcc < 9 on ppc64le.
This patch can be removed for newer gcc-versions.

diff -r e5858dc7ab00 -r 5d3469aabe61 js/xpconnect/src/XPCWrappedNative.cpp
--- a/js/xpconnect/src/XPCWrappedNative.cpp	Thu Nov 29 10:07:29 2018 +0100
+++ b/js/xpconnect/src/XPCWrappedNative.cpp	Tue Sep 10 12:42:13 2019 +0200
@@ -1092,7 +1092,11 @@
   MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
                                            MutableHandleValue srcp) const;
 
-  MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
+// Work around a compiler bug on ppc64le (bug 1512162).
+  MOZ_ALWAYS_INLINE
+#endif
+  bool GatherAndConvertResults();
 
   MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
 
@@ -1139,7 +1143,11 @@
 
   ~CallMethodHelper();
 
-  MOZ_ALWAYS_INLINE bool Call();
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
+// Work around a compiler bug on ppc64le (bug 1512162).
+  MOZ_ALWAYS_INLINE
+#endif
+  bool Call();
 
   // Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
   void trace(JSTracer* aTrc);