From 0a32941a2ac7dbfd2fb0d093a16b5075ca996274 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 18 Sep 2024 10:39:40 -0500 Subject: [PATCH] Upgrade to 2.46.0 Resolves: RHEL-59181 --- .gitignore | 2 ++ fix-wasm.patch | 48 ---------------------------------- sources | 4 +-- sysprof-capture-version.patch | 14 ++++++++++ webkit2gtk3.spec | 23 ++++++++++++---- webkitgtk-skia-musttail.patch | 49 +++++++++++++++++++++++++++++++++++ 6 files changed, 85 insertions(+), 55 deletions(-) delete mode 100644 fix-wasm.patch create mode 100644 sysprof-capture-version.patch create mode 100644 webkitgtk-skia-musttail.patch diff --git a/.gitignore b/.gitignore index c727e19..1ae892f 100644 --- a/.gitignore +++ b/.gitignore @@ -143,3 +143,5 @@ /webkitgtk-2.44.2.tar.xz.asc /webkitgtk-2.44.3.tar.xz /webkitgtk-2.44.3.tar.xz.asc +/webkitgtk-2.46.0.tar.xz +/webkitgtk-2.46.0.tar.xz.asc diff --git a/fix-wasm.patch b/fix-wasm.patch deleted file mode 100644 index 386ea63..0000000 --- a/fix-wasm.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 9140ce712aa87091613874d802787ab476be0e39 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Wed, 14 Aug 2024 14:58:05 -0500 -Subject: [PATCH] Revert "Cherry-pick 272448.770@safari-7618-branch - (6d311cd7fefc). https://bugs.webkit.org/show_bug.cgi?id=271175" - https://bugs.webkit.org/show_bug.cgi?id=278113 - -This reverts commit 279c9d7963182cc35cf4e0bfebe87df2d83eaef8. - -This broke wasm, and I don't know how to fix it. - -Canonical link: https://commits.webkit.org/274313.373@webkitglib/2.44 ---- - .../stress/many-calls-results-on-stack.js | 39 ------------------- - Source/JavaScriptCore/wasm/WasmBBQJIT.cpp | 19 --------- - 2 files changed, 58 deletions(-) - delete mode 100644 JSTests/wasm/stress/many-calls-results-on-stack.js - -diff --git a/Source/JavaScriptCore/wasm/WasmBBQJIT.cpp b/Source/JavaScriptCore/wasm/WasmBBQJIT.cpp -index 9049865e8ce7..3f142cf5e90f 100644 ---- a/Source/JavaScriptCore/wasm/WasmBBQJIT.cpp -+++ b/Source/JavaScriptCore/wasm/WasmBBQJIT.cpp -@@ -3958,25 +3958,6 @@ void BBQJIT::returnValuesFromCall(Vector& results, const FunctionSigna - ASSERT(m_validFPRs.contains(returnLocation.asFPR(), Width::Width128)); - m_fprSet.add(returnLocation.asFPR(), Width::Width128); - } -- } else { -- ASSERT(returnLocation.isStackArgument()); -- // FIXME: Ideally, we would leave these values where they are but a subsequent call could clobber them before they are used. -- // That said, stack results are very rare so this isn't too painful. -- // Even if we did leave them where they are, we'd need to flush them to their canonical location at the next branch otherwise -- // we could have something like (assume no result regs for simplicity): -- // call (result i32 i32) $foo -- // if (result i32) // Stack: i32(StackArgument:8) i32(StackArgument:0) -- // // Stack: i32(StackArgument:8) -- // else -- // call (result i32 i32) $bar // Stack: i32(StackArgument:8) we have to flush the stack argument to make room for the result of bar -- // drop // Stack: i32(Stack:X) i32(StackArgument:8) i32(StackArgument:0) -- // drop // Stack: i32(Stack:X) i32(StackArgument:8) -- // end -- // return // Stack i32(*Conflicting locations*) -- -- Location canonicalLocation = canonicalSlot(result); -- emitMoveMemory(result.type(), returnLocation, canonicalLocation); -- returnLocation = canonicalLocation; - } - } - bind(result, returnLocation); diff --git a/sources b/sources index c413a33..87db38b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.44.3.tar.xz) = a98c15d6e68d2346abf75acf3447a11ba0f1c788a60847465d57856aa8b2fbad54e6f0c3a96edd3960919d2f12ba7a7313d37a2ebce21f493f8a6555d8e88ee0 -SHA512 (webkitgtk-2.44.3.tar.xz.asc) = 76132289c8a1fab3f473c97d9799a20685af0da96de4964d27b8d0de7644e918b85b1d425e7ba7c01e59a8bf5636f5d3ebbbe180bb4487e50d87942032587fa9 +SHA512 (webkitgtk-2.46.0.tar.xz) = bdb6b9acd418d1eb45a7b7d2618bd6562798cce9147d3ae794d9f868956a2dddace5676592ababaa7da5bd38b29dbdeff1a8e092c4611cfb123a62e83c2cf9ae +SHA512 (webkitgtk-2.46.0.tar.xz.asc) = ad87727cae042cf8f5a41d92ae2fad38207417db8cdbfccc73ab4176be68480813bd54a0aacd2bc9309e9eeff4f1e413c217c5f5e08cf9363e763a4e94ab6c40 diff --git a/sysprof-capture-version.patch b/sysprof-capture-version.patch new file mode 100644 index 0000000..34166a6 --- /dev/null +++ b/sysprof-capture-version.patch @@ -0,0 +1,14 @@ +diff --git a/Source/cmake/FindSysProfCapture.cmake b/Source/cmake/FindSysProfCapture.cmake +index 455bf032ed0f..b0345eb3c198 100644 +--- a/Source/cmake/FindSysProfCapture.cmake ++++ b/Source/cmake/FindSysProfCapture.cmake +@@ -61,7 +61,7 @@ set(SysProfCapture_VERSION ${PC_SYSPROF_CAPTURE_VERSION}) + find_path(SysProfCapture_INCLUDE_DIR + NAMES sysprof-capture.h + HINTS ${PC_SYSPROF_CAPTURE_INCLUDEDIR} ${PC_SYSPROF_CAPTURE_INCLUDE_DIR} +- PATH_SUFFIXES sysprof-6 ++ PATH_SUFFIXES sysprof-6 sysprof-4 + ) + + find_library(SysProfCapture_LIBRARY + \ No newline at end of file diff --git a/webkit2gtk3.spec b/webkit2gtk3.spec index 07980bd..591ab8c 100644 --- a/webkit2gtk3.spec +++ b/webkit2gtk3.spec @@ -10,9 +10,12 @@ %global with_gamepad 1 %endif +# https://skia.org/docs/user/build/#supported-and-preferred-compilers +%global toolchain clang + Name: webkit2gtk3 -Version: 2.44.3 -Release: 2%{?dist} +Version: 2.46.0 +Release: 1%{?dist} Summary: GTK Web content engine library License: LGPLv2 @@ -24,14 +27,18 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal 013A0127AC9C65B34FFA62526C1009B693975393 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg -# https://bugs.webkit.org/show_bug.cgi?id=278113 -Patch0: fix-wasm.patch +# Work around a missing implementation of musttail in clang for ppc64le +# https://github.com/llvm/llvm-project/issues/108014 +Patch: webkitgtk-skia-musttail.patch + +# https://github.com/WebKit/WebKit/pull/33832 +Patch: sysprof-capture-version.patch BuildRequires: bison BuildRequires: bubblewrap +BuildRequires: clang BuildRequires: cmake BuildRequires: flex -BuildRequires: gcc-c++ BuildRequires: gettext BuildRequires: git BuildRequires: gnupg2 @@ -86,6 +93,7 @@ BuildRequires: pkgconfig(libxslt) BuildRequires: pkgconfig(manette-0.2) %endif BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(sysprof-capture-4) BuildRequires: pkgconfig(upower-glib) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-egl) @@ -131,6 +139,7 @@ Provides: webkit2gtk3-doc = %{version}-%{release} # We're supposed to specify versions here, but these libraries don't do # normal releases. Accordingly, they're not suitable to be system libs. Provides: bundled(angle) +Provides: bundled(skia) Provides: bundled(xdgmime) # Require the jsc subpackage @@ -297,6 +306,10 @@ export NINJA_STATUS="[%f/%t][%e] " %{_datadir}/gir-1.0/JavaScriptCore-4.0.gir %changelog +* Wed Sep 18 2024 Michael Catanzaro - 2.46.0-1 +- Upgrade to 2.46.0 + Resolves: RHEL-59181 + * Thu Aug 15 2024 Michael Catanzaro - 2.44.3-2 - Add patch to fix WebAssembly Resolves: RHEL-32578 diff --git a/webkitgtk-skia-musttail.patch b/webkitgtk-skia-musttail.patch new file mode 100644 index 0000000..f480d14 --- /dev/null +++ b/webkitgtk-skia-musttail.patch @@ -0,0 +1,49 @@ +diff -up webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h.orig webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h +--- webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h.orig 2024-09-12 08:22:24.667260964 +0000 ++++ webkitgtk-2.45.92/Source/ThirdParty/skia/include/private/base/SkFeatures.h 2024-09-12 08:22:46.616832364 +0000 +@@ -69,6 +69,10 @@ + #define SK_CPU_LOONGARCH 1 + #endif + ++#if defined(__powerpc__) || defined (__powerpc64__) ++ #define SK_CPU_PPC 1 ++#endif ++ + /** + * SK_CPU_SSE_LEVEL + * +diff -up webkitgtk-2.45.92/Source/ThirdParty/skia/src/core/SkRasterPipeline.h.orig webkitgtk-2.45.92/Source/ThirdParty/skia/src/core/SkRasterPipeline.h +--- webkitgtk-2.45.92/Source/ThirdParty/skia/src/core/SkRasterPipeline.h.orig 2024-09-12 08:16:25.444163366 +0000 ++++ webkitgtk-2.45.92/Source/ThirdParty/skia/src/core/SkRasterPipeline.h 2024-09-12 08:16:43.603797893 +0000 +@@ -27,7 +27,7 @@ struct SkImageInfo; + struct skcms_TransferFunction; + + #if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \ +- !defined(SK_CPU_LOONGARCH) ++ !defined(SK_CPU_LOONGARCH) && !defined(SK_CPU_PPC) + #define SK_HAS_MUSTTAIL 1 + #else + #define SK_HAS_MUSTTAIL 0 +diff -up webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h.orig webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h +--- webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h.orig 2024-09-12 08:49:09.985808211 +0000 ++++ webkitgtk-2.45.92/Source/ThirdParty/skia/modules/skcms/src/skcms_internals.h 2024-09-12 08:49:19.835612828 +0000 +@@ -48,6 +48,7 @@ extern "C" { + && !defined(__arm__) \ + && !defined(__riscv) \ + && !defined(__loongarch__) \ ++ && !defined(__powerpc__) \ + && !defined(_WIN32) && !defined(__SYMBIAN32__) + #define SKCMS_HAS_MUSTTAIL 1 + #endif +diff -up webkitgtk-2.45.92/Source/WTF/wtf/Compiler.h.orig webkitgtk-2.45.92/Source/WTF/wtf/Compiler.h +--- webkitgtk-2.45.92/Source/WTF/wtf/Compiler.h.orig 2024-09-12 09:14:10.775885415 +0000 ++++ webkitgtk-2.45.92/Source/WTF/wtf/Compiler.h 2024-09-12 09:15:27.264379291 +0000 +@@ -271,7 +271,7 @@ + /* MUST_TAIL_CALL */ + + #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute) +-#if __has_cpp_attribute(clang::musttail) ++#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc__) + #define MUST_TAIL_CALL [[clang::musttail]] + #endif + #endif