blob: a6a0a9edec51601da2c39318ea4c4918720c3845 [file] [log] [blame]
Andrew Geissler517393d2023-01-13 08:55:19 -06001From 81385fe53ffde5e1636e9ace0736d914da8dbc0f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 24 Oct 2021 22:32:50 -0700
4Subject: [PATCH] Add RISCV32 support
5
6Upstream-Status: Pending
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8
9---
10 build/moz.configure/init.configure | 3 +++
11 python/mozbuild/mozbuild/configure/constants.py | 2 ++
12 .../mozbuild/test/configure/test_toolchain_configure.py | 1 +
13 3 files changed, 6 insertions(+)
14
15diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
16index 0b7a2ff60f..54f8325b44 100644
17--- a/build/moz.configure/init.configure
18+++ b/build/moz.configure/init.configure
19@@ -524,6 +524,9 @@ def split_triplet(triplet, allow_msvc=False, allow_wasi=False):
20 elif cpu.startswith("aarch64"):
21 canonical_cpu = "aarch64"
22 endianness = "little"
23+ elif cpu in ("riscv32", "riscv32gc"):
24+ canonical_cpu = "riscv32"
25+ endianness = "little"
26 elif cpu in ("riscv64", "riscv64gc"):
27 canonical_cpu = "riscv64"
28 endianness = "little"
29diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
30index c71460cb20..15bef93e19 100644
31--- a/python/mozbuild/mozbuild/configure/constants.py
32+++ b/python/mozbuild/mozbuild/configure/constants.py
33@@ -53,6 +53,7 @@ CPU_bitness = {
34 "mips64": 64,
35 "ppc": 32,
36 "ppc64": 64,
37+ 'riscv32': 32,
38 "riscv64": 64,
39 "s390": 32,
40 "s390x": 64,
41@@ -95,6 +96,7 @@ CPU_preprocessor_checks = OrderedDict(
42 ("m68k", "__m68k__"),
43 ("mips64", "__mips64"),
44 ("mips32", "__mips__"),
45+ ("riscv32", "__riscv && __riscv_xlen == 32"),
46 ("riscv64", "__riscv && __riscv_xlen == 64"),
47 ("loongarch64", "__loongarch64"),
48 ("sh4", "__sh__"),
49diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
50index 059cde0139..4f9986eb31 100644
51--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
52+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
53@@ -1192,6 +1192,7 @@ class LinuxCrossCompileToolchainTest(BaseToolchainTest):
54 "m68k-unknown-linux-gnu": big_endian + {"__m68k__": 1},
55 "mips64-unknown-linux-gnuabi64": big_endian + {"__mips64": 1, "__mips__": 1},
56 "mips-unknown-linux-gnu": big_endian + {"__mips__": 1},
57+ "riscv32-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 32},
58 "riscv64-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 64},
59 "sh4-unknown-linux-gnu": little_endian + {"__sh__": 1},
60 }