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 507476 5c892a6147ae
parent 507475 3ecc407c0cc8
child 507488 f13995099c32
child 507524 e79c7b512fd6
push id10547
push userffxbld-merge
push dateMon, 21 Jan 2019 13:03:58 +0000
treeherdermozilla-beta@24ec1916bffe [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"