Bug 1512162 - Reenable stack protection for ppc64le in XPConnect. r=bholley
authorCameron Kaiser <spectre@floodgap.com>
Wed, 27 Feb 2019 19:31:08 -0800
changeset 519796 e097bf9457c31adfe082dd38397f0794a674a746
parent 519795 53c9ecc53bbfb67ba5d90271398bf54cb80a5f25
child 519797 d4e19870e27fbe3552bec2b961acc96f3222ea80
child 519965 b8397ea9e6b82c9c0ba8bcd02b832d8d131b77a1
push id10862
push userffxbld-merge
push dateMon, 11 Mar 2019 13:01:11 +0000
treeherdermozilla-beta@a2e7f5c935da [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbholley
bugs1512162
milestone67.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1512162 - Reenable stack protection for ppc64le in XPConnect. r=bholley
js/xpconnect/src/XPCWrappedNative.cpp
--- a/js/xpconnect/src/XPCWrappedNative.cpp
+++ b/js/xpconnect/src/XPCWrappedNative.cpp
@@ -1,24 +1,16 @@
 /* -*- 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).
-#  define MOZ_GCC_STACK_PROTECTOR_DISABLED 1  // removed at end of file
-#  pragma GCC push_options
-#  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"
@@ -1832,15 +1824,8 @@ static void DEBUG_CheckClassInfoClaims(X
       free(className);
     }
     if (contractID) {
       free(contractID);
     }
   }
 }
 #endif
-
-#if (MOZ_GCC_STACK_PROTECTOR_DISABLED)
-// Reenable stack protection in following modules, if we disabled it
-// (bug 1512162).
-#  pragma GCC pop_options
-#  undef MOZ_GCC_STACK_PROTECTOR_DISABLED
-#endif