xref: /OK3568_Linux_fs/yocto/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91/riscv32.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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