diff options
Diffstat (limited to 'gnu/packages/patches/mozjs60-riscv64-support.patch')
-rw-r--r-- | gnu/packages/patches/mozjs60-riscv64-support.patch | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/gnu/packages/patches/mozjs60-riscv64-support.patch b/gnu/packages/patches/mozjs60-riscv64-support.patch deleted file mode 100644 index c9fa2ba9b3..0000000000 --- a/gnu/packages/patches/mozjs60-riscv64-support.patch +++ /dev/null @@ -1,122 +0,0 @@ -This is a combination of several upstream patches which weren't accepted. -They were proposed by Fedora for spidermonkey 52 and were ultimately -accepted years later after some changes for a later version. It was -adapted slightly from both sets of patches to apply cleanly to mozjs-60. - -https://bugzilla.mozilla.org/show_bug.cgi?id=1318905 -https://bug1318905.bmoattachments.org/attachment.cgi?id=8812602 -https://bug1318905.bmoattachments.org/attachment.cgi?id=8812603 -https://bug1318905.bmoattachments.org/attachment.cgi?id=8812604 -https://phabricator.services.mozilla.com/D78623 -https://phabricator.services.mozilla.com/D78624 -https://phabricator.services.mozilla.com/D78625 - - -diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure -index 83b8d705..59131525 100644 ---- a/build/moz.configure/init.configure -+++ b/build/moz.configure/init.configure -@@ -676,6 +676,9 @@ def split_triplet(triplet, allow_unknown=False): - elif cpu == 'sh4': - canonical_cpu = 'sh4' - endianness = 'little' -+ elif cpu.startswith('riscv64'): -+ canonical_cpu = 'riscv64' -+ endianness = 'little' - elif allow_unknown: - canonical_cpu = cpu - endianness = 'unknown' -diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h -index a8970b0d..6b947a3f 100644 ---- a/js/src/jit/AtomicOperations.h -+++ b/js/src/jit/AtomicOperations.h -@@ -375,7 +375,7 @@ AtomicOperations::isLockfreeJS(int32_t size) - # endif - #elif defined(__ppc__) || defined(__PPC__) - # include "jit/none/AtomicOperations-feeling-lucky.h" --#elif defined(__sparc__) -+#elif defined(__sparc__) || defined(__riscv) - # include "jit/none/AtomicOperations-feeling-lucky.h" - #elif defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__) - # include "jit/none/AtomicOperations-feeling-lucky.h" -diff --git a/js/src/jit/none/AtomicOperations-feeling-lucky.h b/js/src/jit/none/AtomicOperations-feeling-lucky.h -index da572284..6ce40c89 100644 ---- a/js/src/jit/none/AtomicOperations-feeling-lucky.h -+++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h -@@ -49,6 +49,12 @@ - # define GNUC_COMPATIBLE - #endif - -+#if defined(__riscv) && __riscv_xlen == 64 -+# define HAS_64BIT_ATOMICS -+# define HAS_64BIT_LOCKFREE -+# define GNUC_COMPATIBLE -+#endif -+ - #ifdef __sparc__ - # define GNUC_COMPATIBLE - # ifdef __LP64__ -diff --git a/js/src/jit/none/MacroAssembler-none.h b/js/src/jit/none/MacroAssembler-none.h -index 80143dc8..b430fedb 100644 ---- a/js/src/jit/none/MacroAssembler-none.h -+++ b/js/src/jit/none/MacroAssembler-none.h -@@ -402,6 +402,10 @@ class MacroAssemblerNone : public Assembler - #endif - }; - -+ struct AutoPrepareForPatching { -+ explicit AutoPrepareForPatching(MacroAssemblerNone&) {} -+ }; -+ - typedef MacroAssemblerNone MacroAssemblerSpecific; - - class ABIArgGenerator -diff --git a/mfbt/tests/TestPoisonArea.cpp b/mfbt/tests/TestPoisonArea.cpp -index 06c24ed0..c3fed0df 100644 ---- a/mfbt/tests/TestPoisonArea.cpp -+++ b/mfbt/tests/TestPoisonArea.cpp -@@ -160,6 +160,9 @@ - #elif defined __aarch64__ - #define RETURN_INSTR 0xd65f03c0 /* ret */ - -+#elif defined __riscv -+#define RETURN_INSTR 0x80828082 /* ret; ret */ -+ - #elif defined __ia64 - struct ia64_instr { uint32_t mI[4]; }; - static const ia64_instr _return_instr = -diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py -index 33ae5a45..11a01d3b 100644 ---- a/python/mozbuild/mozbuild/configure/constants.py -+++ b/python/mozbuild/mozbuild/configure/constants.py -@@ -50,6 +50,7 @@ CPU_bitness = { - 'mips64': 64, - 'ppc': 32, - 'ppc64': 64, -+ 'riscv64': 64, - 's390': 32, - 's390x': 64, - 'sh4': 32, -@@ -82,6 +84,7 @@ CPU_preprocessor_checks = OrderedDict(( - ('s390', '__s390__'), - ('ppc64', '__powerpc64__'), - ('ppc', '__powerpc__'), -+ ('riscv64', '__riscv && __riscv_xlen == 64'), - ('Alpha', '__alpha__'), - ('hppa', '__hppa__'), - ('sparc64', '__sparc__ && __arch64__'), -diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py -index cb7ff709..9da41adf 100755 ---- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py -+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py -@@ -1165,6 +1165,10 @@ class LinuxCrossCompileToolchainTest(BaseToolchainTest): - 'sh4-unknown-linux-gnu': little_endian + { - '__sh__': 1, - }, -+ 'riscv64-unknown-linux-gnu': little_endian + { -+ '__riscv': 1, -+ '__riscv_xlen': 64, -+ }, - } - - PLATFORMS['powerpc64le-unknown-linux-gnu'] = \ |