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

Reply via email to