diff options
author | Noah Vogt | 2023-03-11 07:28:23 +0100 |
---|---|---|
committer | Noah Vogt | 2023-03-11 07:28:23 +0100 |
commit | b3db8e3f4a949099c54a3890d1bdad8fdf3fcc9e (patch) | |
tree | b2457647e76208bc27164c7ca152cd4b92358568 | |
parent | 9bc1a89a2361f9c4aa797b401d6fc6ff85688503 (diff) | |
download | aur-b3db8e3f4a949099c54a3890d1bdad8fdf3fcc9e.tar.gz |
uppkg -> 111.0.5563.64-1
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | PKGBUILD | 31 | ||||
-rw-r--r-- | fix-the-way-to-handle-codecs-in-the-system-icu.patch | 60 | ||||
-rw-r--r-- | sql-relax-constraints-on-VirtualCursor-layout.patch | 48 | ||||
-rw-r--r-- | v8-move-the-Stack-object-from-ThreadLocalTop.patch | 205 | ||||
-rw-r--r-- | xdg-basedir.patch | 36 |
6 files changed, 77 insertions, 325 deletions
@@ -1,6 +1,6 @@ pkgbase = ungoogled-chromium-xdg pkgdesc = A lightweight approach to removing Google web service dependency - without creating a useless ~/.pki directory - pkgver = 110.0.5481.177 + pkgver = 111.0.5563.64 pkgrel = 1 url = https://github.com/ungoogled-software/ungoogled-chromium arch = x86_64 @@ -60,11 +60,10 @@ pkgbase = ungoogled-chromium-xdg provides = chromium conflicts = chromium options = !lto - source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-110.0.5481.177.tar.xz + source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-111.0.5563.64.tar.xz source = https://github.com/foutrelis/chromium-launcher/archive/v8/chromium-launcher-8.tar.gz - source = https://github.com/stha09/chromium-patches/releases/download/chromium-110-patchset-2/chromium-110-patchset-2.tar.xz - source = fix-the-way-to-handle-codecs-in-the-system-icu.patch - source = v8-move-the-Stack-object-from-ThreadLocalTop.patch + source = https://github.com/stha09/chromium-patches/releases/download/chromium-111-patchset-2/chromium-111-patchset-2.tar.xz + source = sql-relax-constraints-on-VirtualCursor-layout.patch source = REVERT-roll-src-third_party-ffmpeg-m102.patch source = REVERT-roll-src-third_party-ffmpeg-m106.patch source = disable-GlobalMediaControlsCastStartStop.patch @@ -73,24 +72,23 @@ pkgbase = ungoogled-chromium-xdg source = xdg-basedir.patch source = no-omnibox-suggestion-autocomplete.patch source = index.html - source = ungoogled-chromium-110.0.5481.177-1.tar.gz::https://github.com/ungoogled-software/ungoogled-chromium/archive/110.0.5481.177-1.tar.gz + source = ungoogled-chromium-111.0.5563.64-1.tar.gz::https://github.com/ungoogled-software/ungoogled-chromium/archive/111.0.5563.64-1.tar.gz source = ozone-add-va-api-support-to-wayland.patch source = vaapi-add-av1-support.patch source = remove-main-main10-profile-limit.patch - sha256sums = 7b2f454d1195270a39f94a9ff6d8d68126be315e0da4e31c20f4ba9183a1c9b7 + sha256sums = 7d5ca0e2bdb22a97713e6bfce74c651006d71aa883056c8e2c2a148039fe4074 sha256sums = 213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a - sha256sums = 8c7f93037cc236024cc8be815b2c2bd84f6dc9e32685299e31d4c6c42efde8b7 - sha256sums = a5d5c532b0b059895bc13aaaa600d21770eab2afa726421b78cb597a78a3c7e3 - sha256sums = 49c3e599366909ddac6a50fa6f9420e01a7c0ffd029a20567a41d741a15ec9f7 + sha256sums = a016588340f1559198e4ce61c6e91c48cf863600f415cb5c46322de7e1f77909 + sha256sums = e66be069d932fe18811e789c57b96249b7250257ff91a3d82d15e2a7283891b7 sha256sums = 30df59a9e2d95dcb720357ec4a83d9be51e59cc5551365da4c0073e68ccdec44 sha256sums = 4c12d31d020799d31355faa7d1fe2a5a807f7458e7f0c374adf55edb37032152 sha256sums = 7f3b1b22d6a271431c1f9fc92b6eb49c6d80b8b3f868bdee07a6a1a16630a302 sha256sums = cd0d9d2a1d6a522d47c3c0891dabe4ad72eabbebc0fe5642b9e22efa3d5ee572 sha256sums = e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711 - sha256sums = cd844867b5b2197ad097662fee32579a7091dfba1d46cb438c4c7e696690440a + sha256sums = f97e6cd3c4d2e04f5d9a0ea234fe768d6ba0fa9f4ecd5c7b2ca91030a1249078 sha256sums = ff1591fa38e0ede7e883dc7494b813641b7a1a7cb1ded00d9baaee987c1dbea8 sha256sums = a4cdd2b86f32d5302c2792be841ff40d982b19bb58a4e63df9d77f4c706b8665 - sha256sums = 602c2bd0f93e5618f3a32a71a11d48a0c8aa881ac3e4dc0ba7d64fd97896c4a7 + sha256sums = 2ad44997d95ae66b36125bf62bf1308006ec62da26ba04f8b5480d7271675079 sha256sums = e9e8d3a82da818f0a67d4a09be4ecff5680b0534d7f0198befb3654e9fab5b69 sha256sums = e742cc5227b6ad6c3e0c2026edd561c6d3151e7bf0afb618578ede181451b307 sha256sums = fc810e3c495c77ac60b383a27e48cf6a38b4a95b65dd2984baa297c5df83133c @@ -10,7 +10,7 @@ # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=ungoogled-chromium-xdg -pkgver=110.0.5481.177 +pkgver=111.0.5563.64 pkgrel=1 _launcher_ver=8 _gcc_patchset=2 @@ -33,8 +33,7 @@ options=('!lto') # Chromium adds its own flags for ThinLTO source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$pkgver.tar.xz https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz - fix-the-way-to-handle-codecs-in-the-system-icu.patch - v8-move-the-Stack-object-from-ThreadLocalTop.patch + sql-relax-constraints-on-VirtualCursor-layout.patch REVERT-roll-src-third_party-ffmpeg-m102.patch REVERT-roll-src-third_party-ffmpeg-m106.patch disable-GlobalMediaControlsCastStartStop.patch @@ -43,17 +42,16 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/chrom xdg-basedir.patch no-omnibox-suggestion-autocomplete.patch index.html) -sha256sums=('7b2f454d1195270a39f94a9ff6d8d68126be315e0da4e31c20f4ba9183a1c9b7' +sha256sums=('7d5ca0e2bdb22a97713e6bfce74c651006d71aa883056c8e2c2a148039fe4074' '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a' - '8c7f93037cc236024cc8be815b2c2bd84f6dc9e32685299e31d4c6c42efde8b7' - 'a5d5c532b0b059895bc13aaaa600d21770eab2afa726421b78cb597a78a3c7e3' - '49c3e599366909ddac6a50fa6f9420e01a7c0ffd029a20567a41d741a15ec9f7' + 'a016588340f1559198e4ce61c6e91c48cf863600f415cb5c46322de7e1f77909' + 'e66be069d932fe18811e789c57b96249b7250257ff91a3d82d15e2a7283891b7' '30df59a9e2d95dcb720357ec4a83d9be51e59cc5551365da4c0073e68ccdec44' '4c12d31d020799d31355faa7d1fe2a5a807f7458e7f0c374adf55edb37032152' '7f3b1b22d6a271431c1f9fc92b6eb49c6d80b8b3f868bdee07a6a1a16630a302' 'cd0d9d2a1d6a522d47c3c0891dabe4ad72eabbebc0fe5642b9e22efa3d5ee572' 'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711' - 'cd844867b5b2197ad097662fee32579a7091dfba1d46cb438c4c7e696690440a' + 'f97e6cd3c4d2e04f5d9a0ea234fe768d6ba0fa9f4ecd5c7b2ca91030a1249078' 'ff1591fa38e0ede7e883dc7494b813641b7a1a7cb1ded00d9baaee987c1dbea8' 'a4cdd2b86f32d5302c2792be841ff40d982b19bb58a4e63df9d77f4c706b8665') @@ -72,7 +70,7 @@ source=(${source[@]} vaapi-add-av1-support.patch remove-main-main10-profile-limit.patch) sha256sums=(${sha256sums[@]} - '602c2bd0f93e5618f3a32a71a11d48a0c8aa881ac3e4dc0ba7d64fd97896c4a7' + '2ad44997d95ae66b36125bf62bf1308006ec62da26ba04f8b5480d7271675079' 'e9e8d3a82da818f0a67d4a09be4ecff5680b0534d7f0198befb3654e9fab5b69' 'e742cc5227b6ad6c3e0c2026edd561c6d3151e7bf0afb618578ede181451b307' 'fc810e3c495c77ac60b383a27e48cf6a38b4a95b65dd2984baa297c5df83133c') @@ -139,13 +137,8 @@ prepare() { # runtime -- this allows signing into Chromium without baked-in values patch -Np1 -i ../use-oauth2-client-switches-as-default.patch - # Upstream fixes - patch -Np1 -i ../fix-the-way-to-handle-codecs-in-the-system-icu.patch - - # https://crbug.com/v8/13630 - # https://crrev.com/c/4200636 - # https://github.com/nodejs/node/pull/46125#issuecomment-1407721276 - patch -Np1 -d v8 <../v8-move-the-Stack-object-from-ThreadLocalTop.patch + # Upstream fixes + patch -Np1 -i ../sql-relax-constraints-on-VirtualCursor-layout.patch # Revert ffmpeg roll requiring new channel layout API support # https://crbug.com/1325301 @@ -158,10 +151,6 @@ prepare() { patch -Np1 -i ../disable-GlobalMediaControlsCastStartStop.patch # Fixes for building with libstdc++ instead of libc++ - patch -Np1 -i ../patches/chromium-103-VirtualCursor-std-layout.patch - patch -Np1 -i ../patches/chromium-110-NativeThemeBase-fabs.patch - patch -Np1 -i ../patches/chromium-110-CredentialUIEntry-const.patch - patch -Np1 -i ../patches/chromium-110-DarkModeLABColorSpace-pow.patch # Custom Patches patch -Np1 -i ../ozone-add-va-api-support-to-wayland.patch @@ -226,7 +215,7 @@ build() { 'clang_use_chrome_plugins=false' 'is_official_build=true' # implies is_cfi=true on x86_64 'symbol_level=0' # sufficient for backtraces on x86(_64) - #'chrome_pgo_phase=0' # needs newer clang to read the bundled PGO profile + 'chrome_pgo_phase=0' # needs newer clang to read the bundled PGO profile 'treat_warnings_as_errors=false' 'disable_fieldtrial_testing_config=true' 'blink_enable_generated_code_formatting=false' diff --git a/fix-the-way-to-handle-codecs-in-the-system-icu.patch b/fix-the-way-to-handle-codecs-in-the-system-icu.patch deleted file mode 100644 index 63c4cee930ea..000000000000 --- a/fix-the-way-to-handle-codecs-in-the-system-icu.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 4885090741554be61cb2ed10194cefb29bf8be64 Mon Sep 17 00:00:00 2001 -From: Yoshisato Yanagisawa <yyanagisawa@chromium.org> -Date: Wed, 11 Jan 2023 23:51:39 +0000 -Subject: [PATCH] Fix the way to handle codecs in the system icu. - -The previous code does not register codecs whose standard name is -different from the bundled ICU. As a result, looking up such codecs -seems to fail unexpectedly. - -Bug: 1382032 -Change-Id: I8a61f77d0f70104415d24dd954b3b7061ffca556 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4154277 -Reviewed-by: Kent Tamura <tkent@chromium.org> -Commit-Queue: Yoshisato Yanagisawa <yyanagisawa@chromium.org> -Cr-Commit-Position: refs/heads/main@{#1091571} ---- - .../renderer/platform/wtf/text/text_codec_icu.cc | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -diff --git a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc -index a70b359984f..33ce43f3563 100644 ---- a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc -+++ b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc -@@ -116,6 +116,10 @@ void TextCodecICU::RegisterEncodingNames(EncodingNameRegistrar registrar) { - continue; - } - #endif -+ // Avoid codecs supported by `TextCodecCJK`. -+ if (is_text_codec_cjk_enabled && TextCodecCJK::IsSupported(standard_name)) { -+ continue; -+ } - - // A number of these aliases are handled in Chrome's copy of ICU, but - // Chromium can be compiled with the system ICU. -@@ -144,12 +148,13 @@ void TextCodecICU::RegisterEncodingNames(EncodingNameRegistrar registrar) { - } - #endif - -- if (is_text_codec_cjk_enabled && TextCodecCJK::IsSupported(standard_name)) { -- continue; -+ // Avoid registering codecs registered by -+ // `TextCodecCJK::RegisterEncodingNames`. -+ if (!is_text_codec_cjk_enabled || -+ !TextCodecCJK::IsSupported(standard_name)) { -+ registrar(standard_name, standard_name); - } - -- registrar(standard_name, standard_name); -- - uint16_t num_aliases = ucnv_countAliases(name, &error); - DCHECK(U_SUCCESS(error)); - if (U_SUCCESS(error)) -@@ -289,6 +294,7 @@ void TextCodecICU::RegisterCodecs(TextCodecRegistrar registrar) { - continue; - } - #endif -+ // Avoid codecs supported by `TextCodecCJK`. - if (is_text_codec_cjk_enabled && TextCodecCJK::IsSupported(standard_name)) { - continue; - } diff --git a/sql-relax-constraints-on-VirtualCursor-layout.patch b/sql-relax-constraints-on-VirtualCursor-layout.patch new file mode 100644 index 000000000000..d1e65ee1561c --- /dev/null +++ b/sql-relax-constraints-on-VirtualCursor-layout.patch @@ -0,0 +1,48 @@ +From 7d1394bd639e3bcf68082ac3fc33eeed6a00d2e6 Mon Sep 17 00:00:00 2001 +From: Elly Fong-Jones <ellyjones@chromium.org> +Date: Thu, 2 Mar 2023 00:15:11 +0000 +Subject: [PATCH] sql: relax constraints on VirtualCursor layout + +VirtualCursor::FromSqliteCursor required that VirtualCursor had a +standard layout, but in fact VirtualCursor shouldn't have a standard +layout, and the fact that it does with libc++ is a deviation from the +C++ standard. This change: + +1. Relaxes the requirement that VirtualCursor has a standard layout, and +2. Relaxes the requirement that the sqlite_cursor_ field has to be at + offset 0 + +by use of offsetof() and pointer subtraction. This change both improves +standards compliance and makes this code build with libstdc++. + +Bug: 1380656 +Change-Id: I9c47abd9197b187da0360ca5619ccf7dadab4f33 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4292313 +Reviewed-by: Austin Sullivan <asully@chromium.org> +Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org> +Cr-Commit-Position: refs/heads/main@{#1111925} +--- + sql/recover_module/cursor.h | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h +index 1970bdca8c6..4cb06557009 100644 +--- a/sql/recover_module/cursor.h ++++ b/sql/recover_module/cursor.h +@@ -63,12 +63,10 @@ class VirtualCursor { + // |sqlite_cursor| must have been returned by VirtualTable::SqliteCursor(). + static inline VirtualCursor* FromSqliteCursor( + sqlite3_vtab_cursor* sqlite_cursor) { +- static_assert(std::is_standard_layout<VirtualCursor>::value, +- "needed for the reinterpret_cast below"); +- static_assert(offsetof(VirtualCursor, sqlite_cursor_) == 0, +- "sqlite_cursor_ must be the first member of the class"); +- VirtualCursor* result = reinterpret_cast<VirtualCursor*>(sqlite_cursor); +- DCHECK_EQ(sqlite_cursor, &result->sqlite_cursor_); ++ VirtualCursor* result = reinterpret_cast<VirtualCursor*>( ++ (reinterpret_cast<char*>(sqlite_cursor) - ++ offsetof(VirtualCursor, sqlite_cursor_))); ++ CHECK_EQ(sqlite_cursor, &result->sqlite_cursor_); + return result; + } + diff --git a/v8-move-the-Stack-object-from-ThreadLocalTop.patch b/v8-move-the-Stack-object-from-ThreadLocalTop.patch deleted file mode 100644 index a06044834249..000000000000 --- a/v8-move-the-Stack-object-from-ThreadLocalTop.patch +++ /dev/null @@ -1,205 +0,0 @@ -From 7b6fbcd0a6700db498ad55db046ecda92c8ee8c1 Mon Sep 17 00:00:00 2001 -From: Nikolaos Papaspyrou <nikolaos@chromium.org> -Date: Sun, 29 Jan 2023 17:18:08 +0100 -Subject: [PATCH] Merge: [heap] Move the Stack object from ThreadLocalTop to - Isolate - -This is just for nodejs, do not backmerge to 11.0. -(cherry picked from commit 1e4b71d99fea5ea6bb4bf6420585a7819872bb0f) - -> Change-Id: I026a35af3bc6999a09b21f277756d4454c086343 -> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4152476 -> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> -> Reviewed-by: Omer Katz <omerkatz@chromium.org> -> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> -> Cr-Commit-Position: refs/heads/main@{#85445} - -Stack information is thread-specific and, until now, it was stored in a -field in ThreadLocalTop. This CL moves stack information to the isolate -and makes sure to update the stack start whenever a main thread enters -the isolate. At the same time, the Stack object is refactored and -simplified. - -As a side effect, after removing the Stack object, ThreadLocalTop -satisfies the std::standard_layout trait; this fixes some issues -observed with different C++ compilers. - -Bug: v8:13630 -Bug: v8:13257 -Change-Id: I4be1f04fe90699e1a6e456dad3e0dd623851acce ---- - src/execution/isolate.cc | 36 +++++++++++++++---------------- - src/execution/isolate.h | 6 ++++++ - src/execution/thread-local-top.cc | 2 -- - src/execution/thread-local-top.h | 6 +----- - src/heap/heap.cc | 4 +--- - 5 files changed, 25 insertions(+), 29 deletions(-) - -diff --git a/src/execution/isolate.cc b/src/execution/isolate.cc -index 4edf364e0a..be4fd400d2 100644 ---- a/src/execution/isolate.cc -+++ b/src/execution/isolate.cc -@@ -3074,22 +3074,23 @@ void Isolate::AddSharedWasmMemory(Handle<WasmMemoryObject> memory_object) { - void Isolate::RecordStackSwitchForScanning() { - Object current = root(RootIndex::kActiveContinuation); - DCHECK(!current.IsUndefined()); -- thread_local_top()->stack_.ClearStackSegments(); -- wasm::StackMemory* stack = Managed<wasm::StackMemory>::cast( -- WasmContinuationObject::cast(current).stack()) -- .get() -- .get(); -+ stack().ClearStackSegments(); -+ wasm::StackMemory* wasm_stack = -+ Managed<wasm::StackMemory>::cast( -+ WasmContinuationObject::cast(current).stack()) -+ .get() -+ .get(); - current = WasmContinuationObject::cast(current).parent(); -- thread_local_top()->stack_.SetStackStart( -- reinterpret_cast<void*>(stack->base())); -+ heap()->SetStackStart(reinterpret_cast<void*>(wasm_stack->base())); - // We don't need to add all inactive stacks. Only the ones in the active chain - // may contain cpp heap pointers. - while (!current.IsUndefined()) { - auto cont = WasmContinuationObject::cast(current); -- auto* stack = Managed<wasm::StackMemory>::cast(cont.stack()).get().get(); -- thread_local_top()->stack_.AddStackSegment( -- reinterpret_cast<const void*>(stack->base()), -- reinterpret_cast<const void*>(stack->jmpbuf()->sp)); -+ auto* wasm_stack = -+ Managed<wasm::StackMemory>::cast(cont.stack()).get().get(); -+ stack().AddStackSegment( -+ reinterpret_cast<const void*>(wasm_stack->base()), -+ reinterpret_cast<const void*>(wasm_stack->jmpbuf()->sp)); - current = cont.parent(); - } - } -@@ -3377,20 +3378,13 @@ void Isolate::Delete(Isolate* isolate) { - Isolate* saved_isolate = isolate->TryGetCurrent(); - SetIsolateThreadLocals(isolate, nullptr); - isolate->set_thread_id(ThreadId::Current()); -- isolate->thread_local_top()->stack_ = -- saved_isolate ? std::move(saved_isolate->thread_local_top()->stack_) -- : ::heap::base::Stack(base::Stack::GetStackStart()); -+ isolate->heap()->SetStackStart(base::Stack::GetStackStart()); - - bool owns_shared_isolate = isolate->owns_shared_isolate_; - Isolate* maybe_shared_isolate = isolate->shared_isolate_; - - isolate->Deinit(); - -- // Restore the saved isolate's stack. -- if (saved_isolate) -- saved_isolate->thread_local_top()->stack_ = -- std::move(isolate->thread_local_top()->stack_); -- - #ifdef DEBUG - non_disposed_isolates_--; - #endif // DEBUG -@@ -4647,6 +4641,10 @@ bool Isolate::Init(SnapshotData* startup_snapshot_data, - void Isolate::Enter() { - Isolate* current_isolate = nullptr; - PerIsolateThreadData* current_data = CurrentPerIsolateThreadData(); -+ -+ // Set the stack start for the main thread that enters the isolate. -+ heap()->SetStackStart(base::Stack::GetStackStart()); -+ - if (current_data != nullptr) { - current_isolate = current_data->isolate_; - DCHECK_NOT_NULL(current_isolate); -diff --git a/src/execution/isolate.h b/src/execution/isolate.h -index a32f999fe5..1cb6e10661 100644 ---- a/src/execution/isolate.h -+++ b/src/execution/isolate.h -@@ -32,6 +32,7 @@ - #include "src/execution/stack-guard.h" - #include "src/handles/handles.h" - #include "src/handles/traced-handles.h" -+#include "src/heap/base/stack.h" - #include "src/heap/factory.h" - #include "src/heap/heap.h" - #include "src/heap/read-only-heap.h" -@@ -2022,6 +2023,8 @@ class V8_EXPORT_PRIVATE Isolate final : private HiddenFactory { - SimulatorData* simulator_data() { return simulator_data_; } - #endif - -+ ::heap::base::Stack& stack() { return stack_; } -+ - #ifdef V8_ENABLE_WEBASSEMBLY - wasm::StackMemory*& wasm_stacks() { return wasm_stacks_; } - // Update the thread local's Stack object so that it is aware of the new stack -@@ -2520,6 +2523,9 @@ class V8_EXPORT_PRIVATE Isolate final : private HiddenFactory { - // The mutex only guards adding pages, the retrieval is signal safe. - base::Mutex code_pages_mutex_; - -+ // Stack information for the main thread. -+ ::heap::base::Stack stack_; -+ - #ifdef V8_ENABLE_WEBASSEMBLY - wasm::StackMemory* wasm_stacks_; - #endif -diff --git a/src/execution/thread-local-top.cc b/src/execution/thread-local-top.cc -index 0d7071ddda..05cc20b8e4 100644 ---- a/src/execution/thread-local-top.cc -+++ b/src/execution/thread-local-top.cc -@@ -37,14 +37,12 @@ void ThreadLocalTop::Clear() { - current_embedder_state_ = nullptr; - failed_access_check_callback_ = nullptr; - thread_in_wasm_flag_address_ = kNullAddress; -- stack_ = ::heap::base::Stack(); - } - - void ThreadLocalTop::Initialize(Isolate* isolate) { - Clear(); - isolate_ = isolate; - thread_id_ = ThreadId::Current(); -- stack_.SetStackStart(base::Stack::GetStackStart()); - #if V8_ENABLE_WEBASSEMBLY - thread_in_wasm_flag_address_ = reinterpret_cast<Address>( - trap_handler::GetThreadInWasmThreadLocalAddress()); -diff --git a/src/execution/thread-local-top.h b/src/execution/thread-local-top.h -index 43fec0a7df..989c817f31 100644 ---- a/src/execution/thread-local-top.h -+++ b/src/execution/thread-local-top.h -@@ -10,7 +10,6 @@ - #include "include/v8-unwinder.h" - #include "src/common/globals.h" - #include "src/execution/thread-id.h" --#include "src/heap/base/stack.h" - #include "src/objects/contexts.h" - #include "src/utils/utils.h" - -@@ -30,7 +29,7 @@ class ThreadLocalTop { - // TODO(all): This is not particularly beautiful. We should probably - // refactor this to really consist of just Addresses and 32-bit - // integer fields. -- static constexpr uint32_t kSizeInBytes = 30 * kSystemPointerSize; -+ static constexpr uint32_t kSizeInBytes = 25 * kSystemPointerSize; - - // Does early low-level initialization that does not depend on the - // isolate being present. -@@ -147,9 +146,6 @@ class ThreadLocalTop { - - // Address of the thread-local "thread in wasm" flag. - Address thread_in_wasm_flag_address_; -- -- // Stack information. -- ::heap::base::Stack stack_; - }; - - } // namespace internal -diff --git a/src/heap/heap.cc b/src/heap/heap.cc -index 51a90ddcab..b5722ab6ec 100644 ---- a/src/heap/heap.cc -+++ b/src/heap/heap.cc -@@ -5851,9 +5851,7 @@ void Heap::SetStackStart(void* stack_start) { - stack().SetStackStart(stack_start); - } - --::heap::base::Stack& Heap::stack() { -- return isolate_->thread_local_top()->stack_; --} -+::heap::base::Stack& Heap::stack() { return isolate_->stack(); } - - void Heap::RegisterExternallyReferencedObject(Address* location) { - Object object = TracedHandles::Mark(location, TracedHandles::MarkMode::kAll); diff --git a/xdg-basedir.patch b/xdg-basedir.patch index 06df859a0cfd..b5d14a3ffee1 100644 --- a/xdg-basedir.patch +++ b/xdg-basedir.patch @@ -4,25 +4,25 @@ --- a/base/nix/xdg_util.cc +++ b/base/nix/xdg_util.cc -@@ -29,6 +29,8 @@ +@@ -30,6 +30,8 @@ const char kDotConfigDir[] = ".config"; const char kXdgConfigHomeEnvVar[] = "XDG_CONFIG_HOME"; const char kXdgCurrentDesktopEnvVar[] = "XDG_CURRENT_DESKTOP"; const char kXdgSessionTypeEnvVar[] = "XDG_SESSION_TYPE"; +const char kDotDataDir[] = ".local/share"; +const char kXdgDataHomeEnvVar[] = "XDG_DATA_HOME"; - + FilePath GetXDGDirectory(Environment* env, const char* env_name, const char* fallback_dir) { --- a/base/nix/xdg_util.h +++ b/base/nix/xdg_util.h -@@ -37,6 +37,12 @@ +@@ -61,6 +61,12 @@ BASE_EXPORT extern const char kXdgCurrentDesktopEnvVar[]; // The XDG session type environment variable. BASE_EXPORT extern const char kXdgSessionTypeEnvVar[]; - + +// The default XDG data directory name. +BASE_EXPORT extern const char kDotDataDir[]; -+ ++ +// The XDG data directory environment variable. +BASE_EXPORT extern const char kXdgDataHomeEnvVar[]; + @@ -39,11 +39,11 @@ +#include "base/environment.h" +#include "base/nix/xdg_util.h" +#include "chrome/common/chrome_constants.h" - + namespace crypto { - -@@ -45,12 +48,21 @@ - + +@@ -45,12 +48,21 @@ static const base::FilePath::CharType kReadOnlyCertDB[] = + base::FilePath GetDefaultConfigDirectory() { base::FilePath dir; +#if defined(OS_LINUX) @@ -65,21 +65,3 @@ if (!base::CreateDirectory(dir)) { LOG(ERROR) << "Failed to create " << dir.value() << " directory."; dir.clear(); -@@ -136,7 +148,7 @@ - NSSInitSingleton() { - // Initializing NSS causes us to do blocking IO. - // Temporarily allow it until we fix -- // http://code.google.com/p/chromium/issues/detail?id=59847 -+ // http://code.9oo91e.qjz9zk/p/chromium/issues/detail?id=59847 - base::ThreadRestrictions::ScopedAllowIO allow_io; - - EnsureNSPRInit(); -@@ -273,7 +285,7 @@ - - // Shouldn't need to const_cast here, but SECMOD doesn't properly declare - // input string arguments as const. Bug -- // https://bugzilla.mozilla.org/show_bug.cgi?id=642546 was filed on NSS -+ // https://bugzilla.m0z111a.qjz9zk/show_bug.cgi?id=642546 was filed on NSS - // codebase to address this. - SECMODModule* module = SECMOD_LoadUserModule( - const_cast<char*>(modparams.c_str()), nullptr, PR_FALSE); |