Bug 1512162: Disable stack protection for a portion of XPConnect on ppc64le due to a compiler bug. r=bholley
authorCameron Kaiser <spectre@floodgap.com>
Wed, 12 Dec 2018 18:52:08 -0800
changeset 450373 5c892a6147ae856f208e77c265eda4d7b677ac52
parent 450372 3ecc407c0cc8705ba7b60fbbe8964e794c0a5651
child 450374 e79c7b512fd6d5ada535da090ded8fa87b8f5f98
child 450418 f13995099c32c7137fcfbb7b9101aff6c44084bd
push id110480
push usernbeleuzu@mozilla.com
push dateThu, 13 Dec 2018 07:03:12 +0000
treeherdermozilla-inbound@5c892a6147ae [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbholley
bugs1512162
milestone66.0a1
first release with
nightly linux32
5c892a6147ae / 66.0a1 / 20181213094243 / files
nightly linux64
5c892a6147ae / 66.0a1 / 20181213094243 / files
nightly mac
5c892a6147ae / 66.0a1 / 20181213094243 / files
nightly win32
5c892a6147ae / 66.0a1 / 20181213094243 / files
nightly win64
5c892a6147ae / 66.0a1 / 20181213094243 / files
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1512162: Disable stack protection for a portion of XPConnect on ppc64le due to a compiler bug. r=bholley
js/xpconnect/src/XPCWrappedNative.cpp
--- a/js/xpconnect/src/XPCWrappedNative.cpp
+++ b/js/xpconnect/src/XPCWrappedNative.cpp
@@ -1,16 +1,22 @@
 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 /* 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/. */
 
 /* Wrapper object for reflecting native xpcom objects into JavaScript. */
 
+#if(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
+// Stack protection generates incorrect code currently with gcc on ppc64le
+// (bug 1512162).
+#pragma GCC optimize("no-stack-protector")
+#endif
+
 #include "xpcprivate.h"
 #include "mozilla/jsipc/CrossProcessObjectWrappers.h"
 #include "nsWrapperCacheInlines.h"
 #include "XPCLog.h"
 #include "js/MemoryFunctions.h"
 #include "js/Printf.h"
 #include "jsfriendapi.h"
 #include "AccessCheck.h"