Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package chromium for openSUSE:Factory checked in at 2022-06-26 11:58:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/chromium (Old) and /work/SRC/openSUSE:Factory/.chromium.new.1548 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium" Sun Jun 26 11:58:43 2022 rev:341 rq:985033 version:103.0.5060.53 Changes: -------- --- /work/SRC/openSUSE:Factory/chromium/chromium.changes 2022-06-12 17:42:50.174458642 +0200 +++ /work/SRC/openSUSE:Factory/.chromium.new.1548/chromium.changes 2022-06-26 11:58:59.232329404 +0200 @@ -1,0 +2,28 @@ +Sat Jun 25 10:43:48 UTC 2022 - Callum Farmer <gm...@opensuse.org> + +- Chromium 103.0.5060.53 (boo#1200783) + * CVE-2022-2156: Use after free in Base + * CVE-2022-2157: Use after free in Interest groups + * CVE-2022-2158: Type Confusion in V8 + * CVE-2022-2160: Insufficient policy enforcement in DevTools + * CVE-2022-2161: Use after free in WebApp Provider + * CVE-2022-2162: Insufficient policy enforcement in File System API + * CVE-2022-2163: Use after free in Cast UI and Toolbar + * CVE-2022-2164: Inappropriate implementation in Extensions API + * CVE-2022-2165: Insufficient data validation in URL formatting +- Added patches: + * chromium-103-FrameLoadRequest-type.patch + * chromium-103-SubstringSetMatcher-packed.patch + * chromium-103-VirtualCursor-std-layout.patch + * chromium-103-compiler.patch +- Removed patches: + * chromium-102-compiler.patch + * chromium-91-sql-standard-layout-type.patch + * chromium-101-libxml-unbundle.patch + * chromium-102-fenced_frame_utils-include.patch + * chromium-102-swiftshader-template-instantiation.patch + * chromium-102-symbolize-include.patch + * chromium-97-arm-tflite-cast.patch + * chromium-97-ScrollView-reference.patch + +------------------------------------------------------------------- Old: ---- chromium-101-libxml-unbundle.patch chromium-102-compiler.patch chromium-102-fenced_frame_utils-include.patch chromium-102-swiftshader-template-instantiation.patch chromium-102-symbolize-include.patch chromium-102.0.5005.115.tar.xz chromium-91-sql-standard-layout-type.patch chromium-97-ScrollView-reference.patch chromium-97-arm-tflite-cast.patch New: ---- chromium-103-FrameLoadRequest-type.patch chromium-103-SubstringSetMatcher-packed.patch chromium-103-VirtualCursor-std-layout.patch chromium-103-compiler.patch chromium-103.0.5060.53.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ chromium.spec ++++++ --- /var/tmp/diff_new_pack.NQ3n9x/_old 2022-06-26 11:59:04.032336390 +0200 +++ /var/tmp/diff_new_pack.NQ3n9x/_new 2022-06-26 11:59:04.036336396 +0200 @@ -20,11 +20,14 @@ %define outputdir out # bsc#1108175 %define __provides_exclude ^lib.*\\.so.*$ -%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400 +%if 0%{?suse_version} >= 1550 %bcond_without system_icu -%bcond_without gtk4 %else %bcond_with system_icu +%endif +%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400 +%bcond_without gtk4 +%else %bcond_with gtk4 %endif %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200 @@ -51,7 +54,7 @@ # Chromium built with GCC 11 and LTO enabled crashes (boo#1194055) %bcond_with lto Name: chromium -Version: 102.0.5005.115 +Version: 103.0.5060.53 Release: 0 Summary: Google's open source browser project License: BSD-3-Clause AND LGPL-2.1-or-later @@ -86,11 +89,10 @@ Patch11: chromium-lp151-old-drm.patch # gentoo/fedora/arch patchset Patch12: chromium-78-protobuf-RepeatedPtrField-export.patch -Patch15: chromium-102-compiler.patch +Patch15: chromium-103-compiler.patch Patch17: chromium-86-ImageMemoryBarrierData-init.patch Patch21: chromium-gcc11.patch Patch40: chromium-91-java-only-allowed-in-android-builds.patch -Patch46: chromium-91-sql-standard-layout-type.patch Patch50: chromium-clang-nomerge.patch Patch62: chromium-93-ffmpeg-4.4.patch Patch63: chromium-ffmpeg-lp152.patch @@ -98,15 +100,12 @@ Patch68: chromium-94-ffmpeg-roll.patch Patch69: chromium-93-InkDropHost-crash.patch Patch78: chromium-98-EnumTable-crash.patch -Patch80: chromium-97-ScrollView-reference.patch -Patch86: chromium-97-arm-tflite-cast.patch Patch87: chromium-98-gtk4-build.patch Patch90: chromium-100-InMilliseconds-constexpr.patch -Patch95: chromium-101-libxml-unbundle.patch -Patch97: chromium-102-fenced_frame_utils-include.patch Patch98: chromium-102-regex_pattern-array.patch -Patch99: chromium-102-swiftshader-template-instantiation.patch -Patch100: chromium-102-symbolize-include.patch +Patch101: chromium-103-FrameLoadRequest-type.patch +Patch102: chromium-103-SubstringSetMatcher-packed.patch +Patch103: chromium-103-VirtualCursor-std-layout.patch Patch201: chromium-86-fix-vaapi-on-intel.patch # PATCH-FIX-SUSE: allow prop codecs to be set with chromium branding Patch202: chromium-prop-codecs.patch @@ -259,8 +258,8 @@ BuildRequires: pkgconfig(zlib) %endif %if %{with gtk4} -BuildRequires: pkgconfig(gtk4) BuildRequires: pkgconfig(atk-bridge-2.0) +BuildRequires: pkgconfig(gtk4) %else BuildRequires: pkgconfig(gtk+-3.0) %endif @@ -331,7 +330,7 @@ ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip # python3 -mkdir $HOME/bin +mkdir -p $HOME/bin export PYTHON=python3 ln -sfn %{_bindir}/$PYTHON $HOME/bin/python export PATH="$HOME/bin/:$PATH" @@ -396,6 +395,7 @@ third_party/ced third_party/cld_3 third_party/closure_compiler + third_party/cpuinfo third_party/crashpad third_party/crashpad/crashpad/third_party/lss third_party/crashpad/crashpad/third_party/zlib @@ -432,7 +432,9 @@ third_party/fdlibm third_party/fft2d third_party/flatbuffers + third_party/fp16 third_party/fusejs/dist + third_party/fxdiv third_party/gemmlowp third_party/google_input_tools third_party/google_input_tools/third_party/closure_library @@ -510,6 +512,7 @@ third_party/private_membership third_party/protobuf third_party/protobuf/third_party/six + third_party/pthreadpool third_party/pyjson5 third_party/qcms third_party/rnnoise @@ -530,7 +533,7 @@ third_party/swiftshader/third_party/llvm-10.0 third_party/swiftshader/third_party/llvm-subzero third_party/swiftshader/third_party/marl - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1 + third_party/swiftshader/third_party/SPIRV-Headers third_party/swiftshader/third_party/SPIRV-Tools third_party/swiftshader/third_party/subzero third_party/tensorflow-text @@ -557,6 +560,7 @@ third_party/wuffs third_party/x11proto third_party/xcbproto + third_party/xnnpack third_party/zlib/google third_party/zxcvbn-cpp url/third_party/mozilla @@ -826,6 +830,8 @@ mkdir %{buildroot}%{_sysconfdir}/chromium/policies/managed mkdir %{buildroot}%{_sysconfdir}/chromium/policies/recommended chmod -w %{buildroot}%{_sysconfdir}/chromium/policies/managed +mkdir -p %{buildroot}%{_datadir}/chromium/extensions +mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts # SVG install -Dm 0644 %{SOURCE104} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/chromium-browser.svg @@ -834,7 +840,13 @@ %files %license LICENSE %doc AUTHORS -%config %{_sysconfdir}/chromium +%{_datadir}/chromium +%dir %{_sysconfdir}/chromium +%dir %{_sysconfdir}/chromium/policies +%dir %{_sysconfdir}/chromium/policies/managed +%dir %{_sysconfdir}/chromium/policies/recommended +%dir %{_sysconfdir}/chromium/native-messaging-hosts +%config %{_sysconfdir}/chromium/master_preferences %{_libdir}/chromium %{_datadir}/applications/*.desktop %{_datadir}/metainfo/chromium-browser.appdata.xml ++++++ chromium-103-FrameLoadRequest-type.patch ++++++ >From 491bf840da4f76fa3591cc0aa2f4c19cdbe57ec4 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Thu, 12 May 2022 11:58:29 +0000 Subject: [PATCH] GCC: fix ambiguous references in blink::FrameLoadRequest Add namespace to avoid confusion. --- third_party/blink/renderer/core/loader/frame_load_request.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/blink/renderer/core/loader/frame_load_request.h b/third_party/blink/renderer/core/loader/frame_load_request.h index 444b25c..a86814d 100644 --- a/third_party/blink/renderer/core/loader/frame_load_request.h +++ b/third_party/blink/renderer/core/loader/frame_load_request.h @@ -179,7 +179,7 @@ struct CORE_EXPORT FrameLoadRequest { impression_ = impression; } - const absl::optional<Impression>& Impression() const { return impression_; } + const absl::optional<blink::Impression>& Impression() const { return impression_; } bool CanDisplay(const KURL&) const; -- 2.35.1 ++++++ chromium-103-SubstringSetMatcher-packed.patch ++++++ >From 3d274856e792a361336eb4ae1670bc9c1905f0cb Mon Sep 17 00:00:00 2001 From: Steinar H. Gunderson <se...@chromium.org> Date: Thu, 12 May 2022 16:42:40 +0200 Subject: [PATCH] Make AhoCorasickNode 4-aligned. This should fix an issue where std::vector could allocate unaligned memory for AhoCorasickNode, and we'd then return a pointer to inline_edges, where a caller would expect the pointer to be aligned but it wasn't. Change-Id: Id9dff044c61f8e46062c63b8480b18ebc68c4862 --- diff --git a/base/substring_set_matcher/substring_set_matcher.cc b/base/substring_set_matcher/substring_set_matcher.cc index e110047..ef0b750 100644 --- a/base/substring_set_matcher/substring_set_matcher.cc +++ b/base/substring_set_matcher/substring_set_matcher.cc @@ -424,7 +424,12 @@ edges_.inline_edges[num_edges()] = AhoCorasickEdge{label, node}; if (label == kFailureNodeLabel) { // Make sure that kFailureNodeLabel is first. - std::swap(edges_.inline_edges[0], edges_.inline_edges[num_edges()]); + // NOTE: We don't use std::swap here, because GCC + // doesn't understand that inline_edges[] is 4-aligned + // and gives a warning. + AhoCorasickEdge temp = edges_.inline_edges[0]; + edges_.inline_edges[0] = edges_.inline_edges[num_edges()]; + edges_.inline_edges[num_edges()] = temp; } --num_free_edges_; return; diff --git a/base/substring_set_matcher/substring_set_matcher.cc b/base/substring_set_matcher/substring_set_matcher.cc index e110047..ef0b750 100644 --- a/base/substring_set_matcher/substring_set_matcher.h +++ b/base/substring_set_matcher/substring_set_matcher.h @@ -154,8 +154,9 @@ static constexpr uint32_t kEmptyLabel = 0x103; // A node in the trie, packed tightly together so that it occupies 12 bytes - // (both on 32- and 64-bit platforms). - class AhoCorasickNode { + // (both on 32- and 64-bit platforms), but aligned to at least 4 (see the + // comment on edges_). + class alignas(AhoCorasickEdge) AhoCorasickNode { public: AhoCorasickNode(); ~AhoCorasickNode(); @@ -178,6 +179,10 @@ NodeID GetEdgeNoInline(uint32_t label) const; void SetEdge(uint32_t label, NodeID node); const AhoCorasickEdge* edges() const { + // NOTE: Returning edges_.inline_edges here is fine, because it's + // the first thing in the struct (see the comment on edges_). + DCHECK_EQ(0u, reinterpret_cast<uintptr_t>(edges_.inline_edges) % + alignof(AhoCorasickEdge)); return edges_capacity_ == 0 ? edges_.inline_edges : edges_.edges; } @@ -258,6 +263,11 @@ // in the first slot if it exists (ie., is not equal to kRootID), since we // need to access that label during every single node we look at during // traversal. + // + // NOTE: Keep this the first member in the struct, so that inline_edges gets + // 4-aligned (since the class is marked as such, despite being packed. + // Otherwise, edges() can return an unaligned pointer marked as aligned + // (the unalignedness gets lost). static constexpr int kNumInlineEdges = 2; union { // Out-of-line edge storage, having room for edges_capacity_ elements. ++++++ chromium-103-VirtualCursor-std-layout.patch ++++++ >From 144479ad7b4287bee4067f95e4218f614798a865 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Sun, 16 Jan 2022 19:15:26 +0000 Subject: [PATCH] sql: make VirtualCursor standard layout type sql::recover::VirtualCursor needs to be a standard layout type, but has members of type std::unique_ptr. However, std::unique_ptr is not guaranteed to be standard layout. Compiling with clang combined with gcc-11 libstdc++ fails because of this. Bug: 1189788 Change-Id: Ia6dc388cc5ef1c0f2afc75f8ca45b9f12687ca9c --- diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc index cc9420e5..f12d8fa 100644 --- a/sql/recover_module/btree.cc +++ b/sql/recover_module/btree.cc @@ -136,16 +136,22 @@ "Move the destructor to the .cc file if it's non-trival"); #endif // !DCHECK_IS_ON() -LeafPageDecoder::LeafPageDecoder(DatabasePageReader* db_reader) noexcept - : page_id_(db_reader->page_id()), - db_reader_(db_reader), - cell_count_(ComputeCellCount(db_reader)), - next_read_index_(0), - last_record_size_(0) { +LeafPageDecoder::LeafPageDecoder() noexcept = default; + +void LeafPageDecoder::Initialize(DatabasePageReader* db_reader) { + page_id_ = db_reader->page_id(); + db_reader_ = db_reader; + cell_count_ = ComputeCellCount(db_reader); + next_read_index_ = 0; + last_record_size_ = 0; DCHECK(IsOnValidPage(db_reader)); DCHECK(DatabasePageReader::IsValidPageId(page_id_)); } +void LeafPageDecoder::Reset() { + db_reader_ = nullptr; +} + bool LeafPageDecoder::TryAdvance() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK(CanAdvance()); diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h index eaa087a5..df0e0c9 100644 --- a/sql/recover_module/btree.h +++ b/sql/recover_module/btree.h @@ -101,9 +101,7 @@ public: // Creates a decoder for a DatabasePageReader's last read page. // - // |db_reader| must have been used to read an inner page of a table B-tree. - // |db_reader| must outlive this instance. - explicit LeafPageDecoder(DatabasePageReader* db_reader) noexcept; + LeafPageDecoder() noexcept; ~LeafPageDecoder() noexcept = default; LeafPageDecoder(const LeafPageDecoder&) = delete; @@ -151,6 +149,17 @@ // read as long as CanAdvance() returns true. bool TryAdvance(); + // Initialize with DatabasePageReader + // |db_reader| must have been used to read an inner page of a table B-tree. + // |db_reader| must outlive this instance. + void Initialize(DatabasePageReader* db_reader); + + // Reset internal DatabasePageReader + void Reset(); + + // True if DatabasePageReader is valid + bool IsValid() { return (db_reader_ != nullptr); } + // True if the given reader may point to an inner page in a table B-tree. // // The last ReadPage() call on |db_reader| must have succeeded. @@ -164,14 +173,14 @@ static int ComputeCellCount(DatabasePageReader* db_reader); // The number of the B-tree page this reader is reading. - const int64_t page_id_; + int64_t page_id_; // Used to read the tree page. // // Raw pointer usage is acceptable because this instance's owner is expected // to ensure that the DatabasePageReader outlives this. - DatabasePageReader* const db_reader_; + DatabasePageReader* db_reader_; // Caches the ComputeCellCount() value for this reader's page. - const int cell_count_ = ComputeCellCount(db_reader_); + int cell_count_; // The reader's cursor state. // diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc index 4f827ed..240de499 100644 --- a/sql/recover_module/cursor.cc +++ b/sql/recover_module/cursor.cc @@ -28,7 +28,7 @@ int VirtualCursor::First() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); inner_decoders_.clear(); - leaf_decoder_ = nullptr; + leaf_decoder_.Reset(); AppendPageDecoder(table_->root_page_id()); return Next(); @@ -38,18 +38,18 @@ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); record_reader_.Reset(); - while (!inner_decoders_.empty() || leaf_decoder_.get()) { - if (leaf_decoder_.get()) { - if (!leaf_decoder_->CanAdvance()) { + while (!inner_decoders_.empty() || leaf_decoder_.IsValid()) { + if (leaf_decoder_.IsValid()) { + if (!leaf_decoder_.CanAdvance()) { // The leaf has been exhausted. Remove it from the DFS stack. - leaf_decoder_ = nullptr; + leaf_decoder_.Reset(); continue; } - if (!leaf_decoder_->TryAdvance()) + if (!leaf_decoder_.TryAdvance()) continue; - if (!payload_reader_.Initialize(leaf_decoder_->last_record_size(), - leaf_decoder_->last_record_offset())) { + if (!payload_reader_.Initialize(leaf_decoder_.last_record_size(), + leaf_decoder_.last_record_offset())) { continue; } if (!record_reader_.Initialize()) @@ -101,13 +101,13 @@ int64_t VirtualCursor::RowId() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK(record_reader_.IsInitialized()); - DCHECK(leaf_decoder_.get()); - return leaf_decoder_->last_record_rowid(); + DCHECK(leaf_decoder_.IsValid()); + return leaf_decoder_.last_record_rowid(); } void VirtualCursor::AppendPageDecoder(int page_id) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(leaf_decoder_.get() == nullptr) + DCHECK(!leaf_decoder_.IsValid()) << __func__ << " must only be called when the current path has no leaf decoder"; @@ -115,7 +115,7 @@ return; if (LeafPageDecoder::IsOnValidPage(&db_reader_)) { - leaf_decoder_ = std::make_unique<LeafPageDecoder>(&db_reader_); + leaf_decoder_.Initialize(&db_reader_); return; } diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h index 845b785..cc4e85f8 100644 --- a/sql/recover_module/cursor.h +++ b/sql/recover_module/cursor.h @@ -130,7 +130,7 @@ std::vector<std::unique_ptr<InnerPageDecoder>> inner_decoders_; // Decodes the leaf page containing records. - std::unique_ptr<LeafPageDecoder> leaf_decoder_; + LeafPageDecoder leaf_decoder_; SEQUENCE_CHECKER(sequence_checker_); }; diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc index 58e75de..69d98cef 100644 --- a/sql/recover_module/pager.cc +++ b/sql/recover_module/pager.cc @@ -23,8 +23,7 @@ "ints are not appropriate for representing page IDs"); DatabasePageReader::DatabasePageReader(VirtualTable* table) - : page_data_(std::make_unique<uint8_t[]>(table->page_size())), - table_(table) { + : page_data_(table->page_size()), table_(table) { DCHECK(table != nullptr); DCHECK(IsValidPageSize(table->page_size())); } @@ -58,7 +57,7 @@ "The |read_offset| computation above may overflow"); int sqlite_status = - RawRead(sqlite_file, read_size, read_offset, page_data_.get()); + RawRead(sqlite_file, read_size, read_offset, page_data_.data()); // |page_id_| needs to be set to kInvalidPageId if the read failed. // Otherwise, future ReadPage() calls with the previous |page_id_| value diff --git a/sql/recover_module/pager.h b/sql/recover_module/pager.h index 07cac3cb..d08f093 100644 --- a/sql/recover_module/pager.h +++ b/sql/recover_module/pager.h @@ -6,8 +6,8 @@ #define SQL_RECOVER_MODULE_PAGER_H_ #include <cstdint> -#include <memory> #include <ostream> +#include <vector> #include "base/check_op.h" #include "base/memory/raw_ptr.h" @@ -72,7 +72,7 @@ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_NE(page_id_, kInvalidPageId) << "Successful ReadPage() required before accessing pager state"; - return page_data_.get(); + return page_data_.data(); } // The number of bytes in the page read by the last ReadPage() call. @@ -139,7 +139,7 @@ int page_id_ = kInvalidPageId; // Stores the bytes of the last page successfully read by ReadPage(). // The content is undefined if the last call to ReadPage() did not succeed. - const std::unique_ptr<uint8_t[]> page_data_; + std::vector<uint8_t> page_data_; // Raw pointer usage is acceptable because this instance's owner is expected // to ensure that the VirtualTable outlives this. const raw_ptr<VirtualTable> table_; ++++++ chromium-102-compiler.patch -> chromium-103-compiler.patch ++++++ --- /work/SRC/openSUSE:Factory/chromium/chromium-102-compiler.patch 2022-05-28 22:15:11.232823499 +0200 +++ /work/SRC/openSUSE:Factory/.chromium.new.1548/chromium-103-compiler.patch 2022-06-26 11:58:46.432310774 +0200 @@ -1,6 +1,6 @@ From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001 From: Mike Gilbert <flop...@gentoo.org> -Date: Fri, 22 Apr 2022 09:05:24 +0000 +Date: Tue, 3 May 2022 10:51:55 +0000 Subject: [PATCH] Disable various compiler configs --- @@ -8,7 +8,7 @@ 1 file changed, 17 insertions(+), 97 deletions(-) diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index d40843b..b92f03b 100644 +index f378b95..cb2aeb3 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn @@ -286,9 +286,7 @@ config("compiler") { @@ -53,7 +53,7 @@ # Rust compiler setup (for either clang or rustc). if (enable_rust) { defines += [ "RUST_ENABLED" ] -@@ -1232,45 +1205,6 @@ config("compiler_deterministic") { +@@ -1231,45 +1204,6 @@ config("compiler_deterministic") { } } @@ -99,8 +99,8 @@ # Tells the compiler not to use absolute paths when passing the default # paths to the tools it invokes. We don't want this because we don't # really need it and it can mess up the goma cache entries. -@@ -1538,15 +1472,6 @@ config("default_warnings") { - cflags += [ "-Wno-deprecated-non-prototype" ] +@@ -1534,15 +1468,6 @@ config("default_warnings") { + cflags += [ "-Wno-unqualified-std-cast-call" ] } - if (!is_nacl && !(is_chromeos || @@ -115,7 +115,7 @@ if (is_fuchsia) { # TODO(https://bugs.chromium.org/p/fuchsia/issues/detail?id=77383) cflags += [ "-Wno-deprecated-copy" ] -@@ -1615,7 +1540,7 @@ config("chromium_code") { +@@ -1611,7 +1536,7 @@ config("chromium_code") { defines = [ "_HAS_NODISCARD" ] } } else { @@ -124,7 +124,7 @@ if (treat_warnings_as_errors) { cflags += [ "-Werror" ] -@@ -1624,10 +1549,6 @@ config("chromium_code") { +@@ -1620,10 +1545,6 @@ config("chromium_code") { # well. ldflags = [ "-Werror" ] } @@ -135,7 +135,7 @@ # In Chromium code, we define __STDC_foo_MACROS in order to get the # C99 macros on Mac and Linux. -@@ -1636,15 +1557,6 @@ config("chromium_code") { +@@ -1632,15 +1553,6 @@ config("chromium_code") { "__STDC_FORMAT_MACROS", ] @@ -151,7 +151,7 @@ if (is_mac) { cflags_objc = [ "-Wobjc-missing-property-synthesis" ] cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -2035,7 +1947,8 @@ config("default_stack_frames") { +@@ -2031,7 +1943,8 @@ config("default_stack_frames") { } # Default "optimization on" config. @@ -161,7 +161,7 @@ if (is_win) { if (chrome_pgo_phase != 2) { # Favor size over speed, /O1 must be before the common flags. -@@ -2073,7 +1986,8 @@ config("optimize") { +@@ -2069,7 +1982,8 @@ config("optimize") { } # Turn off optimizations. @@ -171,7 +171,7 @@ if (is_win) { cflags = [ "/Od", # Disable optimization. -@@ -2113,7 +2027,8 @@ config("no_optimize") { +@@ -2109,7 +2023,8 @@ config("no_optimize") { # Turns up the optimization level. On Windows, this implies whole program # optimization and link-time code generation which is very expensive and should # be used sparingly. @@ -181,7 +181,7 @@ if (is_nacl && is_nacl_irt) { # The NaCl IRT is a special case and always wants its own config. # Various components do: -@@ -2146,7 +2061,8 @@ config("optimize_max") { +@@ -2142,7 +2057,8 @@ config("optimize_max") { # # TODO(crbug.com/621335) - rework how all of these configs are related # so that we don't need this disclaimer. @@ -191,7 +191,7 @@ if (is_nacl && is_nacl_irt) { # The NaCl IRT is a special case and always wants its own config. # Various components do: -@@ -2172,7 +2088,8 @@ config("optimize_speed") { +@@ -2168,7 +2084,8 @@ config("optimize_speed") { } } @@ -201,7 +201,7 @@ cflags = [ "-O1" ] + common_optimize_on_cflags rustflags = [ "-Copt-level=1" ] ldflags = common_optimize_on_ldflags -@@ -2291,7 +2208,8 @@ config("win_pdbaltpath") { +@@ -2287,7 +2204,8 @@ config("win_pdbaltpath") { } # Full symbols. @@ -211,7 +211,7 @@ if (is_win) { if (is_clang) { cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2419,7 +2337,8 @@ config("symbols") { +@@ -2415,7 +2333,8 @@ config("symbols") { # Minimal symbols. # This config guarantees to hold symbol for stack trace which are shown to user # when crash happens in unittests running on buildbot. @@ -221,7 +221,7 @@ if (is_win) { # Functions, files, and line tables only. cflags = [] -@@ -2492,7 +2411,8 @@ config("minimal_symbols") { +@@ -2488,7 +2407,8 @@ config("minimal_symbols") { # This configuration contains function names only. That is, the compiler is # told to not generate debug information and the linker then just puts function # names in the final debug information. @@ -233,4 +233,3 @@ -- 2.35.1 - ++++++ chromium-102.0.5005.115.tar.xz -> chromium-103.0.5060.53.tar.xz ++++++ /work/SRC/openSUSE:Factory/chromium/chromium-102.0.5005.115.tar.xz /work/SRC/openSUSE:Factory/.chromium.new.1548/chromium-103.0.5060.53.tar.xz differ: char 26, line 1 ++++++ chromium-clang-nomerge.patch ++++++ --- /var/tmp/diff_new_pack.NQ3n9x/_old 2022-06-26 11:59:04.176336600 +0200 +++ /var/tmp/diff_new_pack.NQ3n9x/_new 2022-06-26 11:59:04.176336600 +0200 @@ -32,9 +32,9 @@ #endif // defined(__clang_analyzer__) // Use nomerge attribute to disable optimization of merging multiple same calls. --#if defined(__clang__) && __has_attribute(nomerge) +-#if defined(__clang__) && HAS_ATTRIBUTE(nomerge) +#if defined(__clang__) && (__clang_major__ >= 12) && \ -+ __has_attribute(nomerge) && !defined(OS_CHROMEOS) ++ HAS_ATTRIBUTE(nomerge) && !defined(OS_CHROMEOS) #define NOMERGE [[clang::nomerge]] #else #define NOMERGE