Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package chromium for openSUSE:Factory checked in at 2026-02-13 12:41:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/chromium (Old) and /work/SRC/openSUSE:Factory/.chromium.new.1977 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium" Fri Feb 13 12:41:36 2026 rev:500 rq:1332708 version:145.0.7632.45 Changes: -------- --- /work/SRC/openSUSE:Factory/chromium/chromium.changes 2026-02-05 18:00:45.284499578 +0100 +++ /work/SRC/openSUSE:Factory/.chromium.new.1977/chromium.changes 2026-02-13 12:44:00.607428492 +0100 @@ -1,0 +2,42 @@ +Wed Feb 4 22:46:39 UTC 2026 - Ruediger Oertel <[email protected]> + +- Chromium 145.0.7632.45 (boo#1258116) + * jpeg-xl support has been readded + * CVE-2026-2313: Use after free in CSS + * CVE-2026-2314: Heap buffer overflow in Codecs + * CVE-2026-2315: Inappropriate implementation in WebGPU + * CVE-2026-2316: Insufficient policy enforcement in Frames + * CVE-2026-2317: Inappropriate implementation in Animation + * CVE-2026-2318: Inappropriate implementation in PictureInPicture + * CVE-2026-2319: Race in DevTools + * CVE-2026-2320: Inappropriate implementation in File input + * CVE-2026-2321: Use after free in Ozone + * CVE-2026-2322: Inappropriate implementation in File input + * CVE-2026-2323: Inappropriate implementation in Downloads +- modified patches: + * chromium-127-rust-clanglib.patch (context) + * chromium-144-revert-libxml-2.13.patch (context) + * ppc-fedora-0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-.patch + (context) + * ppc-debian-0003-third_party-ffmpeg-Add-ppc64-generated-config.patch + (drop ref to ppc/lossless_audiodsp_altivec.o, dropped upstream) + * chromium-141-no_cxx_modules.patch + * ppc-fedora-0001-Add-PPC64-support-for-boringssl.patch (context) + * ppc-fedora-0002-regenerate-xnn-buildgn.patch (regenerated) + * system-libdrm.patch (context) + * ppc-fedora-0002-third_party-libvpx-Remove-bad-ppc64-config.patch +- added patches: + * chromium-145-blink_missing_include.patch + * chromium-145-use_unrar.patch + (properly respect disabling unrar in recent code changes) + * ppc-fedora-0009-sandbox-ignore-byte-span-error.patch + * chromium-4f46f03a6c6d4c6efc1ad5d0d78030d02326f967.patch + (revert spanification for jpeg_parser ending in compile error) + * chromium-24264eefbfd3464161764f31a2752c5327719452.patch + (also to revert jpeg_encoder spanification for older llvm) +- bump BR for gn to 0.20251217 + * need the string_hash function for rust gni +- add rollup binaries for arm64 and powerpc64le, missing upstream + using tarballs from npm.skia.org + +------------------------------------------------------------------- Old: ---- chromium-144.0.7559.132-linux.tar.xz New: ---- chromium-145-blink_missing_include.patch chromium-145-use_unrar.patch chromium-145.0.7632.45-linux.tar.xz chromium-24264eefbfd3464161764f31a2752c5327719452.patch chromium-4f46f03a6c6d4c6efc1ad5d0d78030d02326f967.patch ppc-fedora-0009-sandbox-ignore-byte-span-error.patch rollup-linux-arm64-gnu-4.22.4.tgz rollup-linux-powerpc64le-gnu-4.22.4.tgz ----------(New B)---------- New:- added patches: * chromium-145-blink_missing_include.patch * chromium-145-use_unrar.patch New: * chromium-145-blink_missing_include.patch * chromium-145-use_unrar.patch (properly respect disabling unrar in recent code changes) New: (revert spanification for jpeg_parser ending in compile error) * chromium-24264eefbfd3464161764f31a2752c5327719452.patch (also to revert jpeg_encoder spanification for older llvm) New: * ppc-fedora-0009-sandbox-ignore-byte-span-error.patch * chromium-4f46f03a6c6d4c6efc1ad5d0d78030d02326f967.patch (revert spanification for jpeg_parser ending in compile error) New: (properly respect disabling unrar in recent code changes) * ppc-fedora-0009-sandbox-ignore-byte-span-error.patch * chromium-4f46f03a6c6d4c6efc1ad5d0d78030d02326f967.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ chromium.spec ++++++ --- /var/tmp/diff_new_pack.WTuHtz/_old 2026-02-13 12:44:19.628225562 +0100 +++ /var/tmp/diff_new_pack.WTuHtz/_new 2026-02-13 12:44:19.632225729 +0100 @@ -1,7 +1,7 @@ # # spec file for package chromium # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC # Copyright (c) 2024 Callum Farmer <[email protected]> # Copyright (c) 2026 Andreas Stieger <[email protected]> # @@ -75,8 +75,10 @@ %endif # GCC version %define gcc_version 14 -# esbuild version +# minimal esbuild version %define esbuild_version 0.25.1 +# minimal gn version +%define gn_version 0.20251217 %if 0%{?suse_version} <= 1699 %bcond_with system_webp %bcond_with system_re2 @@ -127,7 +129,7 @@ %global official_build 1 Name: chromium%{n_suffix} -Version: 144.0.7559.132 +Version: 145.0.7632.45 Release: 0 Summary: Google's open source browser project License: BSD-3-Clause AND LGPL-2.1-or-later @@ -145,6 +147,10 @@ Source105: INSTALL.sh # Source106: chrome-wrapper +# upstream only contains x86 binary still needed: +Source201: https://npm.skia.org/chrome-devtools/@rollup%2frollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz +Source202: https://npm.skia.org/chrome-devtools/@rollup%2frollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz +# global patches Patch0: chromium-libusb_interrupt_event_handler.patch # PATCH-FIX-OPENSUSE Make the 1-click-install ymp file always download [bnc#836059] Patch1: exclude_ymp.patch @@ -184,6 +190,8 @@ Patch387: chromium-143-cookie_string_view.patch Patch389: chromium-143-revert_rust_is_multiple_of.patch Patch390: chromium-144-revert_gfx_value_or.patch +Patch391: chromium-145-blink_missing_include.patch +Patch392: chromium-145-use_unrar.patch Patch393: force-rust-nightly.patch # conditionally applied patches ppc64le only Patch401: ppc-fedora-add-ppc64-architecture-string.patch @@ -244,6 +252,7 @@ # https://src.fedoraproject.org/rpms/chromium/blob/rawhide/f/0002-regenerate-xnn-buildgn.patch Patch459: ppc-fedora-0002-regenerate-xnn-buildgn.patch Patch460: ppc-debian-0003-third_party-ffmpeg-Add-ppc64-generated-config.patch +Patch461: ppc-fedora-0009-sandbox-ignore-byte-span-error.patch # conditionally applied patches # patch where libxml < 2.12 Patch1010: chromium-124-system-libxml.patch @@ -254,6 +263,11 @@ Patch1041: gtk-414-2.patch # flac is too old Patch1050: chromium-140-old-flac.patch +# revert upstream patch ending in compile error +# error: static assertion expression is not an integral constant expression +Patch1060: chromium-24264eefbfd3464161764f31a2752c5327719452.patch +Patch1061: chromium-4f46f03a6c6d4c6efc1ad5d0d78030d02326f967.patch + # end conditionally applied patches BuildRequires: SDL-devel BuildRequires: bison @@ -263,7 +277,7 @@ BuildRequires: fdupes BuildRequires: flex BuildRequires: git -BuildRequires: gn >= 0.20250619 +BuildRequires: gn >= %{gn_version} BuildRequires: gperf BuildRequires: hicolor-icon-theme BuildRequires: golang(API) @@ -279,8 +293,8 @@ BuildRequires: ninja >= 1.7.2 BuildRequires: pam-devel BuildRequires: pkgconfig -%if 0%{?suse_version} >= 1600 -BuildRequires: nodejs-common +%if 0%{?suse_version} >= 1600 || 0%{?sle_version} >= 150700 +BuildRequires: nodejs-default %else BuildRequires: nodejs22 %endif @@ -522,6 +536,22 @@ %patch -p1 -P 1050 %endif +clang_version="$(clang --version | sed -n 's/clang version //p')" +if [[ $(echo ${clang_version} | cut -d. -f1) -lt 21 ]]; then +%patch -p1 -R -P 1060 +%patch -p1 -R -P 1061 +fi + +# unpack rollup binary for aarch64 +%ifarch aarch64 +tar xf %{SOURCE201} && mv package third_party/devtools-frontend/src/node_modules/@rollup/rollup-linux-arm64-gnu +%endif + +#unpack rollup binary for ppc64le +%ifarch ppc64le +tar xf %{SOURCE202} && mv package third_party/devtools-frontend/src/node_modules/@rollup/rollup-linux-powerpc64le-gnu +%endif + %build # esbuild rm third_party/devtools-frontend/src/third_party/esbuild/esbuild @@ -794,7 +824,6 @@ third_party/webrtc/modules/third_party/fft third_party/webrtc/modules/third_party/g711 third_party/webrtc/modules/third_party/g722 - third_party/webrtc/rtc_base/third_party/sigslot third_party/webrtc/rtc_tools third_party/widevine third_party/woff2 ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.WTuHtz/_old 2026-02-13 12:44:19.840234445 +0100 +++ /var/tmp/diff_new_pack.WTuHtz/_new 2026-02-13 12:44:19.844234613 +0100 @@ -1,6 +1,6 @@ -mtime: 1770200885 -commit: f98d6401681bf5794a3e5a192532713af4f31ca6ea738c3221cb310f74521c8b +mtime: 1770901865 +commit: 423d7771f642731d9ca31fdc5411c33c409198cbdd47b89b31060d05ac65fac2 url: https://src.opensuse.org/chromium/chromium.git -revision: f98d6401681bf5794a3e5a192532713af4f31ca6ea738c3221cb310f74521c8b +revision: 423d7771f642731d9ca31fdc5411c33c409198cbdd47b89b31060d05ac65fac2 projectscmsync: https://src.opensuse.org/chromium/_ObsPrj.git ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-02-12 14:11:41.000000000 +0100 @@ -0,0 +1,4 @@ +.osc +*.patch~ +*-build/ +.*.swp ++++++ chromium-127-rust-clanglib.patch ++++++ --- /var/tmp/diff_new_pack.WTuHtz/_old 2026-02-13 12:44:20.060243665 +0100 +++ /var/tmp/diff_new_pack.WTuHtz/_new 2026-02-13 12:44:20.068244000 +0100 @@ -11,8 +11,8 @@ } # Template to build Rust/C bindings with bindgen. -@@ -129,6 +129,13 @@ template("rust_bindgen") { - deps += [ ":${_rust_bindgen_generator_name}_static_fns" ] +@@ -135,6 +135,13 @@ + deps += [ ":${_rust_bindgen_generator_target_name}_static_fns" ] } + # Default configs include "-fvisibility=hidden", and for some reason this @@ -22,9 +22,9 @@ + args += [ "-fvisibility=default" ] + } + - if (defined(cpp) && cpp) { - # This cfg is used to control the bindings public export. - rustflags = [ + rustflags = [ + # Don't warn about unused code in the generated bindings. + "-Adead_code", Index: chromium-144.0.7524.0/build/rust/rust_bindgen_generator.gni =================================================================== --- chromium-144.0.7524.0.orig/build/rust/rust_bindgen_generator.gni ++++++ chromium-141-no_cxx_modules.patch ++++++ --- /var/tmp/diff_new_pack.WTuHtz/_old 2026-02-13 12:44:20.140247018 +0100 +++ /var/tmp/diff_new_pack.WTuHtz/_new 2026-02-13 12:44:20.144247186 +0100 @@ -1,15 +1,14 @@ ---- chromium-141.0.7390.37/third_party/pthreadpool/chromium/jobs.cc 2025/10/02 13:48:22 1.1 -+++ chromium-141.0.7390.37/third_party/pthreadpool/chromium/jobs.cc 2025/10/02 13:50:01 -@@ -22,9 +22,10 @@ +Index: chromium-145.0.7561.2/third_party/pthreadpool/chromium/jobs.cc +=================================================================== +--- chromium-145.0.7561.2.orig/third_party/pthreadpool/chromium/jobs.cc ++++ chromium-145.0.7561.2/third_party/pthreadpool/chromium/jobs.cc +@@ -23,7 +23,7 @@ // Note that we can't use #if !defined(__cpp_module) due to it not actually // being defined - see https://github.com/llvm/llvm-project/issues/71364 and // https://github.com/llvm/llvm-project/blob/b251c29af45d3440374f53bb4c1645e5968593f7/clang/lib/Frontend/InitPreprocessor.cpp#L747 --#ifndef USE_LIBCXX_MODULES +-#if !defined(USE_LIBCXX_MODULES) || defined(_MSC_VER) +#if 1 #include <atomic> #define _LIBCPP_STDATOMIC_H -+#define __CLANG_STDATOMIC_H using namespace std; - #endif - ++++++ chromium-144-revert-libxml-2.13.patch ++++++ --- /var/tmp/diff_new_pack.WTuHtz/_old 2026-02-13 12:44:20.176248527 +0100 +++ /var/tmp/diff_new_pack.WTuHtz/_new 2026-02-13 12:44:20.180248694 +0100 @@ -12,7 +12,7 @@ // libxml should not be configured with catalogs enabled, so it @@ -756,18 +760,7 @@ - InitializeLibXMLIfNecessary(); + EnsureLibXMLInitialized(); xmlParserCtxtPtr parser = xmlCreatePushParserCtxt(handlers, nullptr, nullptr, 0, nullptr); - ++++++ chromium-145-blink_missing_include.patch ++++++ --- chromium-145.0.7572.2/third_party/blink/renderer/modules/xr/xr_cpu_depth_information.h 2025/12/16 14:51:38 1.1 +++ chromium-145.0.7572.2/third_party/blink/renderer/modules/xr/xr_cpu_depth_information.h 2025/12/16 14:51:49 @@ -9,6 +9,8 @@ #include "device/vr/public/mojom/xr_session.mojom-blink-forward.h" #include "third_party/blink/renderer/core/typed_arrays/dom_array_buffer.h" #include "third_party/blink/renderer/modules/xr/xr_depth_information.h" +#include "ui/gfx/geometry/size.h" +#include "ui/gfx/geometry/transform.h" namespace gfx { class Size; --- chromium-145.0.7572.2/third_party/blink/renderer/modules/xr/xr_rigid_transform.h 2025/12/17 11:11:31 1.1 +++ chromium-145.0.7572.2/third_party/blink/renderer/modules/xr/xr_rigid_transform.h 2025/12/17 11:12:00 @@ -11,6 +11,8 @@ #include "third_party/blink/renderer/core/typed_arrays/dom_typed_array.h" #include "third_party/blink/renderer/modules/modules_export.h" #include "third_party/blink/renderer/platform/bindings/script_wrappable.h" +#include "ui/gfx/geometry/size.h" +#include "ui/gfx/geometry/transform.h" namespace gfx { class Transform; ++++++ chromium-145-use_unrar.patch ++++++ --- chromium-145.0.7587.4/chrome/services/file_util/BUILD.gn 2025/12/26 12:24:52 1.1 +++ chromium-145.0.7587.4/chrome/services/file_util/BUILD.gn 2025/12/26 12:27:01 @@ -25,10 +25,13 @@ "//components/safe_browsing:buildflags", "//extensions/buildflags", "//mojo/public/cpp/bindings", - "//third_party/unrar", "//third_party/zlib", ] + if (safe_browsing_use_unrar) { + deps += [ "//third_party/unrar" ] + } + public_deps = [ "//chrome/services/file_util/public/mojom", "//components/safe_browsing/core/common", --- chromium-145.0.7587.4/chrome/services/file_util/obfuscated_archive_analysis_delegate.cc 2025/12/26 12:31:33 1.1 +++ chromium-145.0.7587.4/chrome/services/file_util/obfuscated_archive_analysis_delegate.cc 2025/12/26 12:33:45 @@ -115,6 +115,7 @@ bool closed_ = false; }; +#if USE_UNRAR class ObfuscatedRarReaderDelegate : public third_party_unrar::RarReaderDelegate { public: @@ -186,6 +187,7 @@ std::unique_ptr<enterprise_obfuscation::DownloadObfuscator> obfuscator_; bool init_ = false; }; +#endif } // namespace @@ -214,6 +216,7 @@ return std::make_unique<ObfuscatedZipWriterDelegate>(std::move(file)); } +#if USE_UNRAR std::unique_ptr<third_party_unrar::RarReaderDelegate> ObfuscatedArchiveAnalysisDelegate::CreateRarReaderDelegate(base::File file) { base::expected<enterprise_obfuscation::ObfuscatedFileReader, @@ -231,6 +234,7 @@ ObfuscatedArchiveAnalysisDelegate::CreateRarWriterDelegate(base::File file) { return std::make_unique<ObfuscatedRarWriterDelegate>(std::move(file)); } +#endif std::unique_ptr<ArchiveAnalysisDelegate> ObfuscatedArchiveAnalysisDelegate::CreateNestedDelegate( --- chromium-145.0.7587.4/chrome/services/file_util/obfuscated_archive_analysis_delegate.h 2025/12/26 12:33:53 1.1 +++ chromium-145.0.7587.4/chrome/services/file_util/obfuscated_archive_analysis_delegate.h 2025/12/26 12:34:20 @@ -7,7 +7,9 @@ #include "chrome/utility/safe_browsing/archive_analysis_delegate.h" #include "components/enterprise/obfuscation/core/utils.h" +#if USE_UNRAR #include "third_party/unrar/google/unrar_wrapper.h" +#endif namespace safe_browsing { @@ -22,10 +24,12 @@ base::File file) override; std::unique_ptr<SafeBrowsingZipWriterDelegate> CreateZipWriterDelegate( base::File file) override; +#if USE_UNRAR std::unique_ptr<third_party_unrar::RarReaderDelegate> CreateRarReaderDelegate( base::File file) override; std::unique_ptr<third_party_unrar::RarWriterDelegate> CreateRarWriterDelegate( base::File file) override; +#endif std::unique_ptr<ArchiveAnalysisDelegate> CreateNestedDelegate( base::File extracted_file) override; --- chromium-145.0.7587.4/chrome/services/file_util/regular_archive_analysis_delegate.cc 2025/12/26 12:35:30 1.1 +++ chromium-145.0.7587.4/chrome/services/file_util/regular_archive_analysis_delegate.cc 2025/12/26 12:36:02 @@ -8,8 +8,10 @@ #include "base/files/file.h" #include "chrome/utility/safe_browsing/zip_writer_delegate.h" +#if USE_UNRAR #include "third_party/unrar/google/unrar_delegates.h" #include "third_party/unrar/google/unrar_wrapper.h" +#endif #include "third_party/zlib/google/zip_reader.h" namespace safe_browsing { @@ -91,6 +93,7 @@ return std::make_unique<ZipWriterDelegate>(std::move(file)); } +#if USE_UNRAR std::unique_ptr<third_party_unrar::RarReaderDelegate> RegularArchiveAnalysisDelegate::CreateRarReaderDelegate(base::File file) { return std::make_unique<third_party_unrar::FileReader>(std::move(file)); @@ -100,6 +103,7 @@ RegularArchiveAnalysisDelegate::CreateRarWriterDelegate(base::File file) { return std::make_unique<third_party_unrar::FileWriter>(std::move(file)); } +#endif std::unique_ptr<ArchiveAnalysisDelegate> RegularArchiveAnalysisDelegate::CreateNestedDelegate( --- chromium-145.0.7587.4/chrome/services/file_util/regular_archive_analysis_delegate.h 2025/12/26 12:36:04 1.1 +++ chromium-145.0.7587.4/chrome/services/file_util/regular_archive_analysis_delegate.h 2025/12/26 12:36:44 @@ -6,7 +6,9 @@ #define CHROME_SERVICES_FILE_UTIL_REGULAR_ARCHIVE_ANALYSIS_DELEGATE_H_ #include "chrome/utility/safe_browsing/archive_analysis_delegate.h" +#if USE_UNRAR #include "third_party/unrar/google/unrar_delegates.h" +#endif namespace safe_browsing { @@ -20,10 +22,12 @@ base::File file) override; std::unique_ptr<SafeBrowsingZipWriterDelegate> CreateZipWriterDelegate( base::File file) override; +#if USE_UNRAR std::unique_ptr<third_party_unrar::RarReaderDelegate> CreateRarReaderDelegate( base::File file) override; std::unique_ptr<third_party_unrar::RarWriterDelegate> CreateRarWriterDelegate( base::File file) override; +#endif std::unique_ptr<ArchiveAnalysisDelegate> CreateNestedDelegate( base::File extracted_file) override; }; --- chromium-145.0.7587.4/chrome/utility/safe_browsing/archive_analysis_delegate.h 2025/12/26 12:37:02 1.1 +++ chromium-145.0.7587.4/chrome/utility/safe_browsing/archive_analysis_delegate.h 2025/12/26 12:37:35 @@ -9,7 +9,9 @@ #include "base/files/file.h" #include "chrome/utility/safe_browsing/zip_writer_delegate.h" +#if USE_UNRAR #include "third_party/unrar/google/unrar_delegates.h" +#endif #include "third_party/zlib/google/zip_reader.h" namespace safe_browsing { @@ -28,6 +30,7 @@ virtual std::unique_ptr<SafeBrowsingZipWriterDelegate> CreateZipWriterDelegate(base::File file) = 0; +#if USE_UNRAR // Creates a reader delegate for reading the RAR archive. virtual std::unique_ptr<third_party_unrar::RarReaderDelegate> CreateRarReaderDelegate(base::File file) = 0; @@ -35,6 +38,7 @@ // Creates a writer delegate for writing extracted RAR entries. virtual std::unique_ptr<third_party_unrar::RarWriterDelegate> CreateRarWriterDelegate(base::File file) = 0; +#endif // Creates a delegate for analyzing a nested archive extracted from the // current archive. Returns nullptr if the nested archive cannot be handled ++++++ chromium-144.0.7559.132-linux.tar.xz -> chromium-145.0.7632.45-linux.tar.xz ++++++ /work/SRC/openSUSE:Factory/chromium/chromium-144.0.7559.132-linux.tar.xz /work/SRC/openSUSE:Factory/.chromium.new.1977/chromium-145.0.7632.45-linux.tar.xz differ: char 15, line 1 ++++++ chromium-24264eefbfd3464161764f31a2752c5327719452.patch ++++++ commit 24264eefbfd3464161764f31a2752c5327719452 Author: Nic Champagne Williamson <[email protected]> Date: Thu Jan 8 17:12:28 2026 -0800 Fix vaapi jpeg fuzzer As part of semi-automated spanification effort, the jpeg_decoder_fuzzertest.cc was spanified. However, this fuzzer is marked as "no_clusterfuzz" and must be built and run manually, so the fuzz build pipelines skipped it and it was never verified. https://chromium-review.googlesource.com/c/chromium/src/+/7229449 This change fixes the minor compilation issues with the fuzzer, mostly by using "as_byte_span" for the arrays created by the protobuf code, which default to std::string. Bug: 474097238 Change-Id: I575a9d90c546b2702517347245f857ce7f0ac4bc Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7411409 Reviewed-by: Dale Curtis <[email protected]> Reviewed-by: Michael Tang <[email protected]> Commit-Queue: Nic Williamson <[email protected]> Cr-Commit-Position: refs/heads/main@{#1566648} diff --git a/media/gpu/vaapi/fuzzers/jpeg_decoder/jpeg_decoder_fuzzertest.cc b/media/gpu/vaapi/fuzzers/jpeg_decoder/jpeg_decoder_fuzzertest.cc index cd8c7593f911b..28e5914c7035c 100644 --- a/media/gpu/vaapi/fuzzers/jpeg_decoder/jpeg_decoder_fuzzertest.cc +++ b/media/gpu/vaapi/fuzzers/jpeg_decoder/jpeg_decoder_fuzzertest.cc @@ -54,12 +54,12 @@ media::JpegHuffmanTable ConvertToJpegHuffmanTable( std::min(huffman_table.code_length.size(), proto_huffman_table.code_length().size()); base::span(huffman_table.code_length) - .copy_prefix_from(base::span(proto_huffman_table.code_value()) + .copy_prefix_from(base::as_byte_span(proto_huffman_table.code_length()) .first(code_length_min_size)); const size_t code_value_min_size = std::min( huffman_table.code_value.size(), proto_huffman_table.code_value().size()); base::span(huffman_table.code_value) - .copy_prefix_from(base::span(proto_huffman_table.code_value()) + .copy_prefix_from(base::as_byte_span(proto_huffman_table.code_value()) .first(code_value_min_size)); return huffman_table; } @@ -131,7 +131,7 @@ media::JpegParseResult ConvertToJpegParseResult( base::span(parse_result.q_table[i].value) .first(value_min_size) .copy_from_nonoverlapping( - base::span(input_q_table.value()).first(value_min_size)); + base::as_byte_span(input_q_table.value()).first(value_min_size)); } // Convert the scan header. @@ -153,8 +153,7 @@ media::JpegParseResult ConvertToJpegParseResult( // Convert the coded data. Note that we don't do a deep copy, so we assume // that |proto_parse_result| will live for as long as |parse_result|.data is // needed. - parse_result.data = proto_parse_result.data().data(); - parse_result.data_size = proto_parse_result.data().size(); + parse_result.data = base::as_byte_span(proto_parse_result.data()); // Convert the rest of the fields. parse_result.restart_interval = ++++++ chromium-4f46f03a6c6d4c6efc1ad5d0d78030d02326f967.patch ++++++ ++++ 616 lines (skipped) ++++++ ppc-debian-0003-third_party-ffmpeg-Add-ppc64-generated-config.patch ++++++ --- /var/tmp/diff_new_pack.WTuHtz/_old 2026-02-13 12:44:20.368256573 +0100 +++ /var/tmp/diff_new_pack.WTuHtz/_new 2026-02-13 12:44:20.376256908 +0100 @@ -9384,7 +9384,7 @@ =================================================================== --- chromium-141.0.7390.37.orig/third_party/ffmpeg/ffmpeg_generated.gni +++ chromium-141.0.7390.37/third_party/ffmpeg/ffmpeg_generated.gni -@@ -469,6 +469,40 @@ if ((use_linux_config && current_cpu == +@@ -320,6 +320,39 @@ ] } @@ -9403,7 +9403,6 @@ + "libavcodec/ppc/h264chroma_init.c", + "libavcodec/ppc/hpeldsp_altivec.c", + "libavcodec/ppc/idctdsp.c", -+ "libavcodec/ppc/lossless_audiodsp_altivec.c", + "libavcodec/ppc/lossless_videodsp_altivec.c", + "libavcodec/ppc/me_cmp.c", + "libavcodec/ppc/mpegaudiodsp_altivec.c", @@ -9423,8 +9422,8 @@ +} + if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || - (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || + (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome")) { Index: chromium-141.0.7390.37/third_party/ffmpeg/libavcodec/ppc/h264dsp_ppc.c =================================================================== --- /dev/null ++++++ ppc-fedora-0001-Add-PPC64-support-for-boringssl.patch ++++++ --- /var/tmp/diff_new_pack.WTuHtz/_old 2026-02-13 12:44:20.396257747 +0100 +++ /var/tmp/diff_new_pack.WTuHtz/_new 2026-02-13 12:44:20.400257913 +0100 @@ -4169,9 +4169,9 @@ --- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h +++ chromium-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h @@ -81,6 +81,12 @@ inline int vpaes_capable(void) { return - inline int vpaes_capable(void) { return CRYPTO_is_NEON_capable(); } - #endif - + #define VPAES + #define VPAES_CBC + inline int vpaes_capable() { return CRYPTO_is_NEON_capable(); } +#elif defined(OPENSSL_PPC64LE) +#define HWAES + @@ -4180,9 +4180,9 @@ +} #endif - #endif // !NO_ASM + #endif @@ -501,6 +507,13 @@ void aes_gcm_dec_kernel(const uint8_t *i - const u128 Htable[16]); + const AES_KEY *key, const u128 Htable[16]); #endif +#elif defined(OPENSSL_PPC64LE) @@ -4214,7 +4214,7 @@ @@ -330,6 +330,23 @@ int bn_expand(BIGNUM *bn, size_t bits) { } - int bn_resize_words(BIGNUM *bn, size_t words) { + int bssl::bn_resize_words(BIGNUM *bn, size_t words) { +#if defined(OPENSSL_PPC64LE) + // This is a workaround for a miscompilation bug in Clang 7.0.1 on POWER. + // The unittests catch the miscompilation, if it occurs, and it manifests @@ -4946,7 +4946,7 @@ =================================================================== --- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc +++ chromium-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc -@@ -169,5 +169,15 @@ TEST(GCMTest, ABI) { +@@ -169,6 +169,16 @@ TEST(GCMTest, ABI) { } } #endif @@ -4962,6 +4962,7 @@ +#endif // GHASH_ASM_PPC64LE } #endif // SUPPORTS_ABI_TEST && !OPENSSL_NO_ASM + Index: chromium-138.0.7204.35/third_party/boringssl/src/crypto/rand/getrandom_fillin.h =================================================================== --- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/rand/getrandom_fillin.h @@ -6740,8 +6741,8 @@ +} + func isSynthesized(symbol string) bool { - return strings.HasSuffix(symbol, "_bss_get") || - strings.HasPrefix(symbol, "BORINGSSL_bcm_text_") + return strings.HasSuffix(symbol, "_bss_get") + } @@ -1872,6 +2348,8 @@ func detectProcessor(input inputFile) pr switch instructionName { case "movq", "call", "leaq": ++++++ ppc-fedora-0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-.patch ++++++ --- /var/tmp/diff_new_pack.WTuHtz/_old 2026-02-13 12:44:20.428259087 +0100 +++ /var/tmp/diff_new_pack.WTuHtz/_new 2026-02-13 12:44:20.436259422 +0100 @@ -16,7 +16,7 @@ if (v8_current_cpu == "ppc64") { defines += [ "V8_TARGET_ARCH_PPC64" ] cflags += [ "-ffp-contract=off" ] -- if (current_os == "aix") { +- if (current_os == "aix" && !is_clang) { + if (current_os == "linux") { + cflags += [ + # Enable usage of AltiVec, VSX, and other POWER8 and higher features @@ -24,7 +24,7 @@ + "-maltivec", + "-mvsx", + ] -+ } else if (current_os == "aix") { ++ } else if (current_os == "aix" && !is_clang) { cflags += [ # Work around AIX ceil, trunc and round oddities. "-mcpu=power5+", ++++++ ppc-fedora-0002-regenerate-xnn-buildgn.patch ++++++ ++++ 23340 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/chromium/ppc-fedora-0002-regenerate-xnn-buildgn.patch ++++ and /work/SRC/openSUSE:Factory/.chromium.new.1977/ppc-fedora-0002-regenerate-xnn-buildgn.patch ++++++ ppc-fedora-0002-third_party-libvpx-Remove-bad-ppc64-config.patch ++++++ --- /var/tmp/diff_new_pack.WTuHtz/_old 2026-02-13 12:44:20.732271827 +0100 +++ /var/tmp/diff_new_pack.WTuHtz/_new 2026-02-13 12:44:20.740272162 +0100 @@ -2,7 +2,7 @@ +++ /dev/null @@ -1,186 +0,0 @@ -/* -- * Copyright (c) 2025 The WebM project authors. All Rights Reserved. +- * Copyright (c) 2026 The WebM project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source @@ -191,7 +191,7 @@ +++ /dev/null @@ -1,119 +0,0 @@ -/* -- * Copyright (c) 2025 The WebM project authors. All Rights Reserved. +- * Copyright (c) 2026 The WebM project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source @@ -311,7 +311,7 @@ -#endif // VP9_RTCD_H_ --- chromium-136.0.7103.48.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm 2025/05/14 22:49:40 1.1 +++ /dev/null -@@ -1,107 +0,0 @@ +@@ -1,108 +0,0 @@ -@ This file was created from a .asm file -@ using the ads2gas.pl script. -.syntax unified @@ -354,6 +354,7 @@ -.equ HAVE_LASX , 0 -.equ HAVE_VPX_PORTS , 1 -.equ HAVE_PTHREAD_H , 1 +-.equ HAVE_PTHREAD_SETNAME_NP , 1 -.equ HAVE_UNISTD_H , 0 -.equ CONFIG_DEPENDENCY_TRACKING , 1 -.equ CONFIG_EXTERNAL_BUILD , 1 @@ -434,7 +435,7 @@ -const char *vpx_codec_build_config(void) {return cfg;} --- chromium-136.0.7103.48.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.h 2025/05/14 22:49:40 1.1 +++ /dev/null -@@ -1,116 +0,0 @@ +@@ -1,117 +0,0 @@ -/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ -/* */ -/* Use of this source code is governed by a BSD-style license */ @@ -486,6 +487,7 @@ -#define HAVE_LASX 0 -#define HAVE_VPX_PORTS 1 -#define HAVE_PTHREAD_H 1 +-#define HAVE_PTHREAD_SETNAME_NP 1 -#define HAVE_UNISTD_H 0 -#define CONFIG_DEPENDENCY_TRACKING 1 -#define CONFIG_EXTERNAL_BUILD 1 @@ -555,7 +557,7 @@ +++ /dev/null @@ -1,858 +0,0 @@ -/* -- * Copyright (c) 2025 The WebM project authors. All Rights Reserved. +- * Copyright (c) 2026 The WebM project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source @@ -1416,7 +1418,7 @@ +++ /dev/null @@ -1,83 +0,0 @@ -/* -- * Copyright (c) 2025 The WebM project authors. All Rights Reserved. +- * Copyright (c) 2026 The WebM project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source ++++++ ppc-fedora-0009-sandbox-ignore-byte-span-error.patch ++++++ --- a/sandbox/linux/syscall_broker/broker_host.cc +++ b/sandbox/linux/syscall_broker/broker_host.cc @@ -287,7 +287,12 @@ return; } RAW_CHECK(reply->AddIntToMessage(0)); +#ifdef __powerpc64__ + // kernel stat can be padded, triggering std::has_unique_object_representations_v to return false + RAW_CHECK(reply->AddDataToMessage(base::byte_span_from_ref(base::allow_nonunique_obj, sb))); +#else RAW_CHECK(reply->AddDataToMessage(base::byte_span_from_ref(sb))); +#endif } else { #if defined(__NR_fstatat64) DCHECK(command_type == COMMAND_STAT64); ++++++ system-libdrm.patch ++++++ --- /var/tmp/diff_new_pack.WTuHtz/_old 2026-02-13 12:44:20.908279202 +0100 +++ /var/tmp/diff_new_pack.WTuHtz/_new 2026-02-13 12:44:20.916279538 +0100 @@ -31,8 +31,8 @@ =================================================================== --- chromium-142.0.7444.3.orig/ui/ozone/platform/drm/gpu/hardware_display_controller.cc +++ chromium-142.0.7444.3/ui/ozone/platform/drm/gpu/hardware_display_controller.cc -@@ -19,7 +19,7 @@ - #include "base/metrics/histogram_macros.h" +@@ -18,7 +18,7 @@ + #include "base/logging.h" #include "base/trace_event/typed_macros.h" #include "components/viz/common/resources/shared_image_format_utils.h" -#include "third_party/libdrm/src/include/drm/drm_fourcc.h"
