meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-128/0005-Add-RISCV32-support.patch
Ankur Tyagi 30942cebe8
mozjs-128: Fix build error with arm and musl
Build fails for qemuarm with musl with following error:
mozglue/misc/StackWalk.o: in function `unwind_callback(_Unwind_Context*, void*)':
| /usr/src/debug/mozjs-128/128.5.2/mozglue/misc/StackWalk.cpp:810:(.text._ZL15unwind_callbackP15_Unwind_ContextPv+0x4): undefined reference to `_Unwind_GetIP'

Referenced commit[1] for the fix, also refreshed patches.

[1] bb86629123

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-01-12 08:53:46 -08:00

60 lines
2.7 KiB
Diff

From 8b7f96cc479c99a286591ac6dcd0be19bcf83b15 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 24 Oct 2021 22:32:50 -0700
Subject: [PATCH] Add RISCV32 support
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
build/moz.configure/init.configure | 3 +++
python/mozbuild/mozbuild/configure/constants.py | 2 ++
.../mozbuild/test/configure/test_toolchain_configure.py | 1 +
3 files changed, 6 insertions(+)
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
index 97b9bab167..d9a5a2035d 100644
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -594,6 +594,9 @@ def split_triplet(triplet, allow_wasi=False):
elif cpu.startswith("aarch64"):
canonical_cpu = "aarch64"
endianness = "little"
+ elif cpu in ("riscv32", "riscv32gc"):
+ canonical_cpu = "riscv32"
+ endianness = "little"
elif cpu in ("riscv64", "riscv64gc"):
canonical_cpu = "riscv64"
endianness = "little"
diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
index 25f43bb9f8..3335e69405 100644
--- a/python/mozbuild/mozbuild/configure/constants.py
+++ b/python/mozbuild/mozbuild/configure/constants.py
@@ -73,6 +73,7 @@ CPU_bitness = {
"mips64": 64,
"ppc": 32,
"ppc64": 64,
+ 'riscv32': 32,
"riscv64": 64,
"s390": 32,
"s390x": 64,
@@ -129,6 +130,7 @@ CPU_preprocessor_checks = OrderedDict(
("m68k", "__m68k__"),
("mips64", "__mips64"),
("mips32", "__mips__"),
+ ("riscv32", "__riscv && __riscv_xlen == 32"),
("riscv64", "__riscv && __riscv_xlen == 64"),
("loongarch64", "__loongarch64"),
("sh4", "__sh__"),
diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
index d438b68eb8..1be0d02e54 100644
--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
@@ -1325,6 +1325,7 @@ class LinuxCrossCompileToolchainTest(BaseToolchainTest):
"m68k-unknown-linux-gnu": big_endian + {"__m68k__": 1},
"mips64-unknown-linux-gnuabi64": big_endian + {"__mips64": 1, "__mips__": 1},
"mips-unknown-linux-gnu": big_endian + {"__mips__": 1},
+ "riscv32-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 32},
"riscv64-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 64},
"sh4-unknown-linux-gnu": little_endian + {"__sh__": 1},
}