From e0963098228cc36b26b9f40dd0b21df3a9c0e742 Mon Sep 17 00:00:00 2001 From: Duncaen Date: Thu, 3 Mar 2022 02:55:40 +0100 Subject: [PATCH] chromium: update to 99.0.4844.51. --- .../default-pthread-stacksize.patch | 29 --- .../files/musl-patches/musl-crashpad.patch | 23 -- .../files/musl-patches/musl-fixes.patch | 212 ------------------ .../files/musl-patches/musl-sync.patch | 30 --- .../files/musl-patches/no-mallinfo.patch | 27 +-- .../files/musl-patches/resolver.patch | 77 ------- srcpkgs/chromium/patches/cross-build.patch | 4 +- .../disable-aarch64-memory-tagging.patch | 16 ++ ...ngrade-duplicate-peer-error-to-dvlog.patch | 33 --- .../patches/fix-gnu-libc-version-usage.patch | 21 ++ ...fix-missing-TEMP_FAILURE_RETRY-macro.patch | 21 ++ .../fix-musl-missing-unistd_h-include.patch | 10 + .../patches/fix-musl-pthread-stacksize.patch | 40 ++++ .../patches/fix-nasm-musl-config.patch | 12 + .../fix-perfetto-GetThreadName-musl.patch | 22 ++ .../chromium/patches/fix-resolver-musl.patch | 66 ++++++ .../patches/fix-stack-utils-with-musl.patch | 20 ++ .../fix-swiftshader-llvm-musl-config.patch | 26 +++ srcpkgs/chromium/patches/libc_malloc.patch | 34 +-- srcpkgs/chromium/patches/musl-stat.patch | 8 +- .../patches/remove-sys-cdefs-includes.patch | 39 ++++ ...ne_MM_Var-in-CFX_Font-AdjustMMParams.patch | 29 ++- ...ebcodecs-stop-using-AudioOpusEncoder.patch | 49 ++++ srcpkgs/chromium/patches/webrtc-include.patch | 10 - .../patches/xxx-ppc64le-4k-pages.patch | 6 +- .../patches/xxx-ppc64le-support.patch | 49 ++-- srcpkgs/chromium/template | 5 +- 27 files changed, 426 insertions(+), 492 deletions(-) delete mode 100644 srcpkgs/chromium/files/musl-patches/default-pthread-stacksize.patch delete mode 100644 srcpkgs/chromium/files/musl-patches/musl-crashpad.patch delete mode 100644 srcpkgs/chromium/files/musl-patches/musl-fixes.patch delete mode 100644 srcpkgs/chromium/files/musl-patches/musl-sync.patch delete mode 100644 srcpkgs/chromium/files/musl-patches/resolver.patch create mode 100644 srcpkgs/chromium/patches/disable-aarch64-memory-tagging.patch delete mode 100644 srcpkgs/chromium/patches/downgrade-duplicate-peer-error-to-dvlog.patch create mode 100644 srcpkgs/chromium/patches/fix-gnu-libc-version-usage.patch create mode 100644 srcpkgs/chromium/patches/fix-missing-TEMP_FAILURE_RETRY-macro.patch create mode 100644 srcpkgs/chromium/patches/fix-musl-missing-unistd_h-include.patch create mode 100644 srcpkgs/chromium/patches/fix-musl-pthread-stacksize.patch create mode 100644 srcpkgs/chromium/patches/fix-nasm-musl-config.patch create mode 100644 srcpkgs/chromium/patches/fix-perfetto-GetThreadName-musl.patch create mode 100644 srcpkgs/chromium/patches/fix-resolver-musl.patch create mode 100644 srcpkgs/chromium/patches/fix-stack-utils-with-musl.patch create mode 100644 srcpkgs/chromium/patches/fix-swiftshader-llvm-musl-config.patch create mode 100644 srcpkgs/chromium/patches/remove-sys-cdefs-includes.patch create mode 100644 srcpkgs/chromium/patches/webcodecs-stop-using-AudioOpusEncoder.patch delete mode 100644 srcpkgs/chromium/patches/webrtc-include.patch diff --git a/srcpkgs/chromium/files/musl-patches/default-pthread-stacksize.patch b/srcpkgs/chromium/files/musl-patches/default-pthread-stacksize.patch deleted file mode 100644 index 26884f6cc9..0000000000 --- a/srcpkgs/chromium/files/musl-patches/default-pthread-stacksize.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- base/threading/platform_thread_linux.cc.orig -+++ base/threading/platform_thread_linux.cc -@@ -99 +99,2 @@ size_t GetDefaultThreadStackSize(const p -- return 0; -+ // use 8mb like glibc to avoid running out of space -+ return (1 << 23); ---- 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) -+# if defined(__GLIBC__) - const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2; -+# else -+ const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2 * 8; // match up musls 2k PTHREAD_STACK_MIN with glibcs 16k -+# endif - #else - // ASan instrumentation bloats the stack frames, so we need to increase the - // stack size to avoid hitting the guard page. -+# if defined(__GLIBC__) - const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4; -+# else -+ const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4 * 8; // match up musls 2k PTHREAD_STACK_MIN with glibcs 16k -+# endif - #endif - ShutdownDetector* detector = new ShutdownDetector( - g_shutdown_pipe_read_fd, shutdown_callback, task_runner); - diff --git a/srcpkgs/chromium/files/musl-patches/musl-crashpad.patch b/srcpkgs/chromium/files/musl-patches/musl-crashpad.patch deleted file mode 100644 index 03a0c06f3c..0000000000 --- a/srcpkgs/chromium/files/musl-patches/musl-crashpad.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- third_party/crashpad/crashpad/util/linux/ptracer.cc -+++ third_party/crashpad/crashpad/util/linux/ptracer.cc -@@ -26,6 +26,7 @@ - - #if defined(ARCH_CPU_X86_FAMILY) - #include -+#include - #endif - - namespace crashpad { - ---- third_party/crashpad/crashpad/compat/linux/sys/ptrace.h -+++ third_party/crashpad/crashpad/compat/linux/sys/ptrace.h -@@ -17,7 +17,9 @@ - - #include_next - -+#if defined(__GLIBC__) - #include -+#endif - - // https://sourceware.org/bugzilla/show_bug.cgi?id=22433 - #if !defined(PTRACE_GET_THREAD_AREA) && !defined(PT_GET_THREAD_AREA) && \ diff --git a/srcpkgs/chromium/files/musl-patches/musl-fixes.patch b/srcpkgs/chromium/files/musl-patches/musl-fixes.patch deleted file mode 100644 index 728f2b473c..0000000000 --- a/srcpkgs/chromium/files/musl-patches/musl-fixes.patch +++ /dev/null @@ -1,212 +0,0 @@ ---- ./third_party/lss/linux_syscall_support.h.orig -+++ ./third_party/lss/linux_syscall_support.h -@@ -1127,6 +1127,12 @@ - #ifndef __NR_fallocate - #define __NR_fallocate 285 - #endif -+ -+#undef __NR_pread -+#define __NR_pread __NR_pread64 -+#undef __NR_pwrite -+#define __NR_pwrite __NR_pwrite64 -+ - /* End of x86-64 definitions */ - #elif defined(__mips__) - #if _MIPS_SIM == _MIPS_SIM_ABI32 ---- ./third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h.orig -+++ ./third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -@@ -37,6 +37,10 @@ - #include "common/memory.h" - #include "google_breakpad/common/minidump_format.h" - -+#if !defined(__GLIBC__) -+ #define _libc_fpstate _fpstate -+#endif -+ - namespace google_breakpad { - - // Wraps platform-dependent implementations of accessors to ucontext_t structs. ---- ./third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h.orig -+++ ./third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -@@ -36,6 +36,7 @@ - #include - #include - #include -+#include - - #include "common/memory_range.h" - ---- ./sandbox/linux/suid/process_util.h.orig -+++ ./sandbox/linux/suid/process_util.h -@@ -11,6 +11,14 @@ - #include - #include - -+// Some additional functions -+# define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+ - // This adjusts /proc/process/oom_score_adj so the Linux OOM killer - // will prefer certain process types over others. The range for the - // adjustment is [-1000, 1000], with [0, 1000] being user accessible. ---- ./sandbox/linux/seccomp-bpf/trap.cc.orig 2020-04-12 08:26:40.184159217 -0400 -+++ ./sandbox/linux/seccomp-bpf/trap.cc 2020-04-12 08:46:16.737191222 -0400 -@@ -174,7 +174,7 @@ - // If the version of glibc doesn't include this information in - // siginfo_t (older than 2.17), we need to explicitly copy it - // into an arch_sigsys structure. -- memcpy(&sigsys, &info->_sifields, sizeof(sigsys)); -+ memcpy(&sigsys, &info->__sifields, sizeof(sigsys)); - #endif - - #if defined(__mips__) ---- ./third_party/ffmpeg/libavutil/cpu.c.orig -+++ ./third_party/ffmpeg/libavutil/cpu.c -@@ -38,7 +38,6 @@ - #include - #endif - #include --#include - #endif - #if HAVE_UNISTD_H - #include -diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc ---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2021-03-10 07:23:00.145810088 -0500 -+++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc 2021-03-10 10:57:19.405962671 -0500 -@@ -55,7 +55,9 @@ - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. - #if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(__GLIBC__) - #include -+#endif - - #include "base/linux_util.h" - #include "base/strings/string_split.h" -@@ -316,7 +318,7 @@ - void RecordLinuxGlibcVersion() { - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(__GLIBC__) || BUILDFLAG(IS_CHROMEOS_LACROS) - base::Version version(gnu_get_libc_version()); - - UMALinuxGlibcVersion glibc_version_result = UMA_LINUX_GLIBC_NOT_PARSEABLE; ---- services/device/serial/serial_io_handler_posix.cc.orig 2019-07-03 10:57:32.568171835 -0400 -+++ services/device/serial/serial_io_handler_posix.cc 2019-07-03 10:57:16.867983031 -0400 -@@ -6,6 +6,7 @@ - - #include - #include -+#include - - #include - #include -diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/include/opentype-sanitiser.h ---- third_party/ots/src/include/opentype-sanitiser.h -+++ third_party/ots/src/include/opentype-sanitiser.h -@@ -20,6 +20,7 @@ typedef unsigned __int64 uint64_t; - #define htonl(x) _byteswap_ulong (x) - #define htons(x) _byteswap_ushort (x) - #else -+#include - #include - #include - #endif ---- ./base/logging.cc.orig 2021-01-20 12:09:54.227038757 -0500 -+++ ./base/logging.cc 2021-01-20 12:24:32.600301351 -0500 -@@ -557,8 +557,7 @@ - - LogMessage::~LogMessage() { - size_t stack_start = stream_.tellp(); --#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && !defined(__UCLIBC__) && \ -- !defined(OS_AIX) -+#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && defined(__GLIBC__) - if (severity_ == LOGGING_FATAL && !base::debug::BeingDebugged()) { - // Include a stack trace on a fatal, unless a debugger is attached. - base::debug::StackTrace stack_trace; ---- ./third_party/blink/renderer/platform/wtf/stack_util.cc.orig -+++ ./third_party/blink/renderer/platform/wtf/stack_util.cc -@@ -28,7 +28,7 @@ - // FIXME: On Mac OSX and Linux, this method cannot estimate stack size - // correctly for the main thread. - --#elif defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) - // pthread_getattr_np() can fail if the thread is not invoked by - // pthread_create() (e.g., the main thread of blink_unittests). -@@ -96,7 +96,7 @@ - } - - void* GetStackStart() { --#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) - pthread_attr_t attr; - int error; ---- ./net/dns/dns_config_service_posix.cc.orig -+++ ./net/dns/dns_config_service_posix.cc -@@ -122,7 +122,7 @@ - ConfigParsePosixResult result; - config->unhandled_options = false; - // TODO(fuchsia): Use res_ninit() when it's implemented on Fuchsia. --#if defined(OS_OPENBSD) || defined(OS_FUCHSIA) -+#if defined(OS_OPENBSD) || defined(OS_FUCHSIA) || defined(_GNU_SOURCE) - // Note: res_ninit in glibc always returns 0 and sets RES_INIT. - // res_init behaves the same way. - memset(&_res, 0, sizeof(_res)); ---- third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Signals.inc.orig 2019-06-18 11:51:17.000000000 -0400 -+++ third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Signals.inc 2019-07-03 12:32:50.938758186 -0400 -@@ -25,7 +25,7 @@ - #include "llvm/Support/raw_ostream.h" - #include - #include --#if HAVE_EXECINFO_H -+#if HAVE_EXECINFO_H && defined(__GLIBC__) - # include // For backtrace(). - #endif - #if HAVE_SIGNAL_H -@@ -52,6 +52,7 @@ - #include - #else - #undef HAVE__UNWIND_BACKTRACE -+#undef HAVE_BACKTRACE - #endif - #endif - ---- third_party/nasm/nasmlib/realpath.c.orig 2019-07-03 12:23:05.021949895 -0400 -+++ third_party/nasm/nasmlib/realpath.c 2019-07-03 12:24:24.246862665 -0400 -@@ -49,7 +49,7 @@ - - #include "nasmlib.h" - --#ifdef HAVE_CANONICALIZE_FILE_NAME -+#if defined(__GLIBC__) - - /* - * GNU-specific, but avoids the realpath(..., NULL) ---- third_party/perfetto/include/perfetto/ext/base/thread_utils.h -+++ third_party/perfetto/include/perfetto/ext/base/thread_utils.h -@@ -29,7 +29,7 @@ - #include - #endif - --#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) -+#if 1 - #include - #endif - -@@ -58,7 +58,7 @@ inline bool MaybeSetThreadName(const std::string& name) { - - inline bool GetThreadName(std::string& out_result) { - char buf[16] = {}; --#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) -+#if 1 - if (prctl(PR_GET_NAME, buf) != 0) - return false; - #else diff --git a/srcpkgs/chromium/files/musl-patches/musl-sync.patch b/srcpkgs/chromium/files/musl-patches/musl-sync.patch deleted file mode 100644 index bc2fa1937b..0000000000 --- a/srcpkgs/chromium/files/musl-patches/musl-sync.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- third_party/libsync/src/include/sync/sync.h.orig 2020-02-21 07:43:33.748325175 -0500 -+++ third_party/libsync/src/include/sync/sync.h 2020-02-21 07:44:07.288328784 -0500 -@@ -19,12 +19,16 @@ - #ifndef __SYS_CORE_SYNC_H - #define __SYS_CORE_SYNC_H - -+#if defined(__GLIBC__) - #include -+#endif - #include - - #include - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - struct sync_legacy_merge_data { - int32_t fd2; -@@ -158,6 +162,8 @@ - struct sync_pt_info *itr); - void sync_fence_info_free(struct sync_fence_info_data *info); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* __SYS_CORE_SYNC_H */ diff --git a/srcpkgs/chromium/files/musl-patches/no-mallinfo.patch b/srcpkgs/chromium/files/musl-patches/no-mallinfo.patch index 2524cbb84c..5b486ca621 100644 --- a/srcpkgs/chromium/files/musl-patches/no-mallinfo.patch +++ b/srcpkgs/chromium/files/musl-patches/no-mallinfo.patch @@ -9,34 +9,35 @@ #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 +--- base/process/process_metrics_posix.cc.orig ++++ base/process/process_metrics_posix.cc @@ -105,7 +105,7 @@ - #endif // !defined(OS_FUCHSIA) + #endif // !BUILDFLAG(IS_FUCHSIA) --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#if (defined(OS_LINUX) && defined(__GLIBC__)) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) namespace { size_t GetMallocUsageMallinfo() { -@@ -127,16 +127,16 @@ +@@ -123,7 +123,7 @@ } } // namespace --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#endif // (defined(OS_LINUX) && defined(__GLIBC__)) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +-#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || ++#endif // (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS) || + // BUILDFLAG(IS_ANDROID) size_t ProcessMetrics::GetMallocUsage() { - #if defined(OS_APPLE) +@@ -131,9 +131,9 @@ 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(OS_LINUX) && defined(__GLIBC__)) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#elif (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) return GetMallocUsageMallinfo(); --#elif defined(OS_FUCHSIA) -+#else +-#elif BUILDFLAG(IS_FUCHSIA) ++#elif BUILDFLAG(IS_FUCHSIA) || (BUILDFLAG(IS_LINUX) && !defined(__GLIBC__)) // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. return 0; #endif diff --git a/srcpkgs/chromium/files/musl-patches/resolver.patch b/srcpkgs/chromium/files/musl-patches/resolver.patch deleted file mode 100644 index 9de49bf328..0000000000 --- a/srcpkgs/chromium/files/musl-patches/resolver.patch +++ /dev/null @@ -1,77 +0,0 @@ ---- net/dns/host_resolver_manager.cc.orig 2020-10-09 16:39:12.064069835 -0400 -+++ net/dns/host_resolver_manager.cc 2020-10-09 16:42:49.738302772 -0400 -@@ -2779,8 +2779,7 @@ - NetworkChangeNotifier::AddConnectionTypeObserver(this); - if (system_dns_config_notifier_) - system_dns_config_notifier_->AddObserver(this); --#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \ -- !defined(OS_ANDROID) -+#if defined(__GLIBC__) - EnsureDnsReloaderInit(); - #endif - ---- net/dns/dns_reloader.cc.orig 2020-10-09 16:39:12.064069835 -0400 -+++ net/dns/dns_reloader.cc 2020-10-09 16:44:30.442419823 -0400 -@@ -4,9 +4,8 @@ - - #include "net/dns/dns_reloader.h" - --#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \ -- !defined(OS_ANDROID) && !defined(OS_FUCHSIA) -- -+#if defined(__GLIBC__) -+ - #include - - #include "base/lazy_instance.h" ---- net/dns/host_resolver_proc.cc.orig 2020-10-09 16:39:12.065069836 -0400 -+++ net/dns/host_resolver_proc.cc 2020-10-09 16:45:09.641466644 -0400 -@@ -159,8 +159,7 @@ - base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, - base::BlockingType::WILL_BLOCK); - --#if defined(OS_POSIX) && \ -- !(defined(OS_APPLE) || defined(OS_OPENBSD) || defined(OS_ANDROID)) -+#if defined(__GLIBC__) - DnsReloaderMaybeReload(); - #endif - base::Optional ai; ---- net/dns/dns_config_service_linux.cc.orig -+++ net/dns/dns_config_service_linux.cc -@@ -443,11 +443,13 @@ - base::ScopedBlockingCall scoped_blocking_call( - FROM_HERE, base::BlockingType::MAY_BLOCK); - -+#if defined(__GLIBC__) - std::unique_ptr res = resolv_reader_->GetResState(); - if (res) { - dns_config_ = ConvertResStateToDnsConfig(*res.get()); - resolv_reader_->CloseResState(res.get()); - } -+#endif - - UMA_HISTOGRAM_BOOLEAN("Net.DNS.DnsConfig.Resolv.Read", - dns_config_.has_value()); ---- net/dns/public/resolv_reader.cc.orig -+++ net/dns/public/resolv_reader.cc -@@ -20,19 +20,10 @@ - namespace net { - - std::unique_ptr ResolvReader::GetResState() { -- auto res = std::make_unique(); -- memset(res.get(), 0, sizeof(struct __res_state)); -- -- if (res_ninit(res.get()) != 0) { -- CloseResState(res.get()); -- return nullptr; -- } -- -- return res; -+ return nullptr; - } - - void ResolvReader::CloseResState(struct __res_state* res) { -- res_nclose(res); - } - - absl::optional> GetNameservers( diff --git a/srcpkgs/chromium/patches/cross-build.patch b/srcpkgs/chromium/patches/cross-build.patch index 63b89395cb..ddfe14951e 100644 --- a/srcpkgs/chromium/patches/cross-build.patch +++ b/srcpkgs/chromium/patches/cross-build.patch @@ -60,6 +60,6 @@ config(target_name) { - if (host_toolchain == current_toolchain) { + if (current_cpu != target_cpu) { - args = host_pkg_config_args + invoker.packages + args = common_pkg_config_args + host_pkg_config_args + invoker.packages } else { - args = pkg_config_args + invoker.packages + args = common_pkg_config_args + pkg_config_args + invoker.packages diff --git a/srcpkgs/chromium/patches/disable-aarch64-memory-tagging.patch b/srcpkgs/chromium/patches/disable-aarch64-memory-tagging.patch new file mode 100644 index 0000000000..0596c6364a --- /dev/null +++ b/srcpkgs/chromium/patches/disable-aarch64-memory-tagging.patch @@ -0,0 +1,16 @@ +This is broken in the current release and would require a lot of patches to be +backported. Remove this patch for the next release. + +--- a/base/memory/tagging.h ++++ b/base/memory/tagging.h +@@ -14,10 +14,6 @@ + #include "base/compiler_specific.h" + #include "build/build_config.h" + +-#if defined(ARCH_CPU_ARM64) && defined(__clang__) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)) +-#define HAS_MEMORY_TAGGING 1 +-#endif + + constexpr int kMemTagGranuleSize = 16u; + #if defined(HAS_MEMORY_TAGGING) diff --git a/srcpkgs/chromium/patches/downgrade-duplicate-peer-error-to-dvlog.patch b/srcpkgs/chromium/patches/downgrade-duplicate-peer-error-to-dvlog.patch deleted file mode 100644 index e07127a473..0000000000 --- a/srcpkgs/chromium/patches/downgrade-duplicate-peer-error-to-dvlog.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 00604ca8ed6d669fb6cb3ae8bacd6028d5ef10ac Mon Sep 17 00:00:00 2001 -From: Stephen Roettger -Date: Thu, 20 Jan 2022 10:04:04 +0000 -Subject: [PATCH] Downgrade duplicate peer error to dvlog -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Downgrading since this case can happen in non-error situations. There can be -duplicate introductions in flight in which case we simply drop the second one. - -Change-Id: I2c51b177913ccd9634e9bb6343d468101d9735ed -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3398794 -Reviewed-by: Ken Rockot -Commit-Queue: Stephen Röttger -Cr-Commit-Position: refs/heads/main@{#961389} ---- - mojo/core/node_controller.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mojo/core/node_controller.cc b/mojo/core/node_controller.cc -index 7cde7719687..81712676733 100644 ---- a/mojo/core/node_controller.cc -+++ b/mojo/core/node_controller.cc -@@ -594,7 +594,7 @@ void NodeController::AddPeer(const ports::NodeName& name, - } - - if (dropped_peers_.Contains(name) && !allow_name_reuse) { -- LOG(ERROR) << "Trying to re-add dropped peer " << name; -+ DVLOG(1) << "Trying to re-add dropped peer " << name; - return; - } - diff --git a/srcpkgs/chromium/patches/fix-gnu-libc-version-usage.patch b/srcpkgs/chromium/patches/fix-gnu-libc-version-usage.patch new file mode 100644 index 0000000000..2522294f75 --- /dev/null +++ b/srcpkgs/chromium/patches/fix-gnu-libc-version-usage.patch @@ -0,0 +1,21 @@ +--- a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc ++++ b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc +@@ -59,7 +59,9 @@ + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS_LACROS) + #include ++#endif // (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS_LACROS) + + #include "base/linux_util.h" + #include "base/strings/string_split.h" +@@ -323,7 +323,7 @@ + void RecordLinuxGlibcVersion() { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS_LACROS) + base::Version version(gnu_get_libc_version()); + + UMALinuxGlibcVersion glibc_version_result = UMA_LINUX_GLIBC_NOT_PARSEABLE; diff --git a/srcpkgs/chromium/patches/fix-missing-TEMP_FAILURE_RETRY-macro.patch b/srcpkgs/chromium/patches/fix-missing-TEMP_FAILURE_RETRY-macro.patch new file mode 100644 index 0000000000..b56717b9ce --- /dev/null +++ b/srcpkgs/chromium/patches/fix-missing-TEMP_FAILURE_RETRY-macro.patch @@ -0,0 +1,21 @@ +This macro is defined in glibc, but not musl. + +--- a/sandbox/linux/suid/process_util.h.orig ++++ b/sandbox/linux/suid/process_util.h +@@ -11,6 +11,16 @@ + #include + #include + ++// Some additional functions ++#if !defined(TEMP_FAILURE_RETRY) ++# define TEMP_FAILURE_RETRY(expression) \ ++ (__extension__ \ ++ ({ long int __result; \ ++ do __result = (long int) (expression); \ ++ while (__result == -1L && errno == EINTR); \ ++ __result; })) ++#endif ++ + // This adjusts /proc/process/oom_score_adj so the Linux OOM killer + // will prefer certain process types over others. The range for the + // adjustment is [-1000, 1000], with [0, 1000] being user accessible. diff --git a/srcpkgs/chromium/patches/fix-musl-missing-unistd_h-include.patch b/srcpkgs/chromium/patches/fix-musl-missing-unistd_h-include.patch new file mode 100644 index 0000000000..e14d009a9e --- /dev/null +++ b/srcpkgs/chromium/patches/fix-musl-missing-unistd_h-include.patch @@ -0,0 +1,10 @@ +--- a/sandbox/linux/services/credentials.h ++++ b/sandbox/linux/services/credentials.h +@@ -13,6 +13,7 @@ + + #include + #include ++#include + + #include "sandbox/linux/system_headers/capability.h" + #include "sandbox/sandbox_export.h" diff --git a/srcpkgs/chromium/patches/fix-musl-pthread-stacksize.patch b/srcpkgs/chromium/patches/fix-musl-pthread-stacksize.patch new file mode 100644 index 0000000000..cd5533190d --- /dev/null +++ b/srcpkgs/chromium/patches/fix-musl-pthread-stacksize.patch @@ -0,0 +1,40 @@ +--- a/base/threading/platform_thread_linux.cc ++++ b/base/threading/platform_thread_linux.cc +@@ -436,8 +436,13 @@ + + size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { + #if !defined(THREAD_SANITIZER) ++#if defined(__GLIBC__) + return 0; + #else ++ // musl libcs default is too small, use 8mb like glibc ++ return (1 << 23); ++#endif ++#else + // ThreadSanitizer bloats the stack heavily. Evidence has been that the + // default stack size isn't enough for some browser tests. + return 2 * (1 << 23); // 2 times 8192K (the default stack size on Linux). +--- a/chrome/browser/shutdown_signal_handlers_posix.cc ++++ b/chrome/browser/shutdown_signal_handlers_posix.cc +@@ -188,11 +188,21 @@ + g_shutdown_pipe_read_fd = pipefd[0]; + g_shutdown_pipe_write_fd = pipefd[1]; + #if !defined(ADDRESS_SANITIZER) ++#if defined(__GLIBC__) + const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2; + #else ++ // match up musls 2k PTHREAD_STACK_MIN with glibcs 16k ++ const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2 * 8; ++#endif ++#else + // ASan instrumentation bloats the stack frames, so we need to increase the + // stack size to avoid hitting the guard page. ++#if defined(__GLIBC__) + const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4; ++#else ++ const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4 * 8; ++ // match up musls 2k PTHREAD_STACK_MIN with glibcs 16k ++#endif + #endif + ShutdownDetector* detector = new ShutdownDetector( + g_shutdown_pipe_read_fd, std::move(shutdown_callback), task_runner); diff --git a/srcpkgs/chromium/patches/fix-nasm-musl-config.patch b/srcpkgs/chromium/patches/fix-nasm-musl-config.patch new file mode 100644 index 0000000000..7a0337f3bf --- /dev/null +++ b/srcpkgs/chromium/patches/fix-nasm-musl-config.patch @@ -0,0 +1,12 @@ +--- a/third_party/nasm/config/config-linux.h ++++ b/third_party/nasm/config/config-linux.h +@@ -139,7 +139,9 @@ + #define HAVE_ACCESS 1 + + /* Define to 1 if you have the `canonicalize_file_name' function. */ ++#ifdef __GLIBC__ + #define HAVE_CANONICALIZE_FILE_NAME 1 ++#endif + + /* Define to 1 if you have the `cpu_to_le16' intrinsic function. */ + /* #undef HAVE_CPU_TO_LE16 */ diff --git a/srcpkgs/chromium/patches/fix-perfetto-GetThreadName-musl.patch b/srcpkgs/chromium/patches/fix-perfetto-GetThreadName-musl.patch new file mode 100644 index 0000000000..4014d1ee5e --- /dev/null +++ b/srcpkgs/chromium/patches/fix-perfetto-GetThreadName-musl.patch @@ -0,0 +1,22 @@ +--- a/third_party/perfetto/include/perfetto/ext/base/thread_utils.h ++++ b/third_party/perfetto/include/perfetto/ext/base/thread_utils.h +@@ -30,7 +30,8 @@ + #include + #endif + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) ++#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \ ++ (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !defined(__GLIBC__)) + #include + #endif + +@@ -58,7 +59,8 @@ + + inline bool GetThreadName(std::string& out_result) { + char buf[16] = {}; +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) ++#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \ ++ (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !defined(__GLIBC__)) + if (prctl(PR_GET_NAME, buf) != 0) + return false; + #else diff --git a/srcpkgs/chromium/patches/fix-resolver-musl.patch b/srcpkgs/chromium/patches/fix-resolver-musl.patch new file mode 100644 index 0000000000..6bb7aaabb7 --- /dev/null +++ b/srcpkgs/chromium/patches/fix-resolver-musl.patch @@ -0,0 +1,66 @@ +--- a/net/dns/public/scoped_res_state.cc.orig ++++ b/net/dns/public/scoped_res_state.cc +@@ -13,7 +13,7 @@ + namespace net { + + ScopedResState::ScopedResState() { +-#if BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_FUCHSIA) || (BUILDFLAG(IS_LINUX) && !defined(__GLIBC__)) + // Note: res_ninit in glibc always returns 0 and sets RES_INIT. + // res_init behaves the same way. + memset(&_res, 0, sizeof(_res)); +--- a/net/dns/public/scoped_res_state.cc ++++ b/net/dns/public/scoped_res_state.cc +@@ -25,7 +25,7 @@ + } + + ScopedResState::~ScopedResState() { +-#if !BUILDFLAG(IS_OPENBSD) && !BUILDFLAG(IS_FUCHSIA) ++#if !BUILDFLAG(IS_OPENBSD) && !BUILDFLAG(IS_FUCHSIA) && !(BUILDFLAG(IS_LINUX) && !defined(__GLIBC__)) + + // Prefer res_ndestroy where available. + #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FREEBSD) +@@ -34,7 +34,7 @@ + res_nclose(&res_); + #endif // BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FREEBSD) + +-#endif // !BUILDFLAG(IS_OPENBSD) && !BUILDFLAG(IS_FUCHSIA) ++#endif // !BUILDFLAG(IS_OPENBSD) && !BUILDFLAG(IS_FUCHSIA) && !(BUILDFLAG(IS_LINUX) && !defined(__GLIBC__)) + } + + bool ScopedResState::IsValid() const { +--- a/net/dns/host_resolver_manager.cc.orig ++++ b/net/dns/host_resolver_manager.cc +@@ -3015,7 +3015,7 @@ + if (system_dns_config_notifier_) + system_dns_config_notifier_->AddObserver(this); + #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) && \ +- !BUILDFLAG(IS_ANDROID) ++ !BUILDFLAG(IS_ANDROID) && !(BUILDFLAG(IS_LINUX) && !defined(__GLIBC__)) + EnsureDnsReloaderInit(); + #endif + +--- a/net/dns/dns_reloader.cc.orig ++++ b/net/dns/dns_reloader.cc +@@ -7,7 +7,8 @@ + #include "build/build_config.h" + + #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) && \ +- !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_FUCHSIA) ++ !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_FUCHSIA) && \ ++ !(BUILDFLAG(IS_LINUX) && !defined(__GLIBC__)) + + #include + +--- a/net/dns/host_resolver_proc.cc.orig ++++ b/net/dns/host_resolver_proc.cc +@@ -177,7 +177,8 @@ + base::BlockingType::WILL_BLOCK); + + #if BUILDFLAG(IS_POSIX) && \ +- !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_ANDROID)) ++ !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_ANDROID) || \ ++ (BUILDFLAG(IS_LINUX) && !defined(__GLIBC__))) + DnsReloaderMaybeReload(); + #endif + absl::optional ai; diff --git a/srcpkgs/chromium/patches/fix-stack-utils-with-musl.patch b/srcpkgs/chromium/patches/fix-stack-utils-with-musl.patch new file mode 100644 index 0000000000..bb48d95312 --- /dev/null +++ b/srcpkgs/chromium/patches/fix-stack-utils-with-musl.patch @@ -0,0 +1,20 @@ +--- a/third_party/blink/renderer/platform/wtf/stack_util.cc.orig ++++ b/third_party/blink/renderer/platform/wtf/stack_util.cc +@@ -29,7 +29,7 @@ + // FIXME: On Mac OSX and Linux, this method cannot estimate stack size + // correctly for the main thread. + +-#elif defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ ++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ + defined(OS_FUCHSIA) + // pthread_getattr_np() can fail if the thread is not invoked by + // pthread_create() (e.g., the main thread of blink_unittests). +@@ -97,7 +97,7 @@ + } + + void* GetStackStart() { +-#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ + defined(OS_FUCHSIA) + pthread_attr_t attr; + int error; diff --git a/srcpkgs/chromium/patches/fix-swiftshader-llvm-musl-config.patch b/srcpkgs/chromium/patches/fix-swiftshader-llvm-musl-config.patch new file mode 100644 index 0000000000..7bf63bd33d --- /dev/null +++ b/srcpkgs/chromium/patches/fix-swiftshader-llvm-musl-config.patch @@ -0,0 +1,26 @@ +--- a/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h ++++ b/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h +@@ -17,7 +17,11 @@ + #define ENABLE_CRASH_OVERRIDES 0 + + /* Define to 1 if you have the `backtrace' function. */ ++#ifdef __GLIBC__ + #define HAVE_BACKTRACE 1 ++#else ++#define HAVE_BACKTRACE 0 ++#endif + + /* Define to 1 if you have the header file. */ + /* #undef HAVE_CRASHREPORTERCLIENT_H */ +@@ -58,7 +62,11 @@ + #define HAVE_ERRNO_H 1 + + /* Define to 1 if you have the header file. */ ++#ifdef __GLIBC__ + #define HAVE_EXECINFO_H 1 ++#else ++#define HAVE_EXECINFO_H 0 ++#endif + + /* Define to 1 if you have the header file. */ + #define HAVE_FCNTL_H 1 diff --git a/srcpkgs/chromium/patches/libc_malloc.patch b/srcpkgs/chromium/patches/libc_malloc.patch index ff672ea0fa..414f28765d 100644 --- a/srcpkgs/chromium/patches/libc_malloc.patch +++ b/srcpkgs/chromium/patches/libc_malloc.patch @@ -1,26 +1,34 @@ ---- a/base/process/memory_linux.cc 2017-09-15 08:41:43.000000000 +0000 -+++ b/base/process/memory_linux.cc 2017-09-15 08:44:39.804995469 +0000 -@@ -21,6 +21,12 @@ - #include "third_party/tcmalloc/chromium/src/gperftools/tcmalloc.h" - #endif +--- a/base/process/memory_linux.cc ++++ b/base/process/memory_linux.cc +@@ -18,6 +18,13 @@ + #include "base/threading/thread_restrictions.h" + #include "build/build_config.h" +#if defined(LIBC_GLIBC) +extern "C" { +extern void *__libc_malloc(size_t size); ++extern void *__libc_free(void *ptr); +} +#endif + namespace base { - size_t g_oom_size = 0U; ---- a/base/process/memory_linux.cc 2020-08-30 14:18:35.401132593 -0400 -+++ b/base/process/memory_linux.cc 2020-08-30 14:19:08.030199189 -0400 -@@ -141,7 +141,7 @@ - (!defined(LIBC_GLIBC) && !BUILDFLAG(USE_TCMALLOC)) + namespace { +@@ -111,7 +118,7 @@ + #elif defined(MEMORY_TOOL_REPLACES_ALLOCATOR) || !defined(LIBC_GLIBC) *result = malloc(size); - #elif defined(LIBC_GLIBC) && !BUILDFLAG(USE_TCMALLOC) + #elif defined(LIBC_GLIBC) - *result = __libc_malloc(size); + *result = ::__libc_malloc(size); - #elif BUILDFLAG(USE_TCMALLOC) - *result = tc_malloc_skip_new_handler(size); #endif + return *result != nullptr; + } +@@ -122,7 +129,7 @@ + #elif defined(MEMORY_TOOL_REPLACES_ALLOCATOR) || !defined(LIBC_GLIBC) + free(ptr); + #elif defined(LIBC_GLIBC) +- __libc_free(ptr); ++ ::__libc_free(ptr); + #endif + } + diff --git a/srcpkgs/chromium/patches/musl-stat.patch b/srcpkgs/chromium/patches/musl-stat.patch index 427be1a3f4..b25e3c0621 100644 --- a/srcpkgs/chromium/patches/musl-stat.patch +++ b/srcpkgs/chromium/patches/musl-stat.patch @@ -3,10 +3,10 @@ @@ -19,7 +19,8 @@ #include "build/build_config.h" - #if defined(OS_BSD) || defined(OS_APPLE) || defined(OS_NACL) || \ -- defined(OS_FUCHSIA) || (defined(OS_ANDROID) && __ANDROID_API__ < 21) -+ defined(OS_FUCHSIA) || (defined(OS_ANDROID) && __ANDROID_API__ < 21) || \ -+ (defined(OS_LINUX) && !defined(__GLIBC__)) + #if BUILDFLAG(IS_BSD) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_NACL) || \ +- BUILDFLAG(IS_FUCHSIA) || (BUILDFLAG(IS_ANDROID) && __ANDROID_API__ < 21) ++ BUILDFLAG(IS_FUCHSIA) || (BUILDFLAG(IS_ANDROID) && __ANDROID_API__ < 21) || \ ++ (BUILDFLAG(IS_LINUX) && !defined(__GLIBC__)) struct stat; namespace base { typedef struct stat stat_wrapper_t; diff --git a/srcpkgs/chromium/patches/remove-sys-cdefs-includes.patch b/srcpkgs/chromium/patches/remove-sys-cdefs-includes.patch new file mode 100644 index 0000000000..00344073f4 --- /dev/null +++ b/srcpkgs/chromium/patches/remove-sys-cdefs-includes.patch @@ -0,0 +1,39 @@ +--- a/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h ++++ b/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h +@@ -17,8 +17,6 @@ + + #include_next + +-#include +- + // https://sourceware.org/bugzilla/show_bug.cgi?id=22433 + #if !defined(PTRACE_GET_THREAD_AREA) && !defined(PT_GET_THREAD_AREA) && \ + defined(__GLIBC__) +--- a/third_party/libsync/src/include/sync/sync.h ++++ b/third_party/libsync/src/include/sync/sync.h +@@ -19,12 +19,13 @@ + #ifndef __SYS_CORE_SYNC_H + #define __SYS_CORE_SYNC_H + +-#include + #include + + #include + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + + struct sync_legacy_merge_data { + int32_t fd2; +@@ -158,6 +159,8 @@ + struct sync_pt_info *itr); + void sync_fence_info_free(struct sync_fence_info_data *info); + +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif /* __SYS_CORE_SYNC_H */ diff --git a/srcpkgs/chromium/patches/use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch b/srcpkgs/chromium/patches/use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch index 9e3b07920f..2cdbd02a82 100644 --- a/srcpkgs/chromium/patches/use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch +++ b/srcpkgs/chromium/patches/use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch @@ -1,4 +1,4 @@ -From cb0aad687f34629a42053d600cf2947282cea2c0 Mon Sep 17 00:00:00 2001 +From ffeb67faf715475f6e463d65c368f556780adf19 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Mon, 31 Jan 2022 22:42:35 +0000 Subject: [PATCH] Use FT_Done_MM_Var() in CFX_Font::AdjustMMParams() when @@ -12,17 +12,15 @@ Change-Id: I044540893103921fc64cdd53fcd628cfebf2c9db Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/90130 Reviewed-by: Nigi Commit-Queue: Lei Zhang - -(cherry picked from commit ffeb67faf715475f6e463d65c368f556780adf19) --- core/fxge/cfx_font.cpp | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/core/fxge/cfx_font.cpp b/core/fxge/cfx_font.cpp -index 7a4e8eb24..0ef421fe7 100644 +index c08fe9608..8b3a72700 100644 --- a/third_party/pdfium/core/fxge/cfx_font.cpp +++ b/third_party/pdfium/core/fxge/cfx_font.cpp -@@ -43,6 +43,30 @@ struct OUTLINE_PARAMS { +@@ -44,6 +44,30 @@ struct OUTLINE_PARAMS { float m_CoordUnit; }; @@ -31,12 +29,12 @@ index 7a4e8eb24..0ef421fe7 100644 +// FT_Done_MM_Var() directly. +// +// Use weak symbols to check if FT_Done_MM_Var() is available at runtime. -+#if !defined(OS_WIN) ++#if !BUILDFLAG(IS_WIN) +extern "C" __attribute__((weak)) decltype(FT_Done_MM_Var) FT_Done_MM_Var; +#endif + +void FreeMMVar(FXFT_FaceRec* rec, FXFT_MM_VarPtr variation_desc) { -+#if defined(OS_WIN) ++#if BUILDFLAG(IS_WIN) + // Assume `use_system_freetype` GN var is never set on Windows. + constexpr bool has_ft_done_mm_var_func = true; +#else @@ -50,19 +48,20 @@ index 7a4e8eb24..0ef421fe7 100644 + } +} + - #ifdef PDF_ENABLE_XFA - unsigned long FTStreamRead(FXFT_StreamRec* stream, - unsigned long offset, -@@ -640,14 +664,14 @@ void CFX_Font::AdjustMMParams(int glyph_index, - int max_width = FXFT_Get_Glyph_HoriAdvance(m_Face->GetRec()) * 1000 / - FXFT_Get_Face_UnitsPerEM(m_Face->GetRec()); + FX_RECT FXRectFromFTPos(FT_Pos left, FT_Pos top, FT_Pos right, FT_Pos bottom) { + return FX_RECT(pdfium::base::checked_cast(left), + pdfium::base::checked_cast(top), +@@ -645,7 +669,7 @@ void CFX_Font::AdjustMMParams(int glyph_index, + FT_Pos max_width = FXFT_Get_Glyph_HoriAdvance(m_Face->GetRec()) * 1000 / + FXFT_Get_Face_UnitsPerEM(m_Face->GetRec()); if (max_width == min_width) { - FXFT_Free(m_Face->GetRec(), pMasters); + FreeMMVar(m_Face->GetRec(), pMasters); return; } - int param = min_param + (max_param - min_param) * (dest_width - min_width) / - (max_width - min_width); + FT_Pos param = min_param + (max_param - min_param) * +@@ -653,7 +677,7 @@ void CFX_Font::AdjustMMParams(int glyph_index, + (max_width - min_width); coords[1] = param; } - FXFT_Free(m_Face->GetRec(), pMasters); diff --git a/srcpkgs/chromium/patches/webcodecs-stop-using-AudioOpusEncoder.patch b/srcpkgs/chromium/patches/webcodecs-stop-using-AudioOpusEncoder.patch new file mode 100644 index 0000000000..32957d32fa --- /dev/null +++ b/srcpkgs/chromium/patches/webcodecs-stop-using-AudioOpusEncoder.patch @@ -0,0 +1,49 @@ +From 3bd46cb9a51773f103ef52b39d6407740eb0d60a Mon Sep 17 00:00:00 2001 +From: Eugene Zemtsov +Date: Thu, 24 Feb 2022 23:17:20 +0000 +Subject: [PATCH] webcodecs: Stop using AudioOpusEncoder as backed for mojo + audio encoder + +AudioOpusEncoder was only used here for testing. Let's not let it get +comfortable. We'll use MF AAC encoder here when we have it. (Soon...) + +Bug: 1259883 +Change-Id: Ia1819395c8c8fd6d403d4b8558c12f9a1bf7e761 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3489449 +Commit-Queue: Eugene Zemtsov +Auto-Submit: Eugene Zemtsov +Reviewed-by: Dale Curtis +Commit-Queue: Dale Curtis +Cr-Commit-Position: refs/heads/main@{#974895} +--- + media/mojo/services/gpu_mojo_media_client.cc | 10 +--------- + 1 file changed, 1 insertion(+), 9 deletions(-) + +diff --git a/media/mojo/services/gpu_mojo_media_client.cc b/media/mojo/services/gpu_mojo_media_client.cc +index 8f83a4d6cf6..40cdaff8d3a 100644 +--- a/media/mojo/services/gpu_mojo_media_client.cc ++++ b/media/mojo/services/gpu_mojo_media_client.cc +@@ -13,7 +13,6 @@ + #include "build/chromeos_buildflags.h" + #include "gpu/ipc/service/gpu_channel.h" + #include "media/audio/audio_features.h" +-#include "media/audio/audio_opus_encoder.h" + #include "media/base/audio_decoder.h" + #include "media/base/cdm_factory.h" + #include "media/base/media_switches.h" +@@ -119,14 +118,7 @@ std::unique_ptr GpuMojoMediaClient::CreateAudioEncoder( + scoped_refptr task_runner) { + if (!base::FeatureList::IsEnabled(features::kPlatformAudioEncoder)) + return nullptr; +- // TODO(crbug.com/1259883) Right now Opus encoder is all we have, later on +- // we'll create a real platform encoder here. +- auto opus_encoder = std::make_unique(); +- auto encoding_runner = base::ThreadPool::CreateSequencedTaskRunner( +- {base::TaskPriority::USER_BLOCKING}); +- return std::make_unique(std::move(opus_encoder), +- std::move(encoding_runner), +- std::move(task_runner)); ++ return nullptr; + } + + VideoDecoderType GpuMojoMediaClient::GetDecoderImplementationType() { diff --git a/srcpkgs/chromium/patches/webrtc-include.patch b/srcpkgs/chromium/patches/webrtc-include.patch deleted file mode 100644 index 4110bef179..0000000000 --- a/srcpkgs/chromium/patches/webrtc-include.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc 2019-02-21 21:21:24.488058990 +0100 -+++ b/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc 2019-02-21 21:21:36.151961064 +0100 -@@ -16,6 +16,7 @@ - - #include - #include -+#include - #include - - #include "modules/desktop_capture/desktop_frame.h" diff --git a/srcpkgs/chromium/patches/xxx-ppc64le-4k-pages.patch b/srcpkgs/chromium/patches/xxx-ppc64le-4k-pages.patch index 3ec4f0225a..ae5326ca65 100644 --- a/srcpkgs/chromium/patches/xxx-ppc64le-4k-pages.patch +++ b/srcpkgs/chromium/patches/xxx-ppc64le-4k-pages.patch @@ -17,8 +17,8 @@ index bfd5753..045082b 100644 PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR ALWAYS_INLINE size_t PageAllocationGranularityShift() { --#if defined(OS_WIN) || defined(ARCH_CPU_PPC64) -+#if defined(OS_WIN) +-#if BUILDFLAG(IS_WIN) || defined(ARCH_CPU_PPC64) ++#if BUILDFLAG(IS_WIN) // Modern ppc64 systems support 4kB (shift = 12) and 64kB (shift = 16) page // sizes. Since 64kB is the de facto standard on the platform and binaries // compiled for 64kB are likely to work on 4kB systems, 64kB is a good choice @@ -35,7 +35,7 @@ index 0b9260d..3e054ec 100644 -PartitionPageShift() { - return 18; // 256 KiB -} - #elif defined(OS_APPLE) && defined(ARCH_CPU_64_BITS) + #elif BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS) PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR ALWAYS_INLINE size_t PartitionPageShift() { diff --git a/base/allocator/partition_allocator/partition_alloc_forward.h b/base/allocator/partition_allocator/partition_alloc_forward.h diff --git a/srcpkgs/chromium/patches/xxx-ppc64le-support.patch b/srcpkgs/chromium/patches/xxx-ppc64le-support.patch index 7b5c4a4360..b95e58c834 100644 --- a/srcpkgs/chromium/patches/xxx-ppc64le-support.patch +++ b/srcpkgs/chromium/patches/xxx-ppc64le-support.patch @@ -232,44 +232,43 @@ diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.c index 2a97d3916..8e81aa6cf 100644 --- a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2021-04-14 14:41:08.000000000 -0400 +++ b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2021-04-15 13:17:57.808715733 -0400 -@@ -40,7 +40,8 @@ - #include - #if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ - !defined(__arm__) && !defined(__aarch64__) && \ +@@ -37,7 +37,8 @@ + + #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ + !defined(__arm__) && !defined(__aarch64__) && \ - !defined(PTRACE_GET_THREAD_AREA) -+ !defined(PTRACE_GET_THREAD_AREA) && \ ++ !defined(PTRACE_GET_THREAD_AREA) && \ + !defined(__powerpc64__) // Also include asm/ptrace-abi.h since ptrace.h in older libc (for instance // the one in Ubuntu 16.04 LTS) is missing PTRACE_GET_THREAD_AREA. // asm/ptrace-abi.h doesn't exist on arm32 and PTRACE_GET_THREAD_AREA isn't -@@ -49,6 +50,11 @@ +@@ -45,6 +46,11 @@ + #include #endif - #endif // !OS_NACL_NONSFI +// On PPC64, TCGETS is defined in terms of struct termios, so we must include termios.h +#ifdef __powerpc64__ +#include +#endif + - #if defined(OS_ANDROID) + #if BUILDFLAG(IS_ANDROID) #if !defined(F_DUPFD_CLOEXEC) -@@ -98,6 +104,15 @@ - #endif - } - +@@ -99,6 +105,14 @@ + return true; + #else + return false; ++#endif ++} ++ +inline bool IsArchitecturePPC64() { +#if defined(__powerpc64__) + return true; +#else + return false; -+#endif -+} -+ -+ - // Ubuntu's version of glibc has a race condition in sem_post that can cause - // it to call futex(2) with bogus op arguments. To workaround this, we need - // to allow those futex(2) calls to fail with EINVAL, instead of crashing the + #endif + } + @@ -239,6 +254,8 @@ uint64_t kOLargeFileFlag = O_LARGEFILE; if (IsArchitectureX86_64() || IsArchitectureI386() || IsArchitectureMips()) @@ -3447,14 +3446,14 @@ index 9b065bd..df3af02 100644 --- a/third_party/libaom/BUILD.gn +++ b/third_party/libaom/BUILD.gn @@ -36,6 +36,8 @@ if (enable_libaom) { - } else { - cpu_arch_full = "arm" - } -+ } else if (current_cpu == "ppc64") { -+ cpu_arch_full = "generic" } else { - cpu_arch_full = current_cpu + cpu_arch_full = "arm" } ++} else if (current_cpu == "ppc64") { ++ cpu_arch_full = "generic" + } else { + cpu_arch_full = current_cpu + } diff --git a/third_party/libgav1/options.gni b/third_party/libgav1/options.gni index 11af801..4b13d05 100644 --- a/third_party/libgav1/options.gni diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template index 92c48e5505..2708747046 100644 --- a/srcpkgs/chromium/template +++ b/srcpkgs/chromium/template @@ -1,7 +1,7 @@ # Template file for 'chromium' pkgname=chromium # See https://chromiumdash.appspot.com/releases?platform=Linux for the latest version -version=98.0.4758.102 +version=99.0.4844.51 revision=1 archs="i686* x86_64* aarch64* armv7l* ppc64le*" short_desc="Google's attempt at creating a safer, faster, and more stable browser" @@ -9,7 +9,7 @@ maintainer="Duncaen " license="BSD-3-Clause" homepage="https://www.chromium.org/" distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz" -checksum=415b47e912766cd07f9f52e95bc6470b835acf1d6f566ae32e66ba8be608f33e +checksum=97c52e57eca0dc8b752d274047f38c88aaa86036c0587b26b056efbd3fb2bae3 lib32disabled=yes @@ -205,7 +205,6 @@ do_configure() { conf=( 'enable_nacl=false' - 'enable_nacl_nonsfi=false' 'use_sysroot=false'