1*4882a593SmuzhiyunAdd RISCV32 support 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunUpstream-Status: Pending 4*4882a593SmuzhiyunSigned-off-by: Khem Raj <raj.khem@gmail.com> 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun--- a/build/moz.configure/init.configure 7*4882a593Smuzhiyun+++ b/build/moz.configure/init.configure 8*4882a593Smuzhiyun@@ -765,6 +765,9 @@ def split_triplet(triplet, allow_msvc=Fa 9*4882a593Smuzhiyun elif cpu.startswith("aarch64"): 10*4882a593Smuzhiyun canonical_cpu = "aarch64" 11*4882a593Smuzhiyun endianness = "little" 12*4882a593Smuzhiyun+ elif cpu in ("riscv32", "riscv32gc"): 13*4882a593Smuzhiyun+ canonical_cpu = "riscv32" 14*4882a593Smuzhiyun+ endianness = "little" 15*4882a593Smuzhiyun elif cpu in ("riscv64", "riscv64gc"): 16*4882a593Smuzhiyun canonical_cpu = "riscv64" 17*4882a593Smuzhiyun endianness = "little" 18*4882a593Smuzhiyun--- a/python/mozbuild/mozbuild/configure/constants.py 19*4882a593Smuzhiyun+++ b/python/mozbuild/mozbuild/configure/constants.py 20*4882a593Smuzhiyun@@ -52,6 +52,7 @@ CPU_bitness = { 21*4882a593Smuzhiyun "mips64": 64, 22*4882a593Smuzhiyun "ppc": 32, 23*4882a593Smuzhiyun "ppc64": 64, 24*4882a593Smuzhiyun+ 'riscv32': 32, 25*4882a593Smuzhiyun "riscv64": 64, 26*4882a593Smuzhiyun "s390": 32, 27*4882a593Smuzhiyun "s390x": 64, 28*4882a593Smuzhiyun@@ -94,6 +95,7 @@ CPU_preprocessor_checks = OrderedDict( 29*4882a593Smuzhiyun ("m68k", "__m68k__"), 30*4882a593Smuzhiyun ("mips64", "__mips64"), 31*4882a593Smuzhiyun ("mips32", "__mips__"), 32*4882a593Smuzhiyun+ ("riscv32", "__riscv && __riscv_xlen == 32"), 33*4882a593Smuzhiyun ("riscv64", "__riscv && __riscv_xlen == 64"), 34*4882a593Smuzhiyun ("sh4", "__sh__"), 35*4882a593Smuzhiyun ("wasm32", "__wasm32__"), 36*4882a593Smuzhiyun--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py 37*4882a593Smuzhiyun+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py 38*4882a593Smuzhiyun@@ -1186,6 +1186,7 @@ class LinuxCrossCompileToolchainTest(Bas 39*4882a593Smuzhiyun "m68k-unknown-linux-gnu": big_endian + {"__m68k__": 1}, 40*4882a593Smuzhiyun "mips64-unknown-linux-gnuabi64": big_endian + {"__mips64": 1, "__mips__": 1}, 41*4882a593Smuzhiyun "mips-unknown-linux-gnu": big_endian + {"__mips__": 1}, 42*4882a593Smuzhiyun+ "riscv32-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 32}, 43*4882a593Smuzhiyun "riscv64-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 64}, 44*4882a593Smuzhiyun "sh4-unknown-linux-gnu": little_endian + {"__sh__": 1}, 45*4882a593Smuzhiyun } 46