From ae8e965963e4b87a72a024b0916d87471c518841 Mon Sep 17 00:00:00 2001 From: Andreas Müller Date: Mon, 1 Nov 2021 12:49:34 +0100 Subject: mozjs-91: Fix build on powerpc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Andreas Müller Signed-off-by: Khem Raj --- .../mozjs/mozjs-91/0005-nojit-32bit-arch-fix.patch | 21 +++++++++++++ .../mozjs/mozjs-91/0006-Fix-build-on-powerpc.patch | 36 ++++++++++++++++++++++ .../mozjs/mozjs-91/nojit-32bit-arch-fix.patch | 21 ------------- meta-oe/recipes-extended/mozjs/mozjs-91_91.2.0.bb | 3 +- 4 files changed, 59 insertions(+), 22 deletions(-) create mode 100644 meta-oe/recipes-extended/mozjs/mozjs-91/0005-nojit-32bit-arch-fix.patch create mode 100644 meta-oe/recipes-extended/mozjs/mozjs-91/0006-Fix-build-on-powerpc.patch delete mode 100644 meta-oe/recipes-extended/mozjs/mozjs-91/nojit-32bit-arch-fix.patch diff --git a/meta-oe/recipes-extended/mozjs/mozjs-91/0005-nojit-32bit-arch-fix.patch b/meta-oe/recipes-extended/mozjs/mozjs-91/0005-nojit-32bit-arch-fix.patch new file mode 100644 index 0000000000..f308b4863f --- /dev/null +++ b/meta-oe/recipes-extended/mozjs/mozjs-91/0005-nojit-32bit-arch-fix.patch @@ -0,0 +1,21 @@ +Fix build when JIT is disabled on 32bit systems + +This fixes a compile time assert +js/src/wasm/WasmFrame.cpp:57:3: error: static_assert failed due to requirement '(__builtin_offsetof(js::wasm::DebugFrame, frame_) + sizeof(js::wasm::Frame)) % Alignment == 0' "Aligned after pushing DebugFrame" + static_assert((offsetof(DebugFrame, frame_) + sizeof(Frame)) % Alignment == 0, + ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +--- a/js/src/wasm/WasmFrame.h ++++ b/js/src/wasm/WasmFrame.h +@@ -230,6 +230,8 @@ class DebugFrame { + // Avoid -Wunused-private-field warnings. + protected: + #if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_ARM) || \ ++ (defined(JS_CODEGEN_NONE) && \ ++ (defined(__riscv) && __riscv_xlen == 32) || defined(__mips__)) || \ + defined(JS_CODEGEN_X86) || defined(__wasi__) + // See alignmentStaticAsserts(). For MIPS32, ARM32 and X86 DebugFrame is only + // 4-byte aligned, so we add another word to get up to 8-byte diff --git a/meta-oe/recipes-extended/mozjs/mozjs-91/0006-Fix-build-on-powerpc.patch b/meta-oe/recipes-extended/mozjs/mozjs-91/0006-Fix-build-on-powerpc.patch new file mode 100644 index 0000000000..80bf746e40 --- /dev/null +++ b/meta-oe/recipes-extended/mozjs/mozjs-91/0006-Fix-build-on-powerpc.patch @@ -0,0 +1,36 @@ +From 0e0548e3f95e22a39db8d5b934afe0672a3f801b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Mon, 1 Nov 2021 08:13:29 +0100 +Subject: [PATCH] Fix build on powerpc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Another fix for (this time JIT enabled) +| <...>/irefox-91.2.0/js/src/wasm/WasmFrame.cpp:57:76: error: static assertion failed: Aligned after pushing DebugFrame +| 57 | static_assert((offsetof(DebugFrame, frame_) + sizeof(Frame)) % Alignment == 0, +| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller +--- + js/src/wasm/WasmFrame.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/js/src/wasm/WasmFrame.h b/js/src/wasm/WasmFrame.h +index 893762e..2d90656 100644 +--- a/js/src/wasm/WasmFrame.h ++++ b/js/src/wasm/WasmFrame.h +@@ -232,7 +232,7 @@ class DebugFrame { + #if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_ARM) || \ + (defined(JS_CODEGEN_NONE) && \ + (defined(__riscv) && __riscv_xlen == 32) || defined(__mips__)) || \ +- defined(JS_CODEGEN_X86) || defined(__wasi__) ++ defined(JS_CODEGEN_X86) || defined(__wasi__) || defined(__powerpc__) + // See alignmentStaticAsserts(). For MIPS32, ARM32 and X86 DebugFrame is only + // 4-byte aligned, so we add another word to get up to 8-byte + // alignment. +-- +2.31.1 + diff --git a/meta-oe/recipes-extended/mozjs/mozjs-91/nojit-32bit-arch-fix.patch b/meta-oe/recipes-extended/mozjs/mozjs-91/nojit-32bit-arch-fix.patch deleted file mode 100644 index f308b4863f..0000000000 --- a/meta-oe/recipes-extended/mozjs/mozjs-91/nojit-32bit-arch-fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fix build when JIT is disabled on 32bit systems - -This fixes a compile time assert -js/src/wasm/WasmFrame.cpp:57:3: error: static_assert failed due to requirement '(__builtin_offsetof(js::wasm::DebugFrame, frame_) + sizeof(js::wasm::Frame)) % Alignment == 0' "Aligned after pushing DebugFrame" - static_assert((offsetof(DebugFrame, frame_) + sizeof(Frame)) % Alignment == 0, - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Upstream-Status: Pending -Signed-off-by: Khem Raj - ---- a/js/src/wasm/WasmFrame.h -+++ b/js/src/wasm/WasmFrame.h -@@ -230,6 +230,8 @@ class DebugFrame { - // Avoid -Wunused-private-field warnings. - protected: - #if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_ARM) || \ -+ (defined(JS_CODEGEN_NONE) && \ -+ (defined(__riscv) && __riscv_xlen == 32) || defined(__mips__)) || \ - defined(JS_CODEGEN_X86) || defined(__wasi__) - // See alignmentStaticAsserts(). For MIPS32, ARM32 and X86 DebugFrame is only - // 4-byte aligned, so we add another word to get up to 8-byte diff --git a/meta-oe/recipes-extended/mozjs/mozjs-91_91.2.0.bb b/meta-oe/recipes-extended/mozjs/mozjs-91_91.2.0.bb index fc57254113..d6114b15aa 100644 --- a/meta-oe/recipes-extended/mozjs/mozjs-91_91.2.0.bb +++ b/meta-oe/recipes-extended/mozjs/mozjs-91_91.2.0.bb @@ -11,7 +11,8 @@ SRC_URI = "https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/fire file://fix-musl-build.patch \ file://0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch \ file://riscv32.patch \ - file://nojit-32bit-arch-fix.patch \ + file://0005-nojit-32bit-arch-fix.patch \ + file://0006-Fix-build-on-powerpc.patch \ " SRC_URI[sha256sum] = "3ef3cfd321d0c2c80ee1b41b8baf7a1ea4daf93c29e1377274933440ff5e42c3" -- cgit 1.2.3-korg