From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id EC588158090 for ; Thu, 26 May 2022 00:58:53 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B5B3AE0802; Thu, 26 May 2022 00:58:51 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 9126AE0802 for ; Thu, 26 May 2022 00:58:51 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5DAB3341542 for ; Thu, 26 May 2022 00:58:50 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 52DB1464 for ; Thu, 26 May 2022 00:58:48 +0000 (UTC) From: "WANG Xuerui" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "WANG Xuerui" Message-ID: <1653526536.ba4514f5b434a0a974c6d5ad759f4f6bde11eaaf.xen0n@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/, dev-lang/spidermonkey/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-lang/spidermonkey/files/spidermonkey-68.0-loong-support.patch dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild X-VCS-Directories: dev-lang/spidermonkey/ dev-lang/spidermonkey/files/ X-VCS-Committer: xen0n X-VCS-Committer-Name: WANG Xuerui X-VCS-Revision: ba4514f5b434a0a974c6d5ad759f4f6bde11eaaf X-VCS-Branch: master Date: Thu, 26 May 2022 00:58:48 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 3f492d3c-22fb-46eb-b45a-d57aa330db7b X-Archives-Hash: dfa18610ffb936cd7f0229d46a441b85 commit: ba4514f5b434a0a974c6d5ad759f4f6bde11eaaf Author: WANG Xuerui gentoo org> AuthorDate: Wed May 25 14:32:30 2022 +0000 Commit: WANG Xuerui gentoo org> CommitDate: Thu May 26 00:55:36 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba4514f5 dev-lang/spidermonkey: fix build on loong for 68.12.0-r1 Patch applied here has been running on real loong hardware since late 2021, simple and no problems so far. See: https://github.com/gentoo/gentoo/pull/25632 Acked-by: Joonas Niilola gentoo.org> Signed-off-by: WANG Xuerui gentoo.org> .../files/spidermonkey-68.0-loong-support.patch | 103 +++++++++++++++++++++ .../spidermonkey/spidermonkey-68.12.0-r1.ebuild | 1 + 2 files changed, 104 insertions(+) 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/spidermonkey-68.12.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild index a836814ad075..46cc4b1b3634 100644 --- a/dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild @@ -101,6 +101,7 @@ src_prepare() { eapply "${WORKDIR}"/firefox eapply "${WORKDIR}"/spidermonkey-patches eapply "${FILESDIR}"/spidermonkey-68.0-add-riscv-support.patch + eapply "${FILESDIR}"/spidermonkey-68.0-loong-support.patch default