diff options
Diffstat (limited to 'dev-lang/spidermonkey/files')
-rw-r--r-- | dev-lang/spidermonkey/files/spidermonkey-68.0-loong-support.patch | 103 | ||||
-rw-r--r-- | dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt | 3 |
2 files changed, 106 insertions, 0 deletions
diff --git a/dev-lang/spidermonkey/files/spidermonkey-68.0-loong-support.patch b/dev-lang/spidermonkey/files/spidermonkey-68.0-loong-support.patch new file mode 100644 index 000000000000..f7010d5ebf32 --- /dev/null +++ b/dev-lang/spidermonkey/files/spidermonkey-68.0-loong-support.patch @@ -0,0 +1,103 @@ +https://raw.githubusercontent.com/xen0n/loongson-overlay/00901fd4c599ec320c7852cbd30b40d3f6aa8971/dev-lang/spidermonkey/files/spidermonkey-68.0-add-loongarch64-support.patch + +--- a/build/moz.configure/init.configure ++++ b/build/moz.configure/init.configure +@@ -734,6 +734,9 @@ def split_triplet(triplet, allow_unknown + elif cpu == 'sh4': + canonical_cpu = 'sh4' + endianness = 'little' ++ elif cpu == 'loongarch64': ++ canonical_cpu = 'loongarch64' ++ endianness = 'little' + elif allow_unknown: + canonical_cpu = cpu + endianness = 'unknown' +--- a/js/src/jit/AtomicOperations.h ++++ b/js/src/jit/AtomicOperations.h +@@ -382,6 +382,9 @@ inline bool AtomicOperations::isLockfree + # else + # include "jit/shared/AtomicOperations-feeling-lucky.h" + # endif ++#elif defined(__loongarch64) ++// This is only here to avoid merge conflict with spidermonkey-68.0-add-riscv-support.patch. ++# include "jit/shared/AtomicOperations-feeling-lucky.h" + #elif defined(__mips__) + # if defined(__clang__) || defined(__GNUC__) + # include "jit/mips-shared/AtomicOperations-mips-shared.h" +--- a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h ++++ b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h +@@ -57,6 +57,11 @@ + # define HAS_64BIT_LOCKFREE + #endif + ++#ifdef __loongarch64 ++# define HAS_64BIT_ATOMICS ++# define HAS_64BIT_LOCKFREE ++#endif ++ + #if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \ + defined(__PPC64LE__) + # define HAS_64BIT_ATOMICS +--- a/mfbt/tests/TestPoisonArea.cpp ++++ b/mfbt/tests/TestPoisonArea.cpp +@@ -127,6 +127,9 @@ + #elif defined __arm__ || defined _M_ARM + # define RETURN_INSTR 0xE12FFF1E /* bx lr */ + ++#elif defined __loongarch__ ++# define RETURN_INSTR 0x4c000020 /* jirl zero, ra, 0 */ ++ + // PPC has its own style of CPU-id #defines. There is no Windows for + // PPC as far as I know, so no _M_ variant. + #elif defined _ARCH_PPC || defined _ARCH_PWR || defined _ARCH_PWR2 +--- a/python/mozbuild/mozbuild/configure/constants.py ++++ b/python/mozbuild/mozbuild/configure/constants.py +@@ -46,6 +46,7 @@ CPU_bitness = { + 'arm': 32, + 'hppa': 32, + 'ia64': 64, ++ 'loongarch64': 64, + 'mips32': 32, + 'mips64': 64, + 'ppc': 32, +@@ -78,6 +79,7 @@ CPU_preprocessor_checks = OrderedDict(( + ('arm', '__arm__ || _M_ARM'), + ('aarch64', '__aarch64__ || _M_ARM64'), + ('ia64', '__ia64__'), ++ ('loongarch64', '__loongarch64'), + ('s390x', '__s390x__'), + ('s390', '__s390__'), + ('ppc64', '__powerpc64__'), +--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py ++++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py +@@ -1068,6 +1068,10 @@ class LinuxCrossCompileToolchainTest(Bas + 'ia64-unknown-linux-gnu': little_endian + { + '__ia64__': 1, + }, ++ 'loongarch64-unknown-linux-gnu': little_endian + { ++ '__loongarch__': 1, ++ '__loongarch64': 1, ++ }, + 's390x-unknown-linux-gnu': big_endian + { + '__s390x__': 1, + '__s390__': 1, +--- a/intl/icu/source/i18n/double-conversion-utils.h ++++ b/intl/icu/source/i18n/double-conversion-utils.h +@@ -117,6 +117,7 @@ int main(int argc, char** argv) { + #if defined(_M_X64) || defined(__x86_64__) || \ + defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ + defined(__hppa__) || defined(__ia64__) || \ ++ defined(__loongarch__) || \ + defined(__mips__) || \ + defined(__nios2__) || defined(__ghs) || \ + defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \ +--- a/mfbt/double-conversion/double-conversion/utils.h ++++ b/mfbt/double-conversion/double-conversion/utils.h +@@ -117,6 +117,7 @@ int main(int argc, char** argv) { + #if defined(_M_X64) || defined(__x86_64__) || \ + defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ + defined(__hppa__) || defined(__ia64__) || \ ++ defined(__loongarch__) || \ + defined(__mips__) || \ + defined(__nios2__) || defined(__ghs) || \ + defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \ diff --git a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt index 17e2631e25d2..02bf6c93fc9a 100644 --- a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt +++ b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt @@ -8,12 +8,15 @@ non262/Intl/Date/toLocaleDateString_timeZone.js non262/Intl/Date/toLocaleString_timeZone.js non262/Intl/Date/toLocaleTimeString_timeZone.js non262/Intl/DateTimeFormat/day-period-hour-cycle.js +non262/Intl/DateTimeFormat/extended-time-zone-names.js non262/Intl/DateTimeFormat/format.js non262/Intl/DateTimeFormat/format_timeZone.js non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js +non262/Intl/DateTimeFormat/implied-script-has-consistent-output.js non262/Intl/DateTimeFormat/japanese-gannen-year.js non262/Intl/DateTimeFormat/related-year.js non262/Intl/DateTimeFormat/timeZone_backward_links.js +non262/Intl/DateTimeFormat/timeZone_version.js non262/Intl/DateTimeFormat/tz-environment-variable.js non262/Intl/DisplayNames/language.js non262/Intl/DisplayNames/region.js |