summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/riscv32.patch55
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_91.1.0.bb2
2 files changed, 57 insertions, 0 deletions
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/riscv32.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/riscv32.patch
new file mode 100644
index 0000000000..1f1f93987a
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/riscv32.patch
@@ -0,0 +1,55 @@
1Add RISCV32 support
2
3Upstream-Status: Pending
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5
6--- a/build/moz.configure/init.configure
7+++ b/build/moz.configure/init.configure
8@@ -765,6 +765,9 @@ def split_triplet(triplet, allow_msvc=Fa
9 elif cpu.startswith("aarch64"):
10 canonical_cpu = "aarch64"
11 endianness = "little"
12+ elif cpu in ("riscv32", "riscv32gc"):
13+ canonical_cpu = "riscv32"
14+ endianness = "little"
15 elif cpu in ("riscv64", "riscv64gc"):
16 canonical_cpu = "riscv64"
17 endianness = "little"
18--- a/python/mozbuild/mozbuild/configure/constants.py
19+++ b/python/mozbuild/mozbuild/configure/constants.py
20@@ -52,6 +52,7 @@ CPU_bitness = {
21 "mips64": 64,
22 "ppc": 32,
23 "ppc64": 64,
24+ 'riscv32': 32,
25 "riscv64": 64,
26 "s390": 32,
27 "s390x": 64,
28@@ -94,6 +95,7 @@ CPU_preprocessor_checks = OrderedDict(
29 ("m68k", "__m68k__"),
30 ("mips64", "__mips64"),
31 ("mips32", "__mips__"),
32+ ("riscv32", "__riscv && __riscv_xlen == 32"),
33 ("riscv64", "__riscv && __riscv_xlen == 64"),
34 ("sh4", "__sh__"),
35 ("wasm32", "__wasm32__"),
36--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
37+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
38@@ -1186,6 +1186,7 @@ class LinuxCrossCompileToolchainTest(Bas
39 "m68k-unknown-linux-gnu": big_endian + {"__m68k__": 1},
40 "mips64-unknown-linux-gnuabi64": big_endian + {"__mips64": 1, "__mips__": 1},
41 "mips-unknown-linux-gnu": big_endian + {"__mips__": 1},
42+ "riscv32-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 32},
43 "riscv64-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 64},
44 "sh4-unknown-linux-gnu": little_endian + {"__sh__": 1},
45 }
46--- a/js/src/wasm/WasmFrame.h
47+++ b/js/src/wasm/WasmFrame.h
48@@ -230,6 +230,7 @@ class DebugFrame {
49 // Avoid -Wunused-private-field warnings.
50 protected:
51 #if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_ARM) || \
52+ (defined(JS_CODEGEN_NONE) && defined(__riscv) && __riscv_xlen == 32) || \
53 defined(JS_CODEGEN_X86) || defined(__wasi__)
54 // See alignmentStaticAsserts(). For MIPS32, ARM32 and X86 DebugFrame is only
55 // 4-byte aligned, so we add another word to get up to 8-byte
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_91.1.0.bb b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_91.1.0.bb
index 57bedaa70a..ff0d7bd6ab 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_91.1.0.bb
+++ b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_91.1.0.bb
@@ -10,6 +10,7 @@ SRC_URI = "https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/fire
10 file://0004-use-asm-sgidefs.h.patch \ 10 file://0004-use-asm-sgidefs.h.patch \
11 file://fix-musl-build.patch \ 11 file://fix-musl-build.patch \
12 file://0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch \ 12 file://0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch \
13 file://riscv32.patch \
13 " 14 "
14SRC_URI[sha256sum] = "3b913d6a52c95a8986123c98543f1273812a2d59f2891b4b1c604e35f4580766" 15SRC_URI[sha256sum] = "3b913d6a52c95a8986123c98543f1273812a2d59f2891b4b1c604e35f4580766"
15 16
@@ -36,6 +37,7 @@ export RUSTFLAGS
36JIT ?= "" 37JIT ?= ""
37 38
38JIT:mipsarch = "--disable-jit" 39JIT:mipsarch = "--disable-jit"
40JIT:riscv32 = "--disable-jit"
39 41
40do_configure() { 42do_configure() {
41 cd ${B} 43 cd ${B}