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-02-05 23:23:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/chromium (Old) and /work/SRC/openSUSE:Factory/.chromium.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium" Sat Feb 5 23:23:01 2022 rev:321 rq:951665 version:98.0.4758.80 Changes: -------- --- /work/SRC/openSUSE:Factory/chromium/chromium.changes 2022-01-22 08:18:59.102579943 +0100 +++ /work/SRC/openSUSE:Factory/.chromium.new.1898/chromium.changes 2022-02-05 23:23:31.471784618 +0100 @@ -1,0 +2,30 @@ +Thu Feb 3 19:35:46 UTC 2022 - Andreas Stieger <andreas.stie...@gmx.de> + +- Chromium 98.0.4758.80 (boo#1195420) + * CVE-2022-0452: Use after free in Safe Browsing + * CVE-2022-0453: Use after free in Reader Mode + * CVE-2022-0454: Heap buffer overflow in ANGLE + * CVE-2022-0455: Inappropriate implementation in Full Screen Mode + * CVE-2022-0456: Use after free in Web Search + * CVE-2022-0457: Type Confusion in V8 + * CVE-2022-0459: Use after free in Screen Capture + * CVE-2022-0460: Use after free in Window Dialog + * CVE-2022-0461: Policy bypass in COOP + * CVE-2022-0462: Inappropriate implementation in Scroll + * CVE-2022-0463: Use after free in Accessibility + * CVE-2022-0464: Use after free in Accessibility + * CVE-2022-0465: Use after free in Extensions + * CVE-2022-0466: Inappropriate implementation in Extensions Platform + * CVE-2022-0467: Inappropriate implementation in Pointer Lock + * CVE-2022-0468: Use after free in Payments + * CVE-2022-0469: Use after free in Cast + * CVE-2022-0470: Out of bounds memory access in V8 + * Various fixes from internal audits, fuzzing and other initiatives +- drop upstreamed patches: + * chromium-97-Point-constexpr.patch +- add patches: + * chromium-98-MiraclePtr-gcc-ice.patch + * chromium-98-WaylandFrameManager-check.patch +- change chromium-97-compiler.patch to chromium-98-compiler.patch + +------------------------------------------------------------------- Old: ---- chromium-97-Point-constexpr.patch chromium-97-compiler.patch chromium-97.0.4692.99.tar.xz New: ---- chromium-98-MiraclePtr-gcc-ice.patch chromium-98-WaylandFrameManager-check.patch chromium-98-compiler.patch chromium-98.0.4758.80.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ chromium.spec ++++++ --- /var/tmp/diff_new_pack.7je3Oc/_old 2022-02-05 23:23:38.059739559 +0100 +++ /var/tmp/diff_new_pack.7je3Oc/_new 2022-02-05 23:23:38.063739532 +0100 @@ -49,7 +49,7 @@ # Chromium built with GCC 11 and LTO enabled crashes (boo#1194055) %bcond_with lto Name: chromium -Version: 97.0.4692.99 +Version: 98.0.4758.80 Release: 0 Summary: Google's open source browser project License: BSD-3-Clause AND LGPL-2.1-or-later @@ -83,7 +83,7 @@ # gentoo/fedora/arch patchset Patch12: chromium-78-protobuf-RepeatedPtrField-export.patch Patch13: chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch -Patch15: chromium-97-compiler.patch +Patch15: chromium-98-compiler.patch Patch17: chromium-86-ImageMemoryBarrierData-init.patch Patch18: chromium-86-nearby-explicit.patch Patch21: chromium-gcc11.patch @@ -100,9 +100,10 @@ Patch69: chromium-93-InkDropHost-crash.patch Patch72: chromium-95-quiche-include.patch Patch78: chromium-96-EnumTable-crash.patch -Patch79: chromium-97-Point-constexpr.patch Patch80: chromium-97-ScrollView-reference.patch Patch81: chromium-95-libyuv-arm.patch +Patch82: chromium-98-MiraclePtr-gcc-ice.patch +Patch83: chromium-98-WaylandFrameManager-check.patch Patch101: chromium-86-fix-vaapi-on-intel.patch # PATCH-FIX-SUSE: allow prop codecs to be set with chromium branding Patch102: chromium-prop-codecs.patch ++++++ chromium-91-sql-standard-layout-type.patch ++++++ --- /var/tmp/diff_new_pack.7je3Oc/_old 2022-02-05 23:23:38.147738957 +0100 +++ /var/tmp/diff_new_pack.7je3Oc/_new 2022-02-05 23:23:38.155738902 +0100 @@ -20,11 +20,11 @@ sql/recover_module/pager.h | 5 +++-- 6 files changed, 47 insertions(+), 29 deletions(-) -diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc -index 9ecaafe8a3..839318abf9 100644 ---- a/sql/recover_module/btree.cc -+++ b/sql/recover_module/btree.cc -@@ -135,16 +135,25 @@ static_assert(std::is_trivially_destructible<LeafPageDecoder>::value, +Index: chromium-98.0.4758.80/sql/recover_module/btree.cc +=================================================================== +--- chromium-98.0.4758.80.orig/sql/recover_module/btree.cc ++++ chromium-98.0.4758.80/sql/recover_module/btree.cc +@@ -136,16 +136,25 @@ static_assert(std::is_trivially_destruct "Move the destructor to the .cc file if it's non-trival"); #endif // !DCHECK_IS_ON() @@ -56,11 +56,11 @@ 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 d76d076bf6..33114b01fa 100644 ---- a/sql/recover_module/btree.h -+++ b/sql/recover_module/btree.h -@@ -102,7 +102,7 @@ class LeafPageDecoder { +Index: chromium-98.0.4758.80/sql/recover_module/btree.h +=================================================================== +--- chromium-98.0.4758.80.orig/sql/recover_module/btree.h ++++ chromium-98.0.4758.80/sql/recover_module/btree.h +@@ -103,7 +103,7 @@ class LeafPageDecoder { // // |db_reader| must have been used to read an inner page of a table B-tree. // |db_reader| must outlive this instance. @@ -69,7 +69,7 @@ ~LeafPageDecoder() noexcept = default; LeafPageDecoder(const LeafPageDecoder&) = delete; -@@ -150,6 +150,15 @@ class LeafPageDecoder { +@@ -151,6 +151,15 @@ class LeafPageDecoder { // read as long as CanAdvance() returns true. bool TryAdvance(); @@ -85,7 +85,7 @@ // 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. -@@ -163,14 +172,14 @@ class LeafPageDecoder { +@@ -164,14 +173,14 @@ class LeafPageDecoder { static int ComputeCellCount(DatabasePageReader* db_reader); // The number of the B-tree page this reader is reading. @@ -103,11 +103,11 @@ // The reader's cursor state. // -diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc -index 0029ff9295..42548bc4b5 100644 ---- a/sql/recover_module/cursor.cc -+++ b/sql/recover_module/cursor.cc -@@ -26,7 +26,7 @@ VirtualCursor::~VirtualCursor() { +Index: chromium-98.0.4758.80/sql/recover_module/cursor.cc +=================================================================== +--- chromium-98.0.4758.80.orig/sql/recover_module/cursor.cc ++++ chromium-98.0.4758.80/sql/recover_module/cursor.cc +@@ -28,7 +28,7 @@ VirtualCursor::~VirtualCursor() { int VirtualCursor::First() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); inner_decoders_.clear(); @@ -116,7 +116,7 @@ AppendPageDecoder(table_->root_page_id()); return Next(); -@@ -36,18 +36,18 @@ int VirtualCursor::Next() { +@@ -38,18 +38,18 @@ int VirtualCursor::Next() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); record_reader_.Reset(); @@ -142,7 +142,7 @@ continue; } if (!record_reader_.Initialize()) -@@ -99,13 +99,13 @@ int VirtualCursor::ReadColumn(int column_index, +@@ -101,13 +101,13 @@ int VirtualCursor::ReadColumn(int column int64_t VirtualCursor::RowId() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK(record_reader_.IsInitialized()); @@ -159,7 +159,7 @@ << __func__ << " must only be called when the current path has no leaf decoder"; -@@ -113,7 +113,7 @@ void VirtualCursor::AppendPageDecoder(int page_id) { +@@ -115,7 +115,7 @@ void VirtualCursor::AppendPageDecoder(in return; if (LeafPageDecoder::IsOnValidPage(&db_reader_)) { @@ -168,11 +168,11 @@ return; } -diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h -index afcd6900e1..b15c31d425 100644 ---- a/sql/recover_module/cursor.h -+++ b/sql/recover_module/cursor.h -@@ -129,7 +129,7 @@ class VirtualCursor { +Index: chromium-98.0.4758.80/sql/recover_module/cursor.h +=================================================================== +--- chromium-98.0.4758.80.orig/sql/recover_module/cursor.h ++++ chromium-98.0.4758.80/sql/recover_module/cursor.h +@@ -130,7 +130,7 @@ class VirtualCursor { std::vector<std::unique_ptr<InnerPageDecoder>> inner_decoders_; // Decodes the leaf page containing records. @@ -181,11 +181,11 @@ SEQUENCE_CHECKER(sequence_checker_); }; -diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc -index 58e75de270..5fe96204e5 100644 ---- a/sql/recover_module/pager.cc -+++ b/sql/recover_module/pager.cc -@@ -23,8 +23,7 @@ static_assert(DatabasePageReader::kMaxPageId <= std::numeric_limits<int>::max(), +Index: chromium-98.0.4758.80/sql/recover_module/pager.cc +=================================================================== +--- chromium-98.0.4758.80.orig/sql/recover_module/pager.cc ++++ chromium-98.0.4758.80/sql/recover_module/pager.cc +@@ -23,8 +23,7 @@ static_assert(DatabasePageReader::kMaxPa "ints are not appropriate for representing page IDs"); DatabasePageReader::DatabasePageReader(VirtualTable* table) @@ -195,7 +195,7 @@ DCHECK(table != nullptr); DCHECK(IsValidPageSize(table->page_size())); } -@@ -57,8 +56,8 @@ int DatabasePageReader::ReadPage(int page_id) { +@@ -57,8 +56,8 @@ int DatabasePageReader::ReadPage(int pag std::numeric_limits<int64_t>::max(), "The |read_offset| computation above may overflow"); @@ -206,10 +206,10 @@ // |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 0e388ddc3b..99314e30ff 100644 ---- a/sql/recover_module/pager.h -+++ b/sql/recover_module/pager.h +Index: chromium-98.0.4758.80/sql/recover_module/pager.h +=================================================================== +--- chromium-98.0.4758.80.orig/sql/recover_module/pager.h ++++ chromium-98.0.4758.80/sql/recover_module/pager.h @@ -5,6 +5,7 @@ #ifndef SQL_RECOVER_MODULE_PAGER_H_ #define SQL_RECOVER_MODULE_PAGER_H_ @@ -218,7 +218,7 @@ #include <cstdint> #include <memory> #include <ostream> -@@ -70,7 +71,7 @@ class DatabasePageReader { +@@ -72,7 +73,7 @@ class DatabasePageReader { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_NE(page_id_, kInvalidPageId) << "Successful ReadPage() required before accessing pager state"; @@ -227,7 +227,7 @@ } // The number of bytes in the page read by the last ReadPage() call. -@@ -137,7 +138,7 @@ class DatabasePageReader { +@@ -139,7 +140,7 @@ class DatabasePageReader { 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. @@ -235,5 +235,5 @@ + const std::array<uint8_t, kMaxPageSize> page_data_; // Raw pointer usage is acceptable because this instance's owner is expected // to ensure that the VirtualTable outlives this. - VirtualTable* const table_; + const raw_ptr<VirtualTable> table_; ++++++ chromium-96-EnumTable-crash.patch ++++++ --- /var/tmp/diff_new_pack.7je3Oc/_old 2022-02-05 23:23:38.187738683 +0100 +++ /var/tmp/diff_new_pack.7je3Oc/_new 2022-02-05 23:23:38.191738656 +0100 @@ -1,7 +1,7 @@ -diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h -index aad9e08..2f3fcad 100644 ---- a/components/cast_channel/enum_table.h -+++ b/components/cast_channel/enum_table.h +Index: chromium-98.0.4758.80/components/cast_channel/enum_table.h +=================================================================== +--- chromium-98.0.4758.80.orig/components/cast_channel/enum_table.h ++++ chromium-98.0.4758.80/components/cast_channel/enum_table.h @@ -8,6 +8,7 @@ #include <cstdint> #include <cstring> @@ -9,8 +9,8 @@ +#include <vector> #include "base/check_op.h" - #include "base/macros.h" -@@ -188,7 +189,6 @@ class + #include "base/notreached.h" +@@ -187,7 +188,6 @@ class inline constexpr GenericEnumTableEntry(int32_t value); inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str); @@ -18,7 +18,7 @@ GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete; private: -@@ -254,7 +254,6 @@ class EnumTable { +@@ -253,7 +253,6 @@ class EnumTable { constexpr Entry(E value, base::StringPiece str) : GenericEnumTableEntry(static_cast<int32_t>(value), str) {} @@ -26,7 +26,7 @@ Entry& operator=(const Entry&) = delete; }; -@@ -313,15 +312,14 @@ class EnumTable { +@@ -312,15 +311,14 @@ class EnumTable { if (is_sorted_) { const std::size_t index = static_cast<std::size_t>(value); if (ANALYZER_ASSUME_TRUE(index < data_.size())) { @@ -44,7 +44,7 @@ } // This overload of GetString is designed for cases where the argument is a -@@ -349,8 +347,7 @@ class EnumTable { +@@ -348,8 +346,7 @@ class EnumTable { // enum value directly. absl::optional<E> GetEnum(base::StringPiece str) const { auto* entry = GenericEnumTableEntry::FindByString( @@ -54,7 +54,7 @@ return entry ? static_cast<E>(entry->value) : absl::optional<E>(); } -@@ -365,7 +362,7 @@ class EnumTable { +@@ -364,7 +361,7 @@ class EnumTable { // Align the data on a cache line boundary. alignas(64) #endif @@ -63,7 +63,7 @@ bool is_sorted_; constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted) -@@ -377,8 +374,8 @@ class EnumTable { +@@ -376,8 +373,8 @@ class EnumTable { for (std::size_t i = 0; i < data.size(); i++) { for (std::size_t j = i + 1; j < data.size(); j++) { ++++++ chromium-97-ScrollView-reference.patch ++++++ --- /var/tmp/diff_new_pack.7je3Oc/_old 2022-02-05 23:23:38.203738573 +0100 +++ /var/tmp/diff_new_pack.7je3Oc/_new 2022-02-05 23:23:38.203738573 +0100 @@ -7,13 +7,13 @@ ui/views/controls/scroll_view.h | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/ui/views/controls/scroll_view.h b/ui/views/controls/scroll_view.h -index 3bd5a8bf..f850728c 100644 ---- a/ui/views/controls/scroll_view.h -+++ b/ui/views/controls/scroll_view.h -@@ -386,6 +386,9 @@ - ScrollViewCallbackList on_contents_scroll_ended_; - }; +Index: chromium-98.0.4758.80/ui/views/controls/scroll_view.h +=================================================================== +--- chromium-98.0.4758.80.orig/ui/views/controls/scroll_view.h ++++ chromium-98.0.4758.80/ui/views/controls/scroll_view.h +@@ -389,6 +389,9 @@ class VIEWS_EXPORT ScrollView : public V + // ScrollView::SetContents<View> template is available with which to link. + template View* ScrollView::SetContents<View>(std::unique_ptr<View> a_view); +// Required for WebAppUrlHandlerIntentPickerView +template View* ScrollView::SetContents<View>(std::unique_ptr<View> a_view); ++++++ chromium-98-MiraclePtr-gcc-ice.patch ++++++ Workaround GCC ICE with MiraclePtr, see https://gcc.gnu.org/PR103455 --- a/gpu/command_buffer/client/gl_helper.h +++ b/gpu/command_buffer/client/gl_helper.h @@ -34,7 +34,7 @@ class ScopedGLuint { GenFunc gen_func, DeleteFunc delete_func) : gl_(gl), id_(0u), delete_func_(delete_func) { - (gl_->*gen_func)(1, &id_); + (gl_.get()->*gen_func)(1, &id_); } operator GLuint() const { return id_; } @@ -46,7 +46,7 @@ class ScopedGLuint { ~ScopedGLuint() { if (id_ != 0) { - (gl_->*delete_func_)(1, &id_); + (gl_.get()->*delete_func_)(1, &id_); } } @@ -86,13 +86,13 @@ class ScopedBinder { typedef void (gles2::GLES2Interface::*BindFunc)(GLenum target, GLuint id); ScopedBinder(gles2::GLES2Interface* gl, GLuint id, BindFunc bind_func) : gl_(gl), bind_func_(bind_func) { - (gl_->*bind_func_)(Target, id); + (gl_.get()->*bind_func_)(Target, id); } ScopedBinder(const ScopedBinder&) = delete; ScopedBinder& operator=(const ScopedBinder&) = delete; - virtual ~ScopedBinder() { (gl_->*bind_func_)(Target, 0); } + virtual ~ScopedBinder() { (gl_.get()->*bind_func_)(Target, 0); } private: raw_ptr<gles2::GLES2Interface> gl_; --- a/ui/accessibility/ax_node.h +++ b/ui/accessibility/ax_node.h @@ -822,10 +822,10 @@ AXNode::ChildIteratorBase<NodeType, // increment the iterator past the end, we remain at the past-the-end iterator // condition. if (child_ && parent_) { - if (child_ == (parent_->*LastChild)()) + if (child_ == (parent_.get()->*LastChild)()) child_ = nullptr; else - child_ = (child_->*NextSibling)(); + child_ = (child_.get()->*NextSibling)(); } return *this; @@ -850,12 +850,12 @@ AXNode::ChildIteratorBase<NodeType, // If the iterator is past the end, |child_=nullptr|, decrement the iterator // gives us the last iterator element. if (!child_) - child_ = (parent_->*LastChild)(); + child_ = (parent_.get()->*LastChild)(); // Decrement the iterator gives us the previous element, except when the // iterator is at the beginning; in which case, decrementing the iterator // remains at the beginning. - else if (child_ != (parent_->*FirstChild)()) - child_ = (child_->*PreviousSibling)(); + else if (child_ != (parent_.get()->*FirstChild)()) + child_ = (child_.get()->*PreviousSibling)(); } return *this; --- a/ui/views/layout/flex_layout_types.cc +++ b/ui/views/layout/flex_layout_types.cc @@ -59,7 +59,7 @@ class LazySize { const gfx::Size& operator*() const { return *get(); } const gfx::Size* get() const { if (!size_) - size_ = (view_->*size_func_)(); + size_ = (view_.get()->*size_func_)(); return &size_.value(); } LazyDimension width() const { --- a/chrome/browser/ui/views/passwords/auto_signin_first_run_dialog_view.cc +++ b/chrome/browser/ui/views/passwords/auto_signin_first_run_dialog_view.cc @@ -37,7 +37,7 @@ AutoSigninFirstRunDialogView::AutoSigninFirstRunDialogView( auto call_controller = [](AutoSigninFirstRunDialogView* dialog, ControllerCallbackFn func) { if (dialog->controller_) { - (dialog->controller_->*func)(); + (dialog->controller_.get()->*func)(); } }; SetAcceptCallback( ++++++ chromium-98-WaylandFrameManager-check.patch ++++++ >From 8e2458ffc6727943518a622753b074b42e713403 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Sat, 18 Dec 2021 08:38:57 +0000 Subject: [PATCH] libstdc++: fix DCHECK_NE in ui::WaylandFrameManager There is no CheckOpValueStr() for std::unique_ptr. Use get() to compare pointer values. --- ui/ozone/platform/wayland/host/wayland_frame_manager.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/ozone/platform/wayland/host/wayland_frame_manager.cc b/ui/ozone/platform/wayland/host/wayland_frame_manager.cc index 569526c..58fae14 100644 --- a/ui/ozone/platform/wayland/host/wayland_frame_manager.cc +++ b/ui/ozone/platform/wayland/host/wayland_frame_manager.cc @@ -379,7 +379,7 @@ void WaylandFrameManager::OnPresentation( // Investigate the issue with surface sync. frame->feedback = gfx::PresentationFeedback::Failure(); } - CHECK_NE(frame, submitted_frames_.back()); + CHECK_NE(frame.get(), submitted_frames_.back().get()); } MaybeProcessSubmittedFrames(); } -- 2.32.0 ++++++ chromium-97-compiler.patch -> chromium-98-compiler.patch ++++++ --- /work/SRC/openSUSE:Factory/chromium/chromium-97-compiler.patch 2022-01-13 23:20:54.672026668 +0100 +++ /work/SRC/openSUSE:Factory/.chromium.new.1898/chromium-98-compiler.patch 2022-02-05 23:23:18.439873753 +0100 @@ -1,30 +1,31 @@ From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001 From: Mike Gilbert <flop...@gentoo.org> -Date: Tue, 2 Nov 2021 11:27:25 +0000 +Date: Fri, 3 Dec 2021 09:50:31 +0000 Subject: [PATCH] Disable various compiler configs --- - build/config/compiler/BUILD.gn | 98 ++++++---------------------------- - 1 file changed, 17 insertions(+), 81 deletions(-) + build/config/compiler/BUILD.gn | 105 ++++++--------------------------- + 1 file changed, 17 insertions(+), 88 deletions(-) diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 2656f80..221e6db 100644 +index 5365544..e6d9b56 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -296,8 +296,6 @@ config("compiler") { +@@ -291,9 +291,7 @@ config("compiler") { configs += [ # See the definitions below. - ":clang_revision", + ":rustc_revision", - ":compiler_cpu_abi", ":compiler_codegen", ":compiler_deterministic", ] -@@ -538,24 +536,6 @@ config("compiler") { +@@ -534,31 +532,6 @@ config("compiler") { ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } -- if (is_clang && !is_nacl && !use_xcode_clang && current_os != "zos") { +- if (is_clang && !is_nacl && current_os != "zos") { - cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] - - # TODO(hans): Remove this once Clang generates better optimized debug info @@ -40,12 +41,19 @@ - ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] - } - } +- +- # TODO(crbug.com/1235145): Investigate why/if this should be needed. +- if (is_win) { +- cflags += [ "/clang:-ffp-contract=off" ] +- } else { +- cflags += [ "-ffp-contract=off" ] +- } - } - # C11/C++11 compiler flags setup. # --------------------------- if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1246,45 +1226,6 @@ config("compiler_deterministic") { +@@ -1231,45 +1204,6 @@ config("compiler_deterministic") { } } @@ -91,7 +99,7 @@ # 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. -@@ -1562,7 +1503,7 @@ config("chromium_code") { +@@ -1556,7 +1490,7 @@ config("chromium_code") { defines = [ "_HAS_NODISCARD" ] } } else { @@ -100,7 +108,7 @@ if (treat_warnings_as_errors) { cflags += [ "-Werror" ] -@@ -1571,10 +1512,6 @@ config("chromium_code") { +@@ -1565,10 +1499,6 @@ config("chromium_code") { # well. ldflags = [ "-Werror" ] } @@ -111,7 +119,7 @@ # In Chromium code, we define __STDC_foo_MACROS in order to get the # C99 macros on Mac and Linux. -@@ -1583,15 +1520,6 @@ config("chromium_code") { +@@ -1577,15 +1507,6 @@ config("chromium_code") { "__STDC_FORMAT_MACROS", ] @@ -127,7 +135,7 @@ if (is_mac) { cflags_objc = [ "-Wobjc-missing-property-synthesis" ] cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1959,7 +1887,8 @@ config("default_stack_frames") { +@@ -1988,7 +1909,8 @@ config("default_stack_frames") { } # Default "optimization on" config. @@ -137,7 +145,7 @@ if (is_win) { if (chrome_pgo_phase != 2) { # Favor size over speed, /O1 must be before the common flags. -@@ -1999,7 +1928,8 @@ config("optimize") { +@@ -2026,7 +1948,8 @@ config("optimize") { } # Turn off optimizations. @@ -147,7 +155,7 @@ if (is_win) { cflags = [ "/Od", # Disable optimization. -@@ -2039,7 +1969,8 @@ config("no_optimize") { +@@ -2066,7 +1989,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. @@ -157,7 +165,7 @@ if (is_nacl && is_nacl_irt) { # The NaCl IRT is a special case and always wants its own config. # Various components do: -@@ -2072,7 +2003,8 @@ config("optimize_max") { +@@ -2099,7 +2023,8 @@ config("optimize_max") { # # TODO(crbug.com/621335) - rework how all of these configs are related # so that we don't need this disclaimer. @@ -167,7 +175,7 @@ if (is_nacl && is_nacl_irt) { # The NaCl IRT is a special case and always wants its own config. # Various components do: -@@ -2098,7 +2030,8 @@ config("optimize_speed") { +@@ -2125,7 +2050,8 @@ config("optimize_speed") { } } @@ -177,7 +185,7 @@ cflags = [ "-O1" ] + common_optimize_on_cflags rustflags = [ "-Copt-level=1" ] ldflags = common_optimize_on_ldflags -@@ -2218,7 +2151,8 @@ config("win_pdbaltpath") { +@@ -2245,7 +2171,8 @@ config("win_pdbaltpath") { } # Full symbols. @@ -187,7 +195,7 @@ if (is_win) { if (is_clang) { cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2337,7 +2271,8 @@ config("symbols") { +@@ -2369,7 +2296,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. @@ -197,7 +205,7 @@ if (is_win) { # Functions, files, and line tables only. cflags = [] -@@ -2407,7 +2342,8 @@ config("minimal_symbols") { +@@ -2438,7 +2366,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. ++++++ chromium-97.0.4692.99.tar.xz -> chromium-98.0.4758.80.tar.xz ++++++ /work/SRC/openSUSE:Factory/chromium/chromium-97.0.4692.99.tar.xz /work/SRC/openSUSE:Factory/.chromium.new.1898/chromium-98.0.4758.80.tar.xz differ: char 26, line 1 ++++++ system-libdrm.patch ++++++ --- /var/tmp/diff_new_pack.7je3Oc/_old 2022-02-05 23:23:38.319737781 +0100 +++ /var/tmp/diff_new_pack.7je3Oc/_new 2022-02-05 23:23:38.323737753 +0100 @@ -1,6 +1,9 @@ ---- a/build/linux/unbundle/libdrm.gn -+++ b/build/linux/unbundle/libdrm.gn -@@ -12,6 +12,9 @@ +Index: chromium-98.0.4758.80/build/linux/unbundle/libdrm.gn +=================================================================== +--- chromium-98.0.4758.80.orig/build/linux/unbundle/libdrm.gn ++++ chromium-98.0.4758.80/build/linux/unbundle/libdrm.gn +@@ -11,7 +11,10 @@ pkg_config("system_libdrm") { + shim_headers("libdrm_shim") { root_path = "src/include" - headers = [ "drm.h" ] @@ -9,6 +12,58 @@ + "drm_fourcc.h", + ] } - + source_set("libdrm") { +Index: chromium-98.0.4758.80/media/gpu/chromeos/video_decoder_pipeline.cc +=================================================================== +--- chromium-98.0.4758.80.orig/media/gpu/chromeos/video_decoder_pipeline.cc ++++ chromium-98.0.4758.80/media/gpu/chromeos/video_decoder_pipeline.cc +@@ -28,7 +28,7 @@ + + #if BUILDFLAG(USE_VAAPI) + #include "media/gpu/vaapi/vaapi_video_decoder.h" +-#include "third_party/libdrm/src/include/drm/drm_fourcc.h" ++#include <drm_fourcc.h> + #elif BUILDFLAG(USE_V4L2_CODEC) + #include "media/gpu/v4l2/v4l2_video_decoder.h" + #else +Index: chromium-98.0.4758.80/ui/ozone/platform/drm/gpu/crtc_controller.h +=================================================================== +--- chromium-98.0.4758.80.orig/ui/ozone/platform/drm/gpu/crtc_controller.h ++++ chromium-98.0.4758.80/ui/ozone/platform/drm/gpu/crtc_controller.h +@@ -11,7 +11,7 @@ + + #include "base/memory/weak_ptr.h" + #include "base/trace_event/traced_value.h" +-#include "third_party/libdrm/src/include/drm/drm_fourcc.h" ++#include <drm_fourcc.h> + #include "ui/gfx/swap_result.h" + #include "ui/ozone/platform/drm/common/scoped_drm_types.h" + #include "ui/ozone/platform/drm/gpu/drm_overlay_plane.h" +Index: chromium-98.0.4758.80/ui/ozone/platform/drm/gpu/hardware_display_controller.cc +=================================================================== +--- chromium-98.0.4758.80.orig/ui/ozone/platform/drm/gpu/hardware_display_controller.cc ++++ chromium-98.0.4758.80/ui/ozone/platform/drm/gpu/hardware_display_controller.cc +@@ -20,7 +20,7 @@ + #include "base/trace_event/trace_conversion_helper.h" + #include "base/trace_event/trace_event.h" + #include "base/trace_event/traced_value.h" +-#include "third_party/libdrm/src/include/drm/drm_fourcc.h" ++#include <drm_fourcc.h> + #include "third_party/skia/include/core/SkCanvas.h" + #include "third_party/skia/include/core/SkImage.h" + #include "ui/gfx/geometry/point.h" +Index: chromium-98.0.4758.80/media/gpu/chromeos/video_decoder_pipeline_unittest.cc +=================================================================== +--- chromium-98.0.4758.80.orig/media/gpu/chromeos/video_decoder_pipeline_unittest.cc ++++ chromium-98.0.4758.80/media/gpu/chromeos/video_decoder_pipeline_unittest.cc +@@ -23,7 +23,7 @@ + #include "media/gpu/chromeos/mailbox_video_frame_converter.h" + #include "testing/gmock/include/gmock/gmock.h" + #include "testing/gtest/include/gtest/gtest.h" +-#include "third_party/libdrm/src/include/drm/drm_fourcc.h" ++#include <drm_fourcc.h> + + #if BUILDFLAG(IS_CHROMEOS_ASH) + // gn check does not account for BUILDFLAG(), so including this header will