From 0cc41bc953974d4852b263708bf8d12f823ca8ad Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 24 Oct 2021 22:32:50 -0700 Subject: [PATCH] Add RISCV32 support Upstream-Status: Pending Signed-off-by: Khem Raj --- build/moz.configure/init.configure | 3 +++ python/mozbuild/mozbuild/configure/constants.py | 2 ++ .../mozbuild/test/configure/test_toolchain_configure.py | 1 + 3 files changed, 6 insertions(+) diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure index 97b9bab167..d9a5a2035d 100644 --- a/build/moz.configure/init.configure +++ b/build/moz.configure/init.configure @@ -594,6 +594,9 @@ def split_triplet(triplet, allow_wasi=False): elif cpu.startswith("aarch64"): canonical_cpu = "aarch64" endianness = "little" + elif cpu in ("riscv32", "riscv32gc"): + canonical_cpu = "riscv32" + endianness = "little" elif cpu in ("riscv64", "riscv64gc"): canonical_cpu = "riscv64" endianness = "little" diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py index 25f43bb9f8..3335e69405 100644 --- a/python/mozbuild/mozbuild/configure/constants.py +++ b/python/mozbuild/mozbuild/configure/constants.py @@ -73,6 +73,7 @@ CPU_bitness = { "mips64": 64, "ppc": 32, "ppc64": 64, + 'riscv32': 32, "riscv64": 64, "s390": 32, "s390x": 64, @@ -129,6 +130,7 @@ CPU_preprocessor_checks = OrderedDict( ("m68k", "__m68k__"), ("mips64", "__mips64"), ("mips32", "__mips__"), + ("riscv32", "__riscv && __riscv_xlen == 32"), ("riscv64", "__riscv && __riscv_xlen == 64"), ("loongarch64", "__loongarch64"), ("sh4", "__sh__"), diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py index d438b68eb8..1be0d02e54 100644 --- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py +++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py @@ -1325,6 +1325,7 @@ class LinuxCrossCompileToolchainTest(BaseToolchainTest): "m68k-unknown-linux-gnu": big_endian + {"__m68k__": 1}, "mips64-unknown-linux-gnuabi64": big_endian + {"__mips64": 1, "__mips__": 1}, "mips-unknown-linux-gnu": big_endian + {"__mips__": 1}, + "riscv32-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 32}, "riscv64-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 64}, "sh4-unknown-linux-gnu": little_endian + {"__sh__": 1}, }