From d6aff068170e56e6773feba42a463dd8c50bc4ff 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 53bbc4203f..2ac40d3d39 100644 --- a/build/moz.configure/init.configure +++ b/build/moz.configure/init.configure @@ -584,6 +584,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 a36152651d..a6050be5d8 100644 --- a/python/mozbuild/mozbuild/configure/constants.py +++ b/python/mozbuild/mozbuild/configure/constants.py @@ -51,6 +51,7 @@ CPU_bitness = { "mips64": 64, "ppc": 32, "ppc64": 64, + 'riscv32': 32, "riscv64": 64, "s390": 32, "s390x": 64, @@ -98,6 +99,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 c6af3d99d4..7ef02e1a85 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}, }