summaryrefslogtreecommitdiff
path: root/mozilla-1512162.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mozilla-1512162.patch')
-rw-r--r--mozilla-1512162.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/mozilla-1512162.patch b/mozilla-1512162.patch
new file mode 100644
index 0000000..a246a3e
--- /dev/null
+++ b/mozilla-1512162.patch
@@ -0,0 +1,26 @@
+diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrappedNative.cpp
+--- a/js/xpconnect/src/XPCWrappedNative.cpp
++++ b/js/xpconnect/src/XPCWrappedNative.cpp
+@@ -1157,6 +1157,10 @@
+ return helper.get().Call();
+ }
+
++#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
++// Work around a compiler bug on ppc64le (bug 1512162).
++__attribute__ ((noinline,noclone))
++#endif
+ bool CallMethodHelper::Call() {
+ mCallContext.SetRetVal(JS::UndefinedValue());
+
+@@ -1315,6 +1319,10 @@
+ return true;
+ }
+
++#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
++// Work around a compiler bug on ppc64le (bug 1512162).
++__attribute__ ((noinline,noclone))
++#endif
+ bool CallMethodHelper::GatherAndConvertResults() {
+ // now we iterate through the native params to gather and convert results
+ uint8_t paramCount = mMethodInfo->GetParamCount();
+
bgstack15