LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File mozilla-s390-nojit.patch of Package firefox52esr (Project home:draht:131-compat)

# HG changeset patch
# Parent 83e56a45f3fec6e2bf71f83bfe911c5fe69b153f
# Parent  9cb45deaabdfa492dc477005f8a35fe1795e029f
Use atomic operations from ppc on s390 to prevent crashes in MOZ_CRASH() when
JIT is disabled

diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
--- a/js/src/jit/AtomicOperations.h
+++ b/js/src/jit/AtomicOperations.h
@@ -332,17 +332,17 @@ AtomicOperations::isLockfree(int32_t siz
 # include "jit/none/AtomicOperations-sparc.h"
 #elif defined(JS_CODEGEN_NONE)
   // You can disable the JIT with --disable-ion but you must still
   // provide the atomic operations that will be used by the JS engine.
   // When the JIT is disabled the operations are simply safe-for-races
   // C++ realizations of atomics.  These operations cannot be written
   // in portable C++, hence the default here is to crash.  See the
   // top of the file for more guidance.
-# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)
+# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__) || defined(__s390x__) || defined(__s390__)
 #  include "jit/none/AtomicOperations-ppc.h"
 # elif defined(__aarch64__)
 #  include "jit/arm64/AtomicOperations-arm64.h"
 # else
 #  include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always
 # endif
 #elif defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64)
 # include "jit/x86-shared/AtomicOperations-x86-shared.h"