Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 1 | From 81385fe53ffde5e1636e9ace0736d914da8dbc0f Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Sun, 24 Oct 2021 22:32:50 -0700 |
| 4 | Subject: [PATCH] Add RISCV32 support |
| 5 | |
| 6 | Upstream-Status: Pending |
| 7 | Signed-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 | |
| 15 | diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure |
| 16 | index 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" |
| 29 | diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py |
| 30 | index 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__"), |
| 49 | diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py |
| 50 | index 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 | } |