diff --git a/www/chromium/files/patch-third__party_perfetto_src_trace__processor_db_storage_numeric__storage.cc b/www/chromium/files/patch-third__party_perfetto_src_trace__processor_db_storage_numeric__storage.cc index 8bb44fed5fdb..7e6744d9db1c 100644 --- a/www/chromium/files/patch-third__party_perfetto_src_trace__processor_db_storage_numeric__storage.cc +++ b/www/chromium/files/patch-third__party_perfetto_src_trace__processor_db_storage_numeric__storage.cc @@ -1,16 +1,16 @@ ---- third_party/perfetto/src/trace_processor/db/storage/numeric_storage.cc.orig 2023-09-13 12:11:42 UTC +--- third_party/perfetto/src/trace_processor/db/storage/numeric_storage.cc.orig 2023-10-14 11:56:57 UTC +++ third_party/perfetto/src/trace_processor/db/storage/numeric_storage.cc @@ -245,8 +245,13 @@ BitVector NumericStorage::LinearSearch(FilterOp op, } else if (const auto* i32 = std::get_if(&*val)) { auto* start = static_cast(data_) + range.start; TypedLinearSearch(*i32, start, op, builder); -+#if defined(__OpenBSD__) && defined(__i386__) ++#if (defined(__OpenBSD__) || defined(__FreeBSD__)) && defined(__i386__) + } else if (const auto* db = std::get_if(&*val)) { + auto* start = static_cast(data_) + range.start; +#else } else if (const auto* db = std::get_if(&*val)) { auto* start = static_cast(data_) + range.start; +#endif TypedLinearSearch(*db, start, op, builder); } else { PERFETTO_DFATAL("Invalid"); diff --git a/www/chromium/files/patch-v8_BUILD.gn b/www/chromium/files/patch-v8_BUILD.gn index dfcbe5f2fddd..c1b88cd54d2b 100644 --- a/www/chromium/files/patch-v8_BUILD.gn +++ b/www/chromium/files/patch-v8_BUILD.gn @@ -1,58 +1,58 @@ ---- v8/BUILD.gn.orig 2023-10-11 18:22:24 UTC +--- v8/BUILD.gn.orig 2023-10-14 11:56:57 UTC +++ v8/BUILD.gn @@ -1417,6 +1417,14 @@ config("toolchain") { } else if (target_os == "chromeos") { defines += [ "V8_HAVE_TARGET_OS" ] defines += [ "V8_TARGET_OS_CHROMEOS" ] + } else if (target_os == "openbsd") { + defines += [ "V8_HAVE_TARGET_OS" ] + defines += [ "V8_TARGET_OS_OPENBSD" ] + defines += [ "V8_TARGET_OS_BSD" ] + } else if (target_os == "freebsd") { + defines += [ "V8_HAVE_TARGET_OS" ] + defines += [ "V8_TARGET_OS_FREEBSD" ] + defines += [ "V8_TARGET_OS_BSD" ] } # TODO(infra): Support v8_enable_prof on Windows. -@@ -2358,6 +2366,12 @@ template("run_mksnapshot") { - ] +@@ -2380,6 +2388,12 @@ template("run_mksnapshot") { + } } + if (v8_current_cpu == "x86") { + args -= [ + "--abort-on-bad-builtin-profile-data", + ] + } + - if (v8_enable_builtins_profiling) { - args += [ "--turbo-profiling" ] - } + # This is needed to distinguish between generating code for the simulator + # and cross-compiling. The latter may need to run code on the host with the + # simulator but cannot use simulator-specific instructions. @@ -6111,7 +6125,7 @@ v8_component("v8_libbase") { } } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "src/base/debug/stack_trace_posix.cc", "src/base/platform/platform-linux.cc", @@ -6122,6 +6136,18 @@ v8_component("v8_libbase") { "dl", "rt", ] + } else if (is_openbsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-openbsd.cc", + ] + libs = [ "execinfo" ] + } else if (is_freebsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-freebsd.cc", + ] + libs = [ "execinfo" ] } else if (current_os == "aix") { sources += [ "src/base/debug/stack_trace_posix.cc", diff --git a/www/ungoogled-chromium/files/patch-third__party_perfetto_src_trace__processor_db_storage_numeric__storage.cc b/www/ungoogled-chromium/files/patch-third__party_perfetto_src_trace__processor_db_storage_numeric__storage.cc index cf81db2a77d1..7e6744d9db1c 100644 --- a/www/ungoogled-chromium/files/patch-third__party_perfetto_src_trace__processor_db_storage_numeric__storage.cc +++ b/www/ungoogled-chromium/files/patch-third__party_perfetto_src_trace__processor_db_storage_numeric__storage.cc @@ -1,16 +1,16 @@ ---- third_party/perfetto/src/trace_processor/db/storage/numeric_storage.cc.orig 2023-09-17 07:59:53 UTC +--- third_party/perfetto/src/trace_processor/db/storage/numeric_storage.cc.orig 2023-10-14 11:56:57 UTC +++ third_party/perfetto/src/trace_processor/db/storage/numeric_storage.cc @@ -245,8 +245,13 @@ BitVector NumericStorage::LinearSearch(FilterOp op, } else if (const auto* i32 = std::get_if(&*val)) { auto* start = static_cast(data_) + range.start; TypedLinearSearch(*i32, start, op, builder); -+#if defined(__OpenBSD__) && defined(__i386__) ++#if (defined(__OpenBSD__) || defined(__FreeBSD__)) && defined(__i386__) + } else if (const auto* db = std::get_if(&*val)) { + auto* start = static_cast(data_) + range.start; +#else } else if (const auto* db = std::get_if(&*val)) { auto* start = static_cast(data_) + range.start; +#endif TypedLinearSearch(*db, start, op, builder); } else { PERFETTO_DFATAL("Invalid"); diff --git a/www/ungoogled-chromium/files/patch-v8_BUILD.gn b/www/ungoogled-chromium/files/patch-v8_BUILD.gn index 45003731447c..c1b88cd54d2b 100644 --- a/www/ungoogled-chromium/files/patch-v8_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-v8_BUILD.gn @@ -1,58 +1,58 @@ ---- v8/BUILD.gn.orig 2023-10-13 13:20:35 UTC +--- v8/BUILD.gn.orig 2023-10-14 11:56:57 UTC +++ v8/BUILD.gn @@ -1417,6 +1417,14 @@ config("toolchain") { } else if (target_os == "chromeos") { defines += [ "V8_HAVE_TARGET_OS" ] defines += [ "V8_TARGET_OS_CHROMEOS" ] + } else if (target_os == "openbsd") { + defines += [ "V8_HAVE_TARGET_OS" ] + defines += [ "V8_TARGET_OS_OPENBSD" ] + defines += [ "V8_TARGET_OS_BSD" ] + } else if (target_os == "freebsd") { + defines += [ "V8_HAVE_TARGET_OS" ] + defines += [ "V8_TARGET_OS_FREEBSD" ] + defines += [ "V8_TARGET_OS_BSD" ] } # TODO(infra): Support v8_enable_prof on Windows. -@@ -2358,6 +2366,12 @@ template("run_mksnapshot") { - ] +@@ -2380,6 +2388,12 @@ template("run_mksnapshot") { + } } + if (v8_current_cpu == "x86") { + args -= [ + "--abort-on-bad-builtin-profile-data", + ] + } + - if (v8_enable_builtins_profiling) { - args += [ "--turbo-profiling" ] - } + # This is needed to distinguish between generating code for the simulator + # and cross-compiling. The latter may need to run code on the host with the + # simulator but cannot use simulator-specific instructions. @@ -6111,7 +6125,7 @@ v8_component("v8_libbase") { } } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "src/base/debug/stack_trace_posix.cc", "src/base/platform/platform-linux.cc", @@ -6122,6 +6136,18 @@ v8_component("v8_libbase") { "dl", "rt", ] + } else if (is_openbsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-openbsd.cc", + ] + libs = [ "execinfo" ] + } else if (is_freebsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-freebsd.cc", + ] + libs = [ "execinfo" ] } else if (current_os == "aix") { sources += [ "src/base/debug/stack_trace_posix.cc",