chromium: update to 93.0.4577.63.
This commit is contained in:
parent
aefa167e1a
commit
fd93f74c3d
20 changed files with 1975 additions and 372 deletions
|
@ -4,9 +4,9 @@
|
|||
- return 0;
|
||||
+ // use 8mb like glibc to avoid running out of space
|
||||
+ return (1 << 23);
|
||||
--- chrome/app/shutdown_signal_handlers_posix.cc.orig
|
||||
+++ chrome/app/shutdown_signal_handlers_posix.cc
|
||||
@@ -184,11 +184,19 @@
|
||||
--- chrome/browser/shutdown_signal_handlers_posix.cc.orig
|
||||
+++ chrome/browser/shutdown_signal_handlers_posix.cc
|
||||
@@ -187,11 +187,19 @@
|
||||
g_shutdown_pipe_read_fd = pipefd[0];
|
||||
g_shutdown_pipe_write_fd = pipefd[1];
|
||||
#if !defined(ADDRESS_SANITIZER)
|
||||
|
|
|
@ -1,33 +1,56 @@
|
|||
--- base/trace_event/malloc_dump_provider.cc.orig
|
||||
+++ base/trace_event/malloc_dump_provider.cc
|
||||
@@ -243,7 +243,7 @@
|
||||
allocated_objects_count = main_heap_info.block_count;
|
||||
--- ./base/trace_event/malloc_dump_provider.cc.orig
|
||||
+++ ./base/trace_event/malloc_dump_provider.cc
|
||||
@@ -212,7 +212,7 @@
|
||||
&allocated_objects_count);
|
||||
#elif defined(OS_FUCHSIA)
|
||||
// TODO(fuchsia): Port, see https://crbug.com/706592.
|
||||
-#else
|
||||
+#elif defined(__GLIBC__)
|
||||
struct mallinfo info = mallinfo();
|
||||
DCHECK_GE(info.arena + info.hblkhd, info.uordblks);
|
||||
#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
|
||||
#if __GLIBC_PREREQ(2, 33)
|
||||
#define MALLINFO2_FOUND_IN_LIBC
|
||||
--- ./base/process/process_metrics_posix.cc
|
||||
+++ ./base/process/process_metrics_posix.cc
|
||||
@@ -105,7 +105,7 @@
|
||||
|
||||
--- base/process/process_metrics_posix.cc.orig 2020-11-18 23:50:33.958223497 -0500
|
||||
+++ base/process/process_metrics_posix.cc 2020-11-18 23:53:52.024589316 -0500
|
||||
@@ -119,14 +119,14 @@
|
||||
#endif // !defined(OS_FUCHSIA)
|
||||
|
||||
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
|
||||
+#if (defined(OS_LINUX) && defined(__GLIBC__)) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
|
||||
namespace {
|
||||
|
||||
size_t GetMallocUsageMallinfo() {
|
||||
@@ -127,16 +127,16 @@
|
||||
}
|
||||
|
||||
} // namespace
|
||||
-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
|
||||
+#endif // (defined(OS_LINUX) && defined(__GLIBC__)) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
|
||||
|
||||
size_t ProcessMetrics::GetMallocUsage() {
|
||||
#if defined(OS_APPLE)
|
||||
malloc_statistics_t stats = {0};
|
||||
malloc_zone_statistics(nullptr, &stats);
|
||||
return stats.size_in_use;
|
||||
-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
|
||||
+#elif defined(__GLIBC__) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
|
||||
struct mallinfo minfo = mallinfo();
|
||||
#if BUILDFLAG(USE_TCMALLOC)
|
||||
return minfo.uordblks;
|
||||
#else
|
||||
return minfo.hblkhd + minfo.arena;
|
||||
#endif
|
||||
+#elif (defined(OS_LINUX) && defined(__GLIBC__)) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
|
||||
return GetMallocUsageMallinfo();
|
||||
-#elif defined(OS_FUCHSIA)
|
||||
+#else
|
||||
// TODO(fuchsia): Not currently exposed. https://crbug.com/735087.
|
||||
return 0;
|
||||
#endif
|
||||
--- third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc.orig
|
||||
+++ third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
MemoryUsage GetMemoryUsage() {
|
||||
MemoryUsage result;
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) && defined(__GLIBC__)
|
||||
rusage res;
|
||||
if (getrusage(RUSAGE_SELF, &res) == 0) {
|
||||
result.max_rss_kb = res.ru_maxrss;
|
||||
--- third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc
|
||||
+++ third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc.orig
|
||||
@@ -84,7 +84,7 @@
|
||||
|
@ -52,23 +75,3 @@
|
|||
|
||||
/* Define to 1 if you have the <malloc.h> header file. */
|
||||
#define HAVE_MALLOC_H 1
|
||||
--- third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc.orig 2021-04-16 17:34:36.666385207 -0400
|
||||
+++ third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc 2021-04-16 17:36:01.197602953 -0400
|
||||
@@ -27,7 +27,7 @@
|
||||
const int MemoryUsage::kValueNotSet = 0;
|
||||
|
||||
bool MemoryUsage::IsSupported() {
|
||||
-#ifdef __linux__
|
||||
+#ifdef defined(__GLIBC__)
|
||||
return true;
|
||||
#endif
|
||||
return false;
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
MemoryUsage GetMemoryUsage() {
|
||||
MemoryUsage result;
|
||||
-#ifdef __linux__
|
||||
+#ifdef defined(__GLIBC__)
|
||||
rusage res;
|
||||
if (getrusage(RUSAGE_SELF, &res) == 0) {
|
||||
result.max_rss_kb = res.ru_maxrss;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
--- base/allocator/partition_allocator/partition_alloc_config.h 2021-05-25 00:05:31.000000000 +0200
|
||||
+++ - 2021-05-26 22:23:47.172940826 +0200
|
||||
@@ -71,7 +71,8 @@
|
||||
// REF_COUNT_AT_END_OF_ALLOCATION does. In this case the refcount overlaps with
|
||||
@@ -88,7 +88,8 @@
|
||||
// PUT_REF_COUNT_IN_PREVIOUS_SLOT does. In this case the refcount overlaps with
|
||||
// the next pointer shadow for the smallest bucket.
|
||||
#if !(defined(OS_MAC) && defined(ARCH_CPU_ARM64)) && \
|
||||
- !BUILDFLAG(REF_COUNT_AT_END_OF_ALLOCATION)
|
||||
+ !BUILDFLAG(REF_COUNT_AT_END_OF_ALLOCATION) && \
|
||||
- !BUILDFLAG(PUT_REF_COUNT_IN_PREVIOUS_SLOT)
|
||||
+ !BUILDFLAG(PUT_REF_COUNT_IN_PREVIOUS_SLOT) && \
|
||||
+ !defined(__powerpc64__)
|
||||
#define PA_HAS_FREELIST_HARDENING
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
From 17d0e3dfcd0690df0e7b212fedcb95402f16935d Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jdapena@igalia.com>
|
||||
Date: Fri, 23 Jul 2021 10:17:49 +0000
|
||||
Subject: [PATCH] IWYU: missing include for using std::vector in hash password
|
||||
manager.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fix build breakage:
|
||||
../../components/password_manager/core/browser/hash_password_manager.h:44:8: error: ‘vector’ in namespace ‘std’ does not name a template type
|
||||
44 | std::vector<PasswordHashData> RetrieveAllPasswordHashes();
|
||||
| ^~~~~~
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: I8c8a4ec3972eedb87a312c5ec56adf4a21b1b2a2
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041046
|
||||
Commit-Queue: Vasilii Sukhanov <vasilii@chromium.org>
|
||||
Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#904696}
|
||||
---
|
||||
components/password_manager/core/browser/hash_password_manager.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/components/password_manager/core/browser/hash_password_manager.h b/components/password_manager/core/browser/hash_password_manager.h
|
||||
index c762c5a8c7713..85e656edcba11 100644
|
||||
--- a/components/password_manager/core/browser/hash_password_manager.h
|
||||
+++ b/components/password_manager/core/browser/hash_password_manager.h
|
||||
@@ -6,6 +6,7 @@
|
||||
#define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_HASH_PASSWORD_MANAGER_H_
|
||||
|
||||
#include <string>
|
||||
+#include <vector>
|
||||
|
||||
#include "base/callback.h"
|
||||
#include "base/callback_list.h"
|
|
@ -0,0 +1,36 @@
|
|||
From 2f5514051210388bfcff605570d33f08cfa7bcaa Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jdapena@igalia.com>
|
||||
Date: Wed, 21 Jul 2021 08:34:58 +0000
|
||||
Subject: [PATCH] IWYU: usage of unique_ptr requires including <memory> in
|
||||
bluetooth low energy scan filter.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fix build because of missing include:
|
||||
../../device/bluetooth/bluetooth_low_energy_scan_filter.h:57:15: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
|
||||
57 | static std::unique_ptr<BluetoothLowEnergyScanFilter> Create(
|
||||
| ^~~~~~~~~~
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: I347953a083f1bcdf744fd86e1a73954c6f86b32e
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041155
|
||||
Reviewed-by: Reilly Grant <reillyg@chromium.org>
|
||||
Commit-Queue: José Dapena Paz <jdapena@igalia.com>
|
||||
Cr-Commit-Position: refs/heads/master@{#903819}
|
||||
---
|
||||
device/bluetooth/bluetooth_low_energy_scan_filter.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/device/bluetooth/bluetooth_low_energy_scan_filter.h b/device/bluetooth/bluetooth_low_energy_scan_filter.h
|
||||
index a0436c184a967..7ae606cca014e 100644
|
||||
--- a/device/bluetooth/bluetooth_low_energy_scan_filter.h
|
||||
+++ b/device/bluetooth/bluetooth_low_energy_scan_filter.h
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
+#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "base/time/time.h"
|
|
@ -0,0 +1,42 @@
|
|||
From 82e2c8b484c18c621d4b194635e41f171543f1df Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jdapena@igalia.com>
|
||||
Date: Tue, 27 Jul 2021 08:09:39 +0000
|
||||
Subject: [PATCH] IWYU: usage of std::strcpy requires including cstring, in
|
||||
extension dialog auto confirm.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fix build breakage with libstdc++:
|
||||
../../extensions/browser/extension_dialog_auto_confirm.cc: In destructor ‘extensions::ScopedTestDialogAutoConfirm::~ScopedTestDialogAutoConfirm()’:
|
||||
../../extensions/browser/extension_dialog_auto_confirm.cc:43:8: error: ‘strcpy’ is not a member of ‘std’
|
||||
43 | std::strcpy(g_extension_dialog_justification, old_justification_.c_str());
|
||||
| ^~~~~~
|
||||
../../extensions/browser/extension_dialog_auto_confirm.cc: In member function ‘void extensions::ScopedTestDialogAutoConfirm::set_justification(const string&)’:
|
||||
../../extensions/browser/extension_dialog_auto_confirm.cc:66:8: error: ‘strcpy’ is not a member of ‘std’
|
||||
66 | std::strcpy(g_extension_dialog_justification, justification.c_str());
|
||||
| ^~~~~~
|
||||
|
||||
Bug: 957519
|
||||
Change-Id: I313c38f22cab599fb8f0e4a339e8143af5bda3ee
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041001
|
||||
Reviewed-by: David Bertoni <dbertoni@chromium.org>
|
||||
Reviewed-by: Ben Wells <benwells@chromium.org>
|
||||
Commit-Queue: José Dapena Paz <jdapena@igalia.com>
|
||||
Cr-Commit-Position: refs/heads/master@{#905634}
|
||||
---
|
||||
extensions/browser/extension_dialog_auto_confirm.cc | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/extensions/browser/extension_dialog_auto_confirm.cc b/extensions/browser/extension_dialog_auto_confirm.cc
|
||||
index adb4ac3f92ec8..be8b161bc1658 100644
|
||||
--- a/extensions/browser/extension_dialog_auto_confirm.cc
|
||||
+++ b/extensions/browser/extension_dialog_auto_confirm.cc
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "extensions/browser/extension_dialog_auto_confirm.h"
|
||||
|
||||
+#include <cstring>
|
||||
#include <utility>
|
||||
|
||||
#include "base/check.h"
|
|
@ -0,0 +1,36 @@
|
|||
From 8ae99ee447cf5f0160ea4ae978cdf37f5dcecd1e Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jdapena@igalia.com>
|
||||
Date: Wed, 21 Jul 2021 08:36:20 +0000
|
||||
Subject: [PATCH] IWYU: missing memory include for unique_ptr usage in
|
||||
class_property.h
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fix GCC build breakage because of missing inclide:
|
||||
./../ui/base/class_property.h:120:58: error: ‘std::unique_ptr’ has not been declared
|
||||
120 | T* SetProperty(const ClassProperty<T*>* property, std::unique_ptr<T> value);
|
||||
| ^~~~~~~~~~
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: I46b921876702b8d44674689bbb5acdc107db21e5
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041030
|
||||
Reviewed-by: Peter Boström <pbos@chromium.org>
|
||||
Commit-Queue: José Dapena Paz <jdapena@igalia.com>
|
||||
Cr-Commit-Position: refs/heads/master@{#903820}
|
||||
---
|
||||
ui/base/class_property.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/ui/base/class_property.h b/ui/base/class_property.h
|
||||
index f7b2f559858b7..88b49386ae0ad 100644
|
||||
--- a/ui/base/class_property.h
|
||||
+++ b/ui/base/class_property.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <stdint.h>
|
||||
|
||||
#include <map>
|
||||
+#include <memory>
|
||||
#include <set>
|
||||
#include <type_traits>
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
From 9c675a1051551af26aaefc6fcd33502a51725396 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jdapena@igalia.com>
|
||||
Date: Mon, 26 Jul 2021 17:14:51 +0000
|
||||
Subject: [PATCH] IWYU: missing include for std::vector usage in devtools
|
||||
embedded message dispatcher.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fix GCC build breakage:
|
||||
../../chrome/browser/devtools/devtools_embedder_message_dispatcher.h:116:36: error: ‘vector’ in namespace ‘std’ does not name a template type
|
||||
116 | const std::vector<base::Value>& params) = 0;
|
||||
| ^~~~~~
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: I379bf14416c3bfd3c0cdac7bb2542b79781261ec
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041156
|
||||
Reviewed-by: Joe Mason <joenotcharles@chromium.org>
|
||||
Commit-Queue: José Dapena Paz <jdapena@igalia.com>
|
||||
Cr-Commit-Position: refs/heads/master@{#905300}
|
||||
---
|
||||
chrome/browser/devtools/devtools_embedder_message_dispatcher.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h b/chrome/browser/devtools/devtools_embedder_message_dispatcher.h
|
||||
index 12f8500b7811d..4007112f39410 100644
|
||||
--- a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h
|
||||
+++ b/chrome/browser/devtools/devtools_embedder_message_dispatcher.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <map>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
+#include <vector>
|
||||
|
||||
#include "base/callback.h"
|
||||
#include "ui/gfx/geometry/insets.h"
|
|
@ -1,144 +0,0 @@
|
|||
# Patch made by Kevin Kofler <Kevin@tigcc.ticalc.org>
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1904652
|
||||
|
||||
diff -up chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.fstatfix chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
--- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.fstatfix 2021-01-25 10:11:45.427436398 -0500
|
||||
+++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2021-01-25 10:12:51.337699003 -0500
|
||||
@@ -257,6 +257,18 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
||||
return RestrictKillTarget(current_pid, sysno);
|
||||
}
|
||||
|
||||
+#if defined(__NR_newfstatat)
|
||||
+ if (sysno == __NR_newfstatat) {
|
||||
+ return RewriteFstatatSIGSYS();
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+#if defined(__NR_fstatat64)
|
||||
+ if (sysno == __NR_fstatat64) {
|
||||
+ return RewriteFstatatSIGSYS();
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if (SyscallSets::IsFileSystem(sysno) ||
|
||||
SyscallSets::IsCurrentDirectory(sysno)) {
|
||||
return Error(fs_denied_errno);
|
||||
diff -up chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc.fstatfix chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
||||
--- a/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc.fstatfix 2021-01-25 10:13:10.179774081 -0500
|
||||
+++ b/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc 2021-01-25 10:16:18.790525746 -0500
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
|
||||
|
||||
+#include <errno.h>
|
||||
+#include <fcntl.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
@@ -355,6 +357,35 @@ intptr_t SIGSYSSchedHandler(const struct
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
+intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
|
||||
+ void* aux) {
|
||||
+ switch (args.nr) {
|
||||
+#if defined(__NR_newfstatat)
|
||||
+ case __NR_newfstatat:
|
||||
+#endif
|
||||
+#if defined(__NR_fstatat64)
|
||||
+ case __NR_fstatat64:
|
||||
+#endif
|
||||
+#if defined(__NR_newfstatat) || defined(__NR_fstatat64)
|
||||
+ if (*reinterpret_cast<const char *>(args.args[1]) == '\0'
|
||||
+ && args.args[3] == static_cast<uint64_t>(AT_EMPTY_PATH)) {
|
||||
+ return sandbox::sys_fstat64(static_cast<int>(args.args[0]),
|
||||
+ reinterpret_cast<struct stat64 *>(args.args[2]));
|
||||
+ } else {
|
||||
+ errno = EACCES;
|
||||
+ return -1;
|
||||
+ }
|
||||
+ break;
|
||||
+#endif
|
||||
+ }
|
||||
+
|
||||
+ CrashSIGSYS_Handler(args, aux);
|
||||
+
|
||||
+ // Should never be reached.
|
||||
+ RAW_CHECK(false);
|
||||
+ return -ENOSYS;
|
||||
+}
|
||||
+
|
||||
bpf_dsl::ResultExpr CrashSIGSYS() {
|
||||
return bpf_dsl::Trap(CrashSIGSYS_Handler, NULL);
|
||||
}
|
||||
@@ -387,6 +418,10 @@ bpf_dsl::ResultExpr RewriteSchedSIGSYS()
|
||||
return bpf_dsl::Trap(SIGSYSSchedHandler, NULL);
|
||||
}
|
||||
|
||||
+bpf_dsl::ResultExpr RewriteFstatatSIGSYS() {
|
||||
+ return bpf_dsl::Trap(SIGSYSFstatatHandler, NULL);
|
||||
+}
|
||||
+
|
||||
void AllocateCrashKeys() {
|
||||
#if !defined(OS_NACL_NONSFI)
|
||||
if (seccomp_crash_key)
|
||||
diff -up chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h.fstatfix chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
||||
--- a/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h.fstatfix 2021-01-25 10:16:36.982598236 -0500
|
||||
+++ b/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h 2021-01-25 10:18:45.705111027 -0500
|
||||
@@ -62,6 +62,10 @@ SANDBOX_EXPORT intptr_t SIGSYSPtraceFail
|
||||
// sched_setparam(), sched_setscheduler()
|
||||
SANDBOX_EXPORT intptr_t SIGSYSSchedHandler(const arch_seccomp_data& args,
|
||||
void* aux);
|
||||
+// If the fstatat syscall is actually a disguised fstat, calls the regular fstat
|
||||
+// syscall, otherwise, crashes in the same way as CrashSIGSYS_Handler.
|
||||
+SANDBOX_EXPORT intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
|
||||
+ void* aux);
|
||||
|
||||
// Variants of the above functions for use with bpf_dsl.
|
||||
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYS();
|
||||
@@ -72,6 +76,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Crash
|
||||
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSFutex();
|
||||
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSPtrace();
|
||||
SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteSchedSIGSYS();
|
||||
+SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteFstatatSIGSYS();
|
||||
|
||||
// Allocates a crash key so that Seccomp information can be recorded.
|
||||
void AllocateCrashKeys();
|
||||
diff -up chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.cc.fstatfix chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.cc
|
||||
--- a/sandbox/linux/services/syscall_wrappers.cc.fstatfix 2021-01-25 10:18:53.307141311 -0500
|
||||
+++ b/sandbox/linux/services/syscall_wrappers.cc 2021-01-25 10:19:46.982355293 -0500
|
||||
@@ -261,4 +261,13 @@ int sys_sigaction(int signum,
|
||||
|
||||
#endif // defined(MEMORY_SANITIZER)
|
||||
|
||||
+SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf)
|
||||
+{
|
||||
+#if defined(__NR_fstat64)
|
||||
+ return syscall(__NR_fstat64, fd, buf);
|
||||
+#else
|
||||
+ return syscall(__NR_fstat, fd, buf);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
} // namespace sandbox
|
||||
diff -up chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.h.fstatfix chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.h
|
||||
--- a/sandbox/linux/services/syscall_wrappers.h.fstatfix 2021-01-25 10:19:53.115379741 -0500
|
||||
+++ b/sandbox/linux/services/syscall_wrappers.h 2021-01-25 10:20:45.485588421 -0500
|
||||
@@ -17,6 +17,7 @@ struct sock_fprog;
|
||||
struct rlimit64;
|
||||
struct cap_hdr;
|
||||
struct cap_data;
|
||||
+struct stat64;
|
||||
|
||||
namespace sandbox {
|
||||
|
||||
@@ -84,6 +85,9 @@ SANDBOX_EXPORT int sys_sigaction(int sig
|
||||
const struct sigaction* act,
|
||||
struct sigaction* oldact);
|
||||
|
||||
+// Recent glibc rewrites fstat to fstatat.
|
||||
+SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf);
|
||||
+
|
||||
} // namespace sandbox
|
||||
|
||||
#endif // SANDBOX_LINUX_SERVICES_SYSCALL_WRAPPERS_H_
|
36
srcpkgs/chromium/patches/chromium-93-ffmpeg-4.4.patch
Normal file
36
srcpkgs/chromium/patches/chromium-93-ffmpeg-4.4.patch
Normal file
|
@ -0,0 +1,36 @@
|
|||
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
|
||||
index ac4713b07268..492a9a37d096 100644
|
||||
--- a/media/filters/ffmpeg_demuxer.cc
|
||||
+++ b/media/filters/ffmpeg_demuxer.cc
|
||||
@@ -427,11 +427,11 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
|
||||
scoped_refptr<DecoderBuffer> buffer;
|
||||
|
||||
if (type() == DemuxerStream::TEXT) {
|
||||
- size_t id_size = 0;
|
||||
+ int id_size = 0;
|
||||
uint8_t* id_data = av_packet_get_side_data(
|
||||
packet.get(), AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size);
|
||||
|
||||
- size_t settings_size = 0;
|
||||
+ int settings_size = 0;
|
||||
uint8_t* settings_data = av_packet_get_side_data(
|
||||
packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size);
|
||||
|
||||
@@ -443,7 +443,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
|
||||
buffer = DecoderBuffer::CopyFrom(packet->data, packet->size,
|
||||
side_data.data(), side_data.size());
|
||||
} else {
|
||||
- size_t side_data_size = 0;
|
||||
+ int side_data_size = 0;
|
||||
uint8_t* side_data = av_packet_get_side_data(
|
||||
packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
|
||||
|
||||
@@ -504,7 +504,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
|
||||
packet->size - data_offset);
|
||||
}
|
||||
|
||||
- size_t skip_samples_size = 0;
|
||||
+ int skip_samples_size = 0;
|
||||
const uint32_t* skip_samples_ptr =
|
||||
reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
|
||||
packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));
|
117
srcpkgs/chromium/patches/chromium-93-pdfium-include.patch
Normal file
117
srcpkgs/chromium/patches/chromium-93-pdfium-include.patch
Normal file
|
@ -0,0 +1,117 @@
|
|||
From 7a6289c5ace52cf88f0e19caa5f78b7c15d0e7a6 Mon Sep 17 00:00:00 2001
|
||||
From: Miklos Vajna <vmiklos@collabora.co.uk>
|
||||
Date: Wed, 21 Jul 2021 17:42:30 +0000
|
||||
Subject: [PATCH] fxcodec, fxge: fix missing includes with libstdc++
|
||||
|
||||
These missing includes break the build with gcc/libstdc++, they were not
|
||||
a problem in practice with clang/libc++.
|
||||
|
||||
Change-Id: I40013f97ba7ab06f32aa59f87b04aec06a19478c
|
||||
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/83210
|
||||
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
||||
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
||||
---
|
||||
|
||||
diff --git a/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp b/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp
|
||||
index cea0679..036f250 100644
|
||||
--- a/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp
|
||||
+++ b/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "core/fxcodec/jpeg/jpegmodule.h"
|
||||
|
||||
#include <setjmp.h>
|
||||
+#include <string.h>
|
||||
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
diff --git a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp
|
||||
index c66985a..9c1122b 100644
|
||||
--- a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp
|
||||
+++ b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxcodec/jpx/cjpx_decoder.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include <algorithm>
|
||||
#include <limits>
|
||||
#include <utility>
|
||||
diff --git a/third_party/pdfium/core/fxge/cfx_cliprgn.cpp b/third_party/pdfium/core/fxge/cfx_cliprgn.cpp
|
||||
index 5369d52..d198852 100644
|
||||
--- a/third_party/pdfium/core/fxge/cfx_cliprgn.cpp
|
||||
+++ b/third_party/pdfium/core/fxge/cfx_cliprgn.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxge/cfx_cliprgn.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include <utility>
|
||||
|
||||
#include "core/fxge/dib/cfx_dibitmap.h"
|
||||
diff --git a/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp b/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp
|
||||
index 6f9b420..0f1ffae 100644
|
||||
--- a/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp
|
||||
+++ b/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxge/dib/cfx_bitmapcomposer.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include "core/fxge/cfx_cliprgn.h"
|
||||
#include "core/fxge/dib/cfx_dibitmap.h"
|
||||
|
||||
diff --git a/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp b/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp
|
||||
index f57c00e..45a0a18 100644
|
||||
--- a/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp
|
||||
+++ b/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxge/dib/cfx_bitmapstorer.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include <utility>
|
||||
|
||||
#include "core/fxge/dib/cfx_dibitmap.h"
|
||||
diff --git a/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp b/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp
|
||||
index 4ec0ddb..a1de2fb 100644
|
||||
--- a/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp
|
||||
+++ b/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxge/dib/cfx_dibbase.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include <algorithm>
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
diff --git a/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp b/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp
|
||||
index d7ccf6c..94e8acc 100644
|
||||
--- a/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp
|
||||
+++ b/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxge/dib/cfx_dibitmap.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include <limits>
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
diff --git a/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp b/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp
|
||||
index e8362d7..c04c6dc 100644
|
||||
--- a/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp
|
||||
+++ b/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "core/fxge/dib/cfx_scanlinecompositor.h"
|
||||
|
||||
+#include <string.h>
|
||||
+
|
||||
#include <algorithm>
|
||||
|
||||
#include "core/fxge/dib/fx_dib.h"
|
18
srcpkgs/chromium/patches/cursed^Uscoped_file.patch
Normal file
18
srcpkgs/chromium/patches/cursed^Uscoped_file.patch
Normal file
|
@ -0,0 +1,18 @@
|
|||
--- a/base/files/scoped_file_linux.cc.orig
|
||||
+++ b/base/files/scoped_file_linux.cc
|
||||
@@ -77,15 +77,3 @@
|
||||
}
|
||||
|
||||
} // namespace base
|
||||
-
|
||||
-extern "C" {
|
||||
-
|
||||
-int __close(int);
|
||||
-
|
||||
-__attribute__((visibility("default"), noinline)) int close(int fd) {
|
||||
- if (base::IsFDOwned(fd) && g_is_ownership_enforced)
|
||||
- CrashOnFdOwnershipViolation();
|
||||
- return __close(fd);
|
||||
-}
|
||||
-
|
||||
-} // extern "C"
|
|
@ -1,45 +0,0 @@
|
|||
From c2d0133f47afb59b4ce64e42215d1d053f15250a Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Tue, 13 Apr 2021 23:21:42 +0000
|
||||
Subject: [PATCH] fix crash in ThemeService
|
||||
|
||||
ThemeSyncableService and ThemeService are owned by each other. On
|
||||
destruction of ThemeService, ThemeSyncableService gets destructed as
|
||||
well, but calls RemoveObserver of partly destructed ThemeService object.
|
||||
To avoid already destructed |observers_| list, move it before
|
||||
|theme_syncable_service_| definition.
|
||||
|
||||
Bug: 1190561
|
||||
Change-Id: I4dc2c990d589071d97b7fa737afef54463c84751
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2821311
|
||||
Commit-Queue: Peter Kasting <pkasting@chromium.org>
|
||||
Reviewed-by: Peter Kasting <pkasting@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#872164}
|
||||
---
|
||||
chrome/browser/themes/theme_service.h | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git chrome/browser/themes/theme_service.h chrome/browser/themes/theme_service.h
|
||||
index 592d40ae9de0f..337dfac9a040f 100644
|
||||
--- a/chrome/browser/themes/theme_service.h
|
||||
+++ b/chrome/browser/themes/theme_service.h
|
||||
@@ -299,6 +299,10 @@ class ThemeService : public KeyedService,
|
||||
// The number of infobars currently displayed.
|
||||
int number_of_reinstallers_ = 0;
|
||||
|
||||
+ // Declared before |theme_syncable_service_|, because ThemeSyncableService
|
||||
+ // removes itself from the |observers_| list on destruction.
|
||||
+ base::ObserverList<ThemeServiceObserver> observers_;
|
||||
+
|
||||
std::unique_ptr<ThemeSyncableService> theme_syncable_service_;
|
||||
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
@@ -320,8 +324,6 @@ class ThemeService : public KeyedService,
|
||||
ScopedObserver<ui::NativeTheme, ui::NativeThemeObserver>
|
||||
native_theme_observer_{this};
|
||||
|
||||
- base::ObserverList<ThemeServiceObserver> observers_;
|
||||
-
|
||||
base::WeakPtrFactory<ThemeService> weak_ptr_factory_{this};
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(ThemeService);
|
53
srcpkgs/chromium/patches/fix-narrowing-cast.patch
Normal file
53
srcpkgs/chromium/patches/fix-narrowing-cast.patch
Normal file
|
@ -0,0 +1,53 @@
|
|||
--- a/base/files/file_util_linux.cc
|
||||
+++ b/base/files/file_util_linux.cc
|
||||
@@ -23,14 +23,14 @@
|
||||
|
||||
// Not all possible |statfs_buf.f_type| values are in linux/magic.h.
|
||||
// Missing values are copied from the statfs man page.
|
||||
- switch (statfs_buf.f_type) {
|
||||
+ switch (static_cast<uintmax_t>(statfs_buf.f_type)) {
|
||||
case 0:
|
||||
*type = FILE_SYSTEM_0;
|
||||
break;
|
||||
case EXT2_SUPER_MAGIC: // Also ext3 and ext4
|
||||
case MSDOS_SUPER_MAGIC:
|
||||
case REISERFS_SUPER_MAGIC:
|
||||
- case static_cast<int>(BTRFS_SUPER_MAGIC):
|
||||
+ case BTRFS_SUPER_MAGIC:
|
||||
case 0x5346544E: // NTFS
|
||||
case 0x58465342: // XFS
|
||||
case 0x3153464A: // JFS
|
||||
@@ -40,14 +40,14 @@
|
||||
*type = FILE_SYSTEM_NFS;
|
||||
break;
|
||||
case SMB_SUPER_MAGIC:
|
||||
- case static_cast<int>(0xFF534D42): // CIFS
|
||||
+ case 0xFF534D42: // CIFS
|
||||
*type = FILE_SYSTEM_SMB;
|
||||
break;
|
||||
case CODA_SUPER_MAGIC:
|
||||
*type = FILE_SYSTEM_CODA;
|
||||
break;
|
||||
- case static_cast<int>(HUGETLBFS_MAGIC):
|
||||
- case static_cast<int>(RAMFS_MAGIC):
|
||||
+ case HUGETLBFS_MAGIC:
|
||||
+ case RAMFS_MAGIC:
|
||||
case TMPFS_MAGIC:
|
||||
*type = FILE_SYSTEM_MEMORY;
|
||||
break;
|
||||
--- a/base/system/sys_info_posix.cc
|
||||
+++ b/base/system/sys_info_posix.cc
|
||||
@@ -100,10 +100,10 @@
|
||||
if (HANDLE_EINTR(statfs(path.value().c_str(), &stats)) != 0)
|
||||
return false;
|
||||
|
||||
- switch (stats.f_type) {
|
||||
+ switch (static_cast<uintmax_t>(stats.f_type)) {
|
||||
case TMPFS_MAGIC:
|
||||
- case static_cast<int>(HUGETLBFS_MAGIC):
|
||||
- case static_cast<int>(RAMFS_MAGIC):
|
||||
+ case HUGETLBFS_MAGIC:
|
||||
+ case RAMFS_MAGIC:
|
||||
return true;
|
||||
}
|
||||
return false;
|
1384
srcpkgs/chromium/patches/linux-sandbox-fix-fstatat-crash.patch
Normal file
1384
srcpkgs/chromium/patches/linux-sandbox-fix-fstatat-crash.patch
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,37 +0,0 @@
|
|||
From 359b22d3f775afa33cca9e4f8fb57eadd0ec4118 Mon Sep 17 00:00:00 2001
|
||||
From: Nico Weber <thakis@chromium.org>
|
||||
Date: Fri, 23 Apr 2021 16:22:19 +0000
|
||||
Subject: [PATCH] Make dom distiller protoc plugin explicitly call py2.7
|
||||
|
||||
With this, chrome builds with when `/usr/bin/env python` is py3.
|
||||
|
||||
Bug: 1202134
|
||||
Change-Id: Ibbd97a1311ccb34d46f266912c871fd0522f9535
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2848445
|
||||
Commit-Queue: Nico Weber <thakis@chromium.org>
|
||||
Commit-Queue: Yaron Friedman <yfriedman@chromium.org>
|
||||
Commit-Queue: Dirk Pranke <dpranke@google.com>
|
||||
Auto-Submit: Nico Weber <thakis@chromium.org>
|
||||
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
|
||||
Reviewed-by: Dirk Pranke <dpranke@google.com>
|
||||
Cr-Commit-Position: refs/heads/master@{#875702}
|
||||
---
|
||||
.../dom_distiller_js/protoc_plugins/json_values_converter.py | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/third_party/dom_distiller_js/protoc_plugins/json_values_converter.py b/third_party/dom_distiller_js/protoc_plugins/json_values_converter.py
|
||||
index e86a88c759fcb..cae1a998c4650 100755
|
||||
--- a/third_party/dom_distiller_js/protoc_plugins/json_values_converter.py
|
||||
+++ b/third_party/dom_distiller_js/protoc_plugins/json_values_converter.py
|
||||
@@ -1,7 +1,10 @@
|
||||
-#!/usr/bin/env python
|
||||
+#!/usr/bin/env python2.7
|
||||
# Copyright 2016 The Chromium Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
+#
|
||||
+# TODO(crbug.com/1202134): Switch run line back to just "python"
|
||||
+# once things are py3-compatible.
|
||||
|
||||
"""protoc plugin to create C++ reader/writer for JSON-encoded protobufs
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
--- a/base/debug/stack_trace_posix.cc 2019-05-14 14:49:44.000000000 -0400
|
||||
+++ b/base/debug/stack_trace_posix.cc 2019-07-02 10:43:43.490045013 -0400
|
||||
--- a/base/debug/stack_trace_posix.cc
|
||||
+++ b/base/debug/stack_trace_posix.cc
|
||||
@@ -27,7 +27,7 @@
|
||||
#if !defined(USE_SYMBOLIZE)
|
||||
#include <cxxabi.h>
|
||||
|
@ -9,7 +9,7 @@
|
|||
#include <execinfo.h>
|
||||
#endif
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
@@ -89,7 +89,7 @@
|
||||
// Note: code in this function is NOT async-signal safe (std::string uses
|
||||
// malloc internally).
|
||||
|
||||
|
@ -18,16 +18,7 @@
|
|||
std::string::size_type search_from = 0;
|
||||
while (search_from < text->size()) {
|
||||
// Look for the start of a mangled symbol, from search_from.
|
||||
@@ -121,7 +121,7 @@
|
||||
search_from = mangled_start + 2;
|
||||
}
|
||||
}
|
||||
-#endif // !defined(__UCLIBC__) && !defined(_AIX)
|
||||
+#endif // defined(__GLIBC__) && !defined(_AIX)
|
||||
}
|
||||
#endif // !defined(USE_SYMBOLIZE)
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
@@ -136,7 +136,7 @@
|
||||
virtual ~BacktraceOutputHandler() = default;
|
||||
};
|
||||
|
||||
|
@ -36,25 +27,16 @@
|
|||
void OutputPointer(void* pointer, BacktraceOutputHandler* handler) {
|
||||
// This should be more than enough to store a 64-bit number in hex:
|
||||
// 16 hex digits + 1 for null-terminator.
|
||||
@@ -216,7 +216,7 @@
|
||||
}
|
||||
#endif // defined(USE_SYMBOLIZE)
|
||||
}
|
||||
-#endif // !defined(__UCLIBC__) && !defined(_AIX)
|
||||
+#endif // defined(__GLIBC__) && !defined(_AIX)
|
||||
|
||||
void PrintToStderr(const char* output) {
|
||||
// NOTE: This code MUST be async-signal safe (it's used by in-process
|
||||
@@ -812,7 +812,7 @@
|
||||
// NOTE: This code MUST be async-signal safe (it's used by in-process
|
||||
// stack dumping signal handler). NO malloc or stdio is allowed here.
|
||||
|
||||
-#if !defined(__UCLIBC__) && !defined(_AIX)
|
||||
+#if defined(__GLIBC__) && !defined(_AIX)
|
||||
@@ -839,7 +839,7 @@
|
||||
// If we do not have unwind tables, then try tracing using frame pointers.
|
||||
return base::debug::TraceStackFramePointers(const_cast<const void**>(trace),
|
||||
count, 0);
|
||||
-#elif !defined(__UCLIBC__) && !defined(_AIX)
|
||||
+#elif defined(__GLIBC__) && !defined(_AIX)
|
||||
// Though the backtrace API man page does not list any possible negative
|
||||
// return values, we take no chance.
|
||||
return base::saturated_cast<size_t>(backtrace(trace, count));
|
||||
@@ -825,13 +825,13 @@
|
||||
@@ -852,13 +852,13 @@
|
||||
// NOTE: This code MUST be async-signal safe (it's used by in-process
|
||||
// stack dumping signal handler). NO malloc or stdio is allowed here.
|
||||
|
||||
|
@ -70,3 +52,24 @@
|
|||
void StackTrace::OutputToStreamWithPrefix(std::ostream* os,
|
||||
const char* prefix_string) const {
|
||||
StreamBacktraceOutputHandler handler(os);
|
||||
--- a/v8/src/codegen/external-reference-table.cc.orig
|
||||
+++ b/v8/src/codegen/external-reference-table.cc
|
||||
@@ -11,7 +11,9 @@
|
||||
|
||||
#if defined(DEBUG) && defined(V8_OS_LINUX) && !defined(V8_OS_ANDROID)
|
||||
#define SYMBOLIZE_FUNCTION
|
||||
+#if defined(__GLIBC__)
|
||||
#include <execinfo.h>
|
||||
+#endif
|
||||
|
||||
#include <vector>
|
||||
|
||||
@@ -96,7 +98,7 @@
|
||||
}
|
||||
|
||||
const char* ExternalReferenceTable::ResolveSymbol(void* address) {
|
||||
-#ifdef SYMBOLIZE_FUNCTION
|
||||
+#if defined(SYMBOLIZE_FUNCTION) && defined(__GLIBC__)
|
||||
char** names = backtrace_symbols(&address, 1);
|
||||
const char* name = names[0];
|
||||
// The array of names is malloc'ed. However, each name string is static
|
||||
|
|
13
srcpkgs/chromium/patches/remove-llvm13-warning-flags.patch
Normal file
13
srcpkgs/chromium/patches/remove-llvm13-warning-flags.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
--- a/build/config/compiler/BUILD.gn.orig
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -1620,10 +1620,6 @@
|
||||
|
||||
# TODO(https://crbug.com/1050281): Clean up, enable.
|
||||
"-Wno-non-c-typedef-for-linkage",
|
||||
-
|
||||
- # TODO(https://crbug.com/1203071): Clean up and enable.
|
||||
- "-Wno-unused-but-set-parameter",
|
||||
- "-Wno-unused-but-set-variable",
|
||||
]
|
||||
|
||||
cflags_c += [
|
32
srcpkgs/chromium/patches/remove-strip_binary.patch
Normal file
32
srcpkgs/chromium/patches/remove-strip_binary.patch
Normal file
|
@ -0,0 +1,32 @@
|
|||
--- a/chrome/test/chromedriver/BUILD.gn.orig
|
||||
+++ b/chrome/test/chromedriver/BUILD.gn
|
||||
@@ -308,11 +308,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
-if (is_linux) {
|
||||
- chromedriver_output = "chromedriver.unstripped"
|
||||
-} else {
|
||||
- chromedriver_output = "chromedriver"
|
||||
-}
|
||||
+chromedriver_output = "chromedriver"
|
||||
|
||||
executable("$chromedriver_output") {
|
||||
testonly = true
|
||||
@@ -336,16 +332,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
-if (is_linux) {
|
||||
- strip_binary("chromedriver") {
|
||||
- testonly = true
|
||||
- binary_input = "$root_out_dir/$chromedriver_output"
|
||||
- symbol_output = "$root_out_dir/chromedriver.debug"
|
||||
- stripped_binary_output = "$root_out_dir/chromedriver"
|
||||
- deps = [ ":$chromedriver_output" ]
|
||||
- }
|
||||
-}
|
||||
-
|
||||
python_library("chromedriver_py_tests") {
|
||||
testonly = true
|
||||
deps = [
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'chromium'
|
||||
pkgname=chromium
|
||||
# See http://www.chromium.org/developers/calendar for the latest version
|
||||
version=91.0.4472.114
|
||||
# See https://chromiumdash.appspot.com/releases?platform=Linux for the latest version
|
||||
version=93.0.4577.63
|
||||
revision=1
|
||||
archs="i686* x86_64* aarch64* armv7l* ppc64le*"
|
||||
short_desc="Google's attempt at creating a safer, faster, and more stable browser"
|
||||
|
@ -9,22 +9,22 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
|
|||
license="BSD-3-Clause"
|
||||
homepage="https://www.chromium.org/"
|
||||
distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz"
|
||||
checksum=c1c7fe783f3250978503d4bd53144039bd818de8a6e89de493f27dd5168f7e71
|
||||
checksum=eaf34fa6c2f24054655fbb2376b6e3ddee4cf4868c1324c921e71a45cfc94853
|
||||
nocross=yes
|
||||
|
||||
lib32disabled=yes
|
||||
nodebug=yes
|
||||
nopie=yes # contains tools that are not PIE, enables PIE itself
|
||||
|
||||
build_options="clang js_optimize vaapi pulseaudio sndio pipewire"
|
||||
build_options="clang debug js_optimize vaapi pulseaudio sndio pipewire"
|
||||
build_options_default="clang js_optimize vaapi pulseaudio sndio pipewire"
|
||||
desc_option_clang="Use clang to build"
|
||||
desc_option_debug="Build with debug symbols"
|
||||
desc_option_js_optimize="Optimize the JS used for Chromium's UI"
|
||||
desc_option_vaapi="Enable support for VA-API"
|
||||
desc_option_pulseaudio="Enable support for PulseAudio"
|
||||
desc_option_sndio="Enable support for sndio"
|
||||
desc_option_pipewire="Enable support for screen sharing for WebRTC via PipeWire"
|
||||
|
||||
hostmakedepends="$(vopt_if clang clang) python pkgconf perl gperf bison ninja nodejs hwids
|
||||
hostmakedepends="$(vopt_if clang "clang lld") python pkgconf perl gperf bison ninja nodejs hwids
|
||||
libatomic-devel libevent-devel libglib-devel $(vopt_if js_optimize openjdk)"
|
||||
makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
|
||||
libXi-devel libgcrypt-devel libgnome-keyring-devel cups-devel elfutils-devel
|
||||
|
@ -156,71 +156,66 @@ do_configure() {
|
|||
|
||||
third_party/libaddressinput/chromium/tools/update-strings.py
|
||||
|
||||
conf+=(
|
||||
conf=(
|
||||
'enable_nacl=false'
|
||||
'enable_nacl_nonsfi=false'
|
||||
"is_clang=$(vopt_if clang true false)"
|
||||
'is_debug=false'
|
||||
'clang_use_chrome_plugins=false'
|
||||
|
||||
'use_sysroot=false'
|
||||
'custom_toolchain="//build/toolchain/linux/unbundle:default"'
|
||||
'host_toolchain="//build/toolchain/linux/unbundle:default"'
|
||||
'blink_symbol_level=0'
|
||||
'symbol_level=0'
|
||||
'icu_use_data_file=true'
|
||||
'use_allocator="none"'
|
||||
'use_allocator_shim=false'
|
||||
'use_cups=true'
|
||||
'use_sysroot=false'
|
||||
'use_system_harfbuzz=true'
|
||||
'enable_widevine=true'
|
||||
'enable_hangout_services_extension=true'
|
||||
)
|
||||
|
||||
conf+=(
|
||||
"use_vaapi=$(vopt_if vaapi true false)"
|
||||
)
|
||||
"is_clang=$(vopt_if clang true false)"
|
||||
"use_lld=$(vopt_if clang true false)"
|
||||
'clang_use_chrome_plugins=false'
|
||||
|
||||
# https://chromium.googlesource.com/chromium/src/+/master/docs/closure_compilation.md
|
||||
conf+=(
|
||||
"enable_js_type_check=$(vopt_if js_optimize true false)"
|
||||
)
|
||||
|
||||
conf+=(
|
||||
"use_pulseaudio=$(vopt_if pulseaudio true false)"
|
||||
)
|
||||
|
||||
conf+=(
|
||||
"rtc_use_pipewire=$(vopt_if pipewire true false)"
|
||||
)
|
||||
|
||||
# Use explicit library dependencies instead of dlopen.
|
||||
# GN only has "link_pulseaudio", the other options used before are not available atm
|
||||
# linux_link_cups=true
|
||||
# linux_link_gsettings=true
|
||||
# linux_link_libpci=true
|
||||
# linux_link_libspeechd=true
|
||||
# libspeechd_h_prefix=\"speech-dispatcher/\""
|
||||
conf+=( "link_pulseaudio=$(vopt_if pulseaudio true false)" )
|
||||
|
||||
conf+=(
|
||||
"use_sndio=$(vopt_if sndio true false)"
|
||||
)
|
||||
|
||||
# Never use bundled binutils/gold binary.
|
||||
conf+=(
|
||||
"gold_path=\"${XBPS_CROSS_BASE}/usr/bin/ld.gold\""
|
||||
'use_custom_libcxx=false'
|
||||
'use_lld=false'
|
||||
)
|
||||
'use_gold=false'
|
||||
|
||||
# XXX: gold broken with musl, i686, and x86_64 so disable globally
|
||||
conf+=( 'use_gold=false' )
|
||||
# is_debug makes the build a debug build, changes some things.
|
||||
# might be useful for real debugging vs just debug symbols.
|
||||
"is_debug=false"
|
||||
"blink_symbol_level=$(vopt_if debug 1 0)"
|
||||
"symbol_level=$(vopt_if debug 1 0)"
|
||||
|
||||
# Always support proprietary codecs.
|
||||
# Enable H.264 support in bundled ffmpeg.
|
||||
conf+=(
|
||||
'icu_use_data_file=true'
|
||||
|
||||
'use_allocator="none"'
|
||||
'use_allocator_shim=false'
|
||||
|
||||
'enable_widevine=true'
|
||||
'enable_hangout_services_extension=true'
|
||||
|
||||
'use_system_harfbuzz=true'
|
||||
|
||||
'use_cups=true'
|
||||
|
||||
"use_vaapi=$(vopt_if vaapi true false)"
|
||||
|
||||
# https://chromium.googlesource.com/chromium/src/+/master/docs/closure_compilation.md
|
||||
"enable_js_type_check=$(vopt_if js_optimize true false)"
|
||||
|
||||
"use_pulseaudio=$(vopt_if pulseaudio true false)"
|
||||
"link_pulseaudio=$(vopt_if pulseaudio true false)"
|
||||
|
||||
"rtc_use_pipewire=$(vopt_if pipewire true false)"
|
||||
|
||||
"use_sndio=$(vopt_if sndio true false)"
|
||||
|
||||
# Always support proprietary codecs.
|
||||
# Enable H.264 support in bundled ffmpeg.
|
||||
'proprietary_codecs=true'
|
||||
'ffmpeg_branding="Chrome"'
|
||||
|
||||
# Make sure that -Werror doesn't get added to CFLAGS by the build system.
|
||||
# Depending on GCC version the warnings are different and we don't want
|
||||
# the build to fail because of that.
|
||||
'treat_warnings_as_errors=false'
|
||||
'fatal_linker_warnings=false'
|
||||
|
||||
# Save space by removing DLOG and DCHECK messages (about 6% reduction).
|
||||
# 'logging_like_official_build=true'
|
||||
'fieldtrial_testing_like_official_build=true'
|
||||
)
|
||||
|
||||
# this does not work on ppc64 yet
|
||||
|
@ -228,18 +223,6 @@ do_configure() {
|
|||
ppc64*) conf+=( "enable_jxl_decoder=false" );;
|
||||
esac
|
||||
|
||||
# Make sure that -Werror doesn't get added to CFLAGS by the build system.
|
||||
# Depending on GCC version the warnings are different and we don't want
|
||||
# the build to fail because of that.
|
||||
conf+=(
|
||||
'treat_warnings_as_errors=false'
|
||||
'fatal_linker_warnings=false'
|
||||
)
|
||||
|
||||
# Save space by removing DLOG and DCHECK messages (about 6% reduction).
|
||||
# conf+=" logging_like_official_build=true"
|
||||
conf+=( fieldtrial_testing_like_official_build=true )
|
||||
|
||||
case "${XBPS_TARGET_MACHINE}" in
|
||||
x86_64*) conf+=( 'target_cpu="x64"' ) ;;
|
||||
i686*) conf+=( 'target_cpu="x86"' ) ;;
|
||||
|
@ -256,10 +239,11 @@ do_build() {
|
|||
export CXX=clang++
|
||||
fi
|
||||
|
||||
ninja -C out/Release ${makejobs} chrome chromedriver mksnapshot
|
||||
ninja -C out/Release ${makejobs} chrome chromedriver mksnapshot crashpad_handler
|
||||
}
|
||||
do_install() {
|
||||
vinstall out/Release/chrome 755 usr/lib/${pkgname} ${pkgname}
|
||||
vinstall out/Release/crashpad_handler 755 usr/lib/${pkgname} crashpad_handler
|
||||
vinstall out/Release/chromedriver 755 usr/lib/${pkgname} chromedriver
|
||||
vinstall out/Release/libEGL.so 755 usr/lib/${pkgname} libEGL.so
|
||||
vinstall out/Release/libGLESv2.so 755 usr/lib/${pkgname} libGLESv2.so
|
||||
|
@ -290,5 +274,5 @@ do_install() {
|
|||
|
||||
vbin ${FILESDIR}/chromium.sh chromium
|
||||
vlicense LICENSE
|
||||
ln -s /usr/lib/chromium/chromedriver ${DESTDIR}/usr/bin/chromedriver
|
||||
ln -sf /usr/lib/chromium/chromedriver ${DESTDIR}/usr/bin/chromedriver
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue