diff --git a/meta-chromium/recipes-browser/chromium/chromium-gn.inc b/meta-chromium/recipes-browser/chromium/chromium-gn.inc index d1df2eae0..06d2cda4e 100644 --- a/meta-chromium/recipes-browser/chromium/chromium-gn.inc +++ b/meta-chromium/recipes-browser/chromium/chromium-gn.inc @@ -27,6 +27,7 @@ SRC_URI += "\ file://0010-Don-t-require-profiler_builtins.rlib.patch \ file://0011-Disable-crabbyavif-to-fix-build-errors.patch \ file://0012-Revert-Allow-and-use-std-hardware_destructive_interf.patch \ + file://0013-Revert-Tell-rustc-that-we-will-always-be-providing-c.patch \ " # ARM/AArch64-specific patches. SRC_URI:append:aarch64 = "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '', ' file://arm/0001-Fix-AES-crypto-SIGILL-on-rpi4-64.patch', d)}" diff --git a/meta-chromium/recipes-browser/chromium/chromium-ozone-wayland_130.0.6723.91.bb b/meta-chromium/recipes-browser/chromium/chromium-ozone-wayland_131.0.6778.85.bb similarity index 100% rename from meta-chromium/recipes-browser/chromium/chromium-ozone-wayland_130.0.6723.91.bb rename to meta-chromium/recipes-browser/chromium/chromium-ozone-wayland_131.0.6778.85.bb diff --git a/meta-chromium/recipes-browser/chromium/chromium-x11_130.0.6723.91.bb b/meta-chromium/recipes-browser/chromium/chromium-x11_131.0.6778.85.bb similarity index 100% rename from meta-chromium/recipes-browser/chromium/chromium-x11_130.0.6723.91.bb rename to meta-chromium/recipes-browser/chromium/chromium-x11_131.0.6778.85.bb diff --git a/meta-chromium/recipes-browser/chromium/chromium.inc b/meta-chromium/recipes-browser/chromium/chromium.inc index 94b7e1bea..6961f2367 100644 --- a/meta-chromium/recipes-browser/chromium/chromium.inc +++ b/meta-chromium/recipes-browser/chromium/chromium.inc @@ -4,7 +4,7 @@ HOMEPAGE = "https://www.chromium.org/Home" CVE_PRODUCT = "chromium:chromium google:chrome" SRC_URI = "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${PV}.tar.xz" -SRC_URI[sha256sum] = "c2f13de70f2dcf61c930dcfe54ee118e584962afd03ecde19e3be48b3d86bec0" +SRC_URI[sha256sum] = "a1ebe952c8709148b032a218fd671afb9bb4fa83fd0249895bd36bf32b194ecd" S = "${WORKDIR}/chromium-${PV}" @@ -160,6 +160,7 @@ LIC_FILES_CHKSUM = "\ file://${S}/third_party/android_deps/libs/org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://${S}/third_party/android_deps/libs/org_jetbrains_kotlinx_kotlinx_coroutines_guava/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://${S}/third_party/android_deps/libs/org_jetbrains_kotlinx_kotlinx_serialization_core_jvm/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://${S}/third_party/android_deps/libs/org_jspecify_jspecify/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://${S}/third_party/android_media/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://${S}/third_party/android_opengl/LICENSE;md5=d10e92761a860d4113a7a525c78daf13 \ file://${S}/third_party/android_provider/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ @@ -203,7 +204,6 @@ LIC_FILES_CHKSUM = "\ file://${S}/third_party/catapult/third_party/flot/LICENSE.txt;md5=5bc600a435aadbd7dcde045ccb3208bf \ file://${S}/third_party/catapult/third_party/google-auth/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ file://${S}/third_party/catapult/third_party/gsutil/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ - file://${S}/third_party/catapult/third_party/httplib2/LICENSE;md5=56e5e931172b6164b62dc7c4aba6c8cf \ file://${S}/third_party/catapult/third_party/ijson/LICENSE.txt;md5=2809bd5857eee6be054555222fd89712 \ file://${S}/third_party/catapult/third_party/oauth2client/LICENSE;md5=88f599f710b9d48dad0929ebd090fc1a \ file://${S}/third_party/catapult/third_party/pipeline/LICENSE;md5=8f7bb094c7232b058c7e9f2e431f389c \ @@ -255,6 +255,7 @@ LIC_FILES_CHKSUM = "\ file://${S}/third_party/devtools-frontend/src/front_end/third_party/diff/LICENSE;md5=175792518e4ac015ab6696d16c4f607e \ file://${S}/third_party/devtools-frontend/src/front_end/third_party/i18n/LICENSE;md5=a873c5645c184d51e0f9b34e1d7cf559 \ file://${S}/third_party/devtools-frontend/src/front_end/third_party/intl-messageformat/LICENSE;md5=913015c0e75ff89ef9461fadca555f65 \ + file://${S}/third_party/devtools-frontend/src/front_end/third_party/json5/LICENSE;md5=d80f2808a405d641840b50a06f80e93c \ file://${S}/third_party/devtools-frontend/src/front_end/third_party/lighthouse/LICENSE;md5=a873c5645c184d51e0f9b34e1d7cf559 \ file://${S}/third_party/devtools-frontend/src/front_end/third_party/lit/LICENSE;md5=4b390b7b932ca7872d1de2c834797cad \ file://${S}/third_party/devtools-frontend/src/front_end/third_party/marked/LICENSE;md5=449f8b1cf0bfef1e5ec7824a4179ac6f \ @@ -300,6 +301,8 @@ LIC_FILES_CHKSUM = "\ file://${S}/third_party/iaccessible2/LICENSE;md5=43bbd0bfb581347ec10def720000a645 \ file://${S}/third_party/iccjpeg/LICENSE;md5=26834d132689a03abf860f4572705494 \ file://${S}/third_party/icu/LICENSE;md5=08dc3852df8fffa807301902ad899ff8 \ + file://${S}/third_party/ink/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://${S}/third_party/ink_stroke_modeler/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://${S}/third_party/inspector_protocol/LICENSE;md5=db90dcb101891a7285d25f2fbceca752 \ file://${S}/third_party/ipcz/LICENSE;md5=1649e1dc663940b442197bd7f99cd228 \ file://${S}/third_party/isimpledom/LICENSE;md5=822502c0e010ccdbb6a3e681dd47888e \ diff --git a/meta-chromium/recipes-browser/chromium/files/0001-Drop-GN-compiler-settings-conflicting-with-OE.patch b/meta-chromium/recipes-browser/chromium/files/0001-Drop-GN-compiler-settings-conflicting-with-OE.patch index 334c82ce7..de107fa4d 100644 --- a/meta-chromium/recipes-browser/chromium/files/0001-Drop-GN-compiler-settings-conflicting-with-OE.patch +++ b/meta-chromium/recipes-browser/chromium/files/0001-Drop-GN-compiler-settings-conflicting-with-OE.patch @@ -19,10 +19,10 @@ Signed-off-by: Max Ihlenfeldt 1 file changed, 48 deletions(-) diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 765345a..19b7912 100644 +index f162751..356a8d4 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -1216,27 +1216,6 @@ config("compiler_cpu_abi") { +@@ -1219,27 +1219,6 @@ config("compiler_cpu_abi") { "-msse3", ] } @@ -50,7 +50,7 @@ index 765345a..19b7912 100644 } else if (current_cpu == "mipsel" && !is_nacl) { ldflags += [ "-Wl,--hash-style=sysv" ] if (custom_toolchain == "") { -@@ -1244,9 +1223,6 @@ config("compiler_cpu_abi") { +@@ -1247,9 +1226,6 @@ config("compiler_cpu_abi") { if (is_android) { cflags += [ "--target=mipsel-linux-android" ] ldflags += [ "--target=mipsel-linux-android" ] @@ -60,7 +60,7 @@ index 765345a..19b7912 100644 } } else { cflags += [ "-EL" ] -@@ -1326,8 +1302,6 @@ config("compiler_cpu_abi") { +@@ -1329,8 +1305,6 @@ config("compiler_cpu_abi") { ldflags += [ "-Wl,--hash-style=sysv" ] if (custom_toolchain == "") { if (is_clang) { @@ -69,7 +69,7 @@ index 765345a..19b7912 100644 } else { cflags += [ "-EB" ] ldflags += [ "-EB" ] -@@ -1375,9 +1349,6 @@ config("compiler_cpu_abi") { +@@ -1378,9 +1352,6 @@ config("compiler_cpu_abi") { if (is_android) { cflags += [ "--target=mips64el-linux-android" ] ldflags += [ "--target=mips64el-linux-android" ] @@ -79,7 +79,7 @@ index 765345a..19b7912 100644 } } else { cflags += [ -@@ -1435,8 +1406,6 @@ config("compiler_cpu_abi") { +@@ -1438,8 +1409,6 @@ config("compiler_cpu_abi") { ldflags += [ "-Wl,--hash-style=sysv" ] if (custom_toolchain == "") { if (is_clang) { @@ -88,7 +88,7 @@ index 765345a..19b7912 100644 } else { cflags += [ "-EB", -@@ -1605,23 +1574,6 @@ config("compiler_deterministic") { +@@ -1608,23 +1577,6 @@ config("compiler_deterministic") { } } } diff --git a/meta-chromium/recipes-browser/chromium/files/0002-v8-qemu-wrapper.patch b/meta-chromium/recipes-browser/chromium/files/0002-v8-qemu-wrapper.patch index 29302a816..6ad4ad7c2 100644 --- a/meta-chromium/recipes-browser/chromium/files/0002-v8-qemu-wrapper.patch +++ b/meta-chromium/recipes-browser/chromium/files/0002-v8-qemu-wrapper.patch @@ -29,10 +29,10 @@ index f46bec2..5438365 100644 "root_out_dir") + "/v8_context_snapshot_generator", diff --git a/v8/BUILD.gn b/v8/BUILD.gn -index 87b2129..384ca1c 100644 +index 38a9a9a..367c354 100644 --- a/v8/BUILD.gn +++ b/v8/BUILD.gn -@@ -2237,6 +2237,7 @@ template("run_torque") { +@@ -2265,6 +2265,7 @@ template("run_torque") { } args = [ @@ -40,7 +40,7 @@ index 87b2129..384ca1c 100644 "./" + rebase_path( get_label_info(":torque($toolchain)", "root_out_dir") + "/torque", root_build_dir), -@@ -2400,6 +2401,7 @@ action("generate_bytecode_builtins_list") { +@@ -2428,6 +2429,7 @@ action("generate_bytecode_builtins_list") { outputs = [ "$target_gen_dir/builtins-generated/bytecodes-builtins-list.h" ] deps = [ ":bytecode_builtins_list_generator($v8_generator_toolchain)" ] args = [ @@ -48,7 +48,7 @@ index 87b2129..384ca1c 100644 "./" + rebase_path( get_label_info( ":bytecode_builtins_list_generator($v8_generator_toolchain)", -@@ -2472,6 +2474,7 @@ template("run_mksnapshot") { +@@ -2500,6 +2502,7 @@ template("run_mksnapshot") { } args += [ @@ -56,7 +56,7 @@ index 87b2129..384ca1c 100644 "./" + rebase_path(get_label_info(":mksnapshot($v8_snapshot_toolchain)", "root_out_dir") + "/mksnapshot", root_build_dir), -@@ -7436,6 +7439,7 @@ if (v8_enable_i18n_support) { +@@ -7446,6 +7449,7 @@ if (v8_enable_i18n_support) { outputs = [ output_file ] args = [ diff --git a/meta-chromium/recipes-browser/chromium/files/0004-Delete-compiler-options-not-available-in-release-ver.patch b/meta-chromium/recipes-browser/chromium/files/0004-Delete-compiler-options-not-available-in-release-ver.patch index 981ee6238..8d7aaf65a 100644 --- a/meta-chromium/recipes-browser/chromium/files/0004-Delete-compiler-options-not-available-in-release-ver.patch +++ b/meta-chromium/recipes-browser/chromium/files/0004-Delete-compiler-options-not-available-in-release-ver.patch @@ -13,7 +13,7 @@ Signed-off-by: Randy MacLeod 1 file changed, 5 insertions(+) diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 19b7912..6b15c5b 100644 +index 356a8d4..e348888 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn @@ -1902,6 +1902,11 @@ config("default_warnings") { diff --git a/meta-chromium/recipes-browser/chromium/files/0005-avoid-link-latomic-failure-on-CentOS-8-host.patch b/meta-chromium/recipes-browser/chromium/files/0005-avoid-link-latomic-failure-on-CentOS-8-host.patch index 8f2440a23..7533600a5 100644 --- a/meta-chromium/recipes-browser/chromium/files/0005-avoid-link-latomic-failure-on-CentOS-8-host.patch +++ b/meta-chromium/recipes-browser/chromium/files/0005-avoid-link-latomic-failure-on-CentOS-8-host.patch @@ -18,10 +18,10 @@ Signed-off-by: Randy MacLeod 2 files changed, 4 insertions(+) diff --git a/base/BUILD.gn b/base/BUILD.gn -index 9247e9b..7b01f13 100644 +index 4c0e464..1cf04ea 100644 --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -1101,7 +1101,9 @@ component("base") { +@@ -1097,7 +1097,9 @@ component("base") { # Needed for if using newer C++ library than sysroot, except if # building inside the cros_sdk environment - use host_toolchain as a # more robust check for this. diff --git a/meta-chromium/recipes-browser/chromium/files/0006-Don-t-pass-unknown-LLVM-options.patch b/meta-chromium/recipes-browser/chromium/files/0006-Don-t-pass-unknown-LLVM-options.patch index b7aed658a..b9875ca54 100644 --- a/meta-chromium/recipes-browser/chromium/files/0006-Don-t-pass-unknown-LLVM-options.patch +++ b/meta-chromium/recipes-browser/chromium/files/0006-Don-t-pass-unknown-LLVM-options.patch @@ -17,7 +17,7 @@ Signed-off-by: Max Ihlenfeldt 1 file changed, 18 deletions(-) diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 6b15c5b..5448810 100644 +index e348888..a47fbdb 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn @@ -584,24 +584,6 @@ config("compiler") { diff --git a/meta-chromium/recipes-browser/chromium/files/0007-Fix-constexpr-variable-must-be-initialized-by-a-cons.patch b/meta-chromium/recipes-browser/chromium/files/0007-Fix-constexpr-variable-must-be-initialized-by-a-cons.patch index 86a91183d..fc7da4265 100644 --- a/meta-chromium/recipes-browser/chromium/files/0007-Fix-constexpr-variable-must-be-initialized-by-a-cons.patch +++ b/meta-chromium/recipes-browser/chromium/files/0007-Fix-constexpr-variable-must-be-initialized-by-a-cons.patch @@ -14,7 +14,7 @@ Signed-off-by: Max Ihlenfeldt 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/autofill/core/browser/data_model/autofill_i18n_api.h b/components/autofill/core/browser/data_model/autofill_i18n_api.h -index cc7d0d3..01dcf44 100644 +index fa1a06b..8e1fe01 100644 --- a/components/autofill/core/browser/data_model/autofill_i18n_api.h +++ b/components/autofill/core/browser/data_model/autofill_i18n_api.h @@ -16,8 +16,8 @@ namespace autofill::i18n_model_definition { diff --git a/meta-chromium/recipes-browser/chromium/files/0008-Use-the-correct-path-to-libclang_rt.builtins.a.patch b/meta-chromium/recipes-browser/chromium/files/0008-Use-the-correct-path-to-libclang_rt.builtins.a.patch index 299a442c5..44f8828c4 100644 --- a/meta-chromium/recipes-browser/chromium/files/0008-Use-the-correct-path-to-libclang_rt.builtins.a.patch +++ b/meta-chromium/recipes-browser/chromium/files/0008-Use-the-correct-path-to-libclang_rt.builtins.a.patch @@ -21,10 +21,10 @@ Signed-off-by: Max Ihlenfeldt 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/build/config/clang/BUILD.gn b/build/config/clang/BUILD.gn -index 9b8719a..a7106b3 100644 +index 890bf91..ed90f6e 100644 --- a/build/config/clang/BUILD.gn +++ b/build/config/clang/BUILD.gn -@@ -189,14 +189,15 @@ template("clang_lib") { +@@ -163,14 +163,15 @@ template("clang_lib") { } else if (is_apple) { _dir = "darwin" } else if (is_linux || is_chromeos) { diff --git a/meta-chromium/recipes-browser/chromium/files/0009-Adjust-the-Rust-build-to-our-needs.patch b/meta-chromium/recipes-browser/chromium/files/0009-Adjust-the-Rust-build-to-our-needs.patch index f7a8b2354..8aa32876f 100644 --- a/meta-chromium/recipes-browser/chromium/files/0009-Adjust-the-Rust-build-to-our-needs.patch +++ b/meta-chromium/recipes-browser/chromium/files/0009-Adjust-the-Rust-build-to-our-needs.patch @@ -23,7 +23,7 @@ Signed-off-by: Max Ihlenfeldt 4 files changed, 52 insertions(+), 19 deletions(-) diff --git a/build/config/rust.gni b/build/config/rust.gni -index b7e3c88..d0abc26 100644 +index 5b7807a..2a7802f 100644 --- a/build/config/rust.gni +++ b/build/config/rust.gni @@ -97,6 +97,11 @@ declare_args() { @@ -38,51 +38,56 @@ index b7e3c88..d0abc26 100644 } # Use a separate declare_args so these variables' defaults can depend on the -@@ -191,12 +196,19 @@ if (enable_rust) { - # other toolchains. +@@ -197,14 +202,21 @@ if (enable_rust) { + # https://issues.chromium.org/u/1/issues/372512092#comment5 for an example. rust_abi_target = "" if (is_linux || is_chromeos) { + vendor = "-unknown" + + is_host = current_toolchain == host_toolchain || toolchain_for_rust_host_build_tools + if (!is_host && rust_target_triple_vendor_for_target != "") { -+ vendor = rust_target_triple_vendor_for_target ++ vendor = rust_target_triple_vendor_for_target + } + if (current_cpu == "arm64") { - rust_abi_target = "aarch64-unknown-linux-gnu" + rust_abi_target = "aarch64" + vendor + "-linux-gnu" + cargo_target_abi = "" } else if (current_cpu == "x86") { - rust_abi_target = "i686-unknown-linux-gnu" + rust_abi_target = "i686" + vendor + "-linux-gnu" + cargo_target_abi = "" } else if (current_cpu == "x64") { - rust_abi_target = "x86_64-unknown-linux-gnu" + rust_abi_target = "x86_64" + vendor + "-linux-gnu" + cargo_target_abi = "" } else if (current_cpu == "arm") { if (arm_float_abi == "hard") { - float_suffix = "hf" -@@ -205,15 +217,15 @@ if (is_linux || is_chromeos) { +@@ -214,18 +226,18 @@ if (is_linux || is_chromeos) { } if (arm_arch == "armv7-a" || arm_arch == "armv7") { # No way to inform Rust about the -a suffix. - rust_abi_target = "armv7-unknown-linux-gnueabi" + float_suffix + rust_abi_target = "armv7" + vendor + "-linux-gnueabi" + float_suffix + cargo_target_abi = "eabi" + float_suffix } else { - rust_abi_target = "arm-unknown-linux-gnueabi" + float_suffix + rust_abi_target = "arm" + vendor + "-linux-gnueabi" + float_suffix + cargo_target_abi = "eabi" + float_suffix } } else if (current_cpu == "riscv64") { - rust_abi_target = "riscv64gc-unknown-linux-gnu" + rust_abi_target = "riscv64gc" + vendor + "-linux-gnu" + cargo_target_abi = "" } else { # Best guess for other future platforms. - rust_abi_target = current_cpu + "-unknown-linux-gnu" + rust_abi_target = current_cpu + vendor + "-linux-gnu" + cargo_target_abi = "" } } else if (is_android) { - import("//build/config/android/abi.gni") diff --git a/build/rust/rustc_wrapper.py b/build/rust/rustc_wrapper.py -index b8e490d..d22cf08 100755 +index 8f2096d..de43d44 100755 --- a/build/rust/rustc_wrapper.py +++ b/build/rust/rustc_wrapper.py @@ -160,6 +160,7 @@ def main(): @@ -94,10 +99,10 @@ index b8e490d..d22cf08 100755 abs_build_root = os.getcwd().replace('\\', '/') + '/' is_windows = sys.platform == 'win32' or args.target_windows diff --git a/build/rust/std/BUILD.gn b/build/rust/std/BUILD.gn -index b9500ee..3acbdf7 100644 +index 38e5ab7..136d06b 100644 --- a/build/rust/std/BUILD.gn +++ b/build/rust/std/BUILD.gn -@@ -189,7 +189,8 @@ if (toolchain_has_rust) { +@@ -192,7 +192,8 @@ if (toolchain_has_rust) { # our locally-built std. Both reside in root_out_dir: we must only have one of # each per GN toolchain anyway. @@ -107,7 +112,7 @@ index b9500ee..3acbdf7 100644 if (!rust_prebuilt_stdlib) { local_rustc_sysroot = "$root_out_dir/local_rustc_sysroot" -@@ -364,12 +365,12 @@ if (toolchain_has_rust) { +@@ -321,12 +322,12 @@ if (toolchain_has_rust) { rust_abi_target, ] @@ -123,7 +128,7 @@ index b9500ee..3acbdf7 100644 } visibility = [ ":*" ] -@@ -382,8 +383,18 @@ if (toolchain_has_rust) { +@@ -339,8 +340,18 @@ if (toolchain_has_rust) { "enable_rust=false") deps = [ ":find_stdlib" ] sources = get_target_outputs(":find_stdlib") @@ -144,7 +149,7 @@ index b9500ee..3acbdf7 100644 visibility = [ ":*" ] } -@@ -423,7 +434,10 @@ if (toolchain_has_rust) { +@@ -380,7 +391,10 @@ if (toolchain_has_rust) { ":prebuilt_stdlib_libs", ":stdlib_public_dependent_libs", ] diff --git a/meta-chromium/recipes-browser/chromium/files/0010-Don-t-require-profiler_builtins.rlib.patch b/meta-chromium/recipes-browser/chromium/files/0010-Don-t-require-profiler_builtins.rlib.patch index 4b8d7ad99..8c52978e6 100644 --- a/meta-chromium/recipes-browser/chromium/files/0010-Don-t-require-profiler_builtins.rlib.patch +++ b/meta-chromium/recipes-browser/chromium/files/0010-Don-t-require-profiler_builtins.rlib.patch @@ -14,7 +14,7 @@ Signed-off-by: Max Ihlenfeldt 1 file changed, 1 deletion(-) diff --git a/build/rust/std/BUILD.gn b/build/rust/std/BUILD.gn -index 3acbdf7..66f1f07 100644 +index 38e5ab7..b5f5291 100644 --- a/build/rust/std/BUILD.gn +++ b/build/rust/std/BUILD.gn @@ -100,7 +100,6 @@ if (toolchain_has_rust) { diff --git a/meta-chromium/recipes-browser/chromium/files/0012-Revert-Allow-and-use-std-hardware_destructive_interf.patch b/meta-chromium/recipes-browser/chromium/files/0012-Revert-Allow-and-use-std-hardware_destructive_interf.patch index 0b01da73c..78c112d7b 100644 --- a/meta-chromium/recipes-browser/chromium/files/0012-Revert-Allow-and-use-std-hardware_destructive_interf.patch +++ b/meta-chromium/recipes-browser/chromium/files/0012-Revert-Allow-and-use-std-hardware_destructive_interf.patch @@ -43,7 +43,7 @@ index 18fd272..20dc7d9 100644 std::initializer_list data_; bool is_sorted_; diff --git a/styleguide/c++/c++-features.md b/styleguide/c++/c++-features.md -index 50da4b1..020666f 100644 +index bb61898..f4cd91a 100644 --- a/styleguide/c++/c++-features.md +++ b/styleguide/c++/c++-features.md @@ -574,6 +574,35 @@ Overlaps with utilities in `base/strings/string_number_conversions.h`, which are diff --git a/meta-chromium/recipes-browser/chromium/files/0013-Revert-Tell-rustc-that-we-will-always-be-providing-c.patch b/meta-chromium/recipes-browser/chromium/files/0013-Revert-Tell-rustc-that-we-will-always-be-providing-c.patch new file mode 100644 index 000000000..1e4206d98 --- /dev/null +++ b/meta-chromium/recipes-browser/chromium/files/0013-Revert-Tell-rustc-that-we-will-always-be-providing-c.patch @@ -0,0 +1,95 @@ +From 0b85ec304cb6c6927942c1714a8002592d889d64 Mon Sep 17 00:00:00 2001 +From: Max Ihlenfeldt +Date: Tue, 3 Dec 2024 16:11:37 +0000 +Subject: [PATCH] Revert "Tell rustc that we will always be providing clangrt + libraries" + +https://crrev.com/c/5913992 added `-Zexternal-clangrt` to the default +Rust compiler flags. That option is only available since Rust 1.78, but +Scarthgap is still using Rust 1.75. + +Upstream-Status: Inappropriate [specific to older versions of Rust] +Signed-off-by: Max Ihlenfeldt +--- + build/config/compiler/BUILD.gn | 3 --- + build/rust/std/BUILD.gn | 46 ++++++++++++++++++++++++++++++++++ + 2 files changed, 46 insertions(+), 3 deletions(-) + +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index f162751..d04e731 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -1041,9 +1041,6 @@ config("compiler") { + # For deterministic builds, keep the local machine's current working + # directory from appearing in build outputs. + "-Zremap-cwd-prefix=.", +- +- # We use clang-rt sanitizer runtimes. +- "-Zexternal-clangrt", + ] + + if (!is_win || force_rustc_color_output) { +diff --git a/build/rust/std/BUILD.gn b/build/rust/std/BUILD.gn +index 136d06b..a6d4795 100644 +--- a/build/rust/std/BUILD.gn ++++ b/build/rust/std/BUILD.gn +@@ -237,6 +237,51 @@ if (toolchain_has_rust) { + visibility = [ ":*" ] + } + ++ # When given -Zsanitize=..., rustc insists on passing a sanitizer runtime to ++ # the linker it invokes. Unfortunately, our C++ ldflags already tell the ++ # linker to link against a C++ sanitizer runtime - which contains the same ++ # symbols. So, make a blank library. ++ # The list of relevant sanitizers here is taken from ++ # https://github.com/rust-lang/rust/blob/7e7483d26e3cec7a44ef00cf7ae6c9c8c918bec6/compiler/rustc_codegen_ssa/src/back/link.rs#L1148 ++ template("rustc_sanitizer_runtime") { ++ rt_name = target_name ++ not_needed([ "invoker" ]) ++ static_library("sanitizer_rt_$rt_name") { ++ sources = [] ++ output_name = "librustc-${rust_channel}_rt.$rt_name" ++ output_dir = "$local_rustc_sysroot/$sysroot_lib_subdir" ++ if (is_win) { ++ arflags = [ "/llvmlibempty" ] ++ } ++ } ++ } ++ rustc_sanitizer_runtimes = [] ++ if (is_asan) { ++ rustc_sanitizer_runtime("asan") { ++ } ++ rustc_sanitizer_runtimes += [ ":sanitizer_rt_asan" ] ++ } ++ if (is_lsan) { ++ rustc_sanitizer_runtime("lsan") { ++ } ++ rustc_sanitizer_runtimes += [ ":sanitizer_rt_lsan" ] ++ } ++ if (is_msan) { ++ rustc_sanitizer_runtime("msan") { ++ } ++ rustc_sanitizer_runtimes += [ ":sanitizer_rt_msan" ] ++ } ++ if (is_tsan) { ++ rustc_sanitizer_runtime("tsan") { ++ } ++ rustc_sanitizer_runtimes += [ ":sanitizer_rt_tsan" ] ++ } ++ if (is_hwasan) { ++ rustc_sanitizer_runtime("hwasan") { ++ } ++ rustc_sanitizer_runtimes += [ ":sanitizer_rt_hwasan" ] ++ } ++ + # Builds and links against the Rust stdlib. Both Rust and C++ targets should + # depend on this, as it provides the path to the library and includes the + # allocator hooks. +@@ -255,6 +300,7 @@ if (toolchain_has_rust) { + foreach(libname, stdlib_files + skip_stdlib_files) { + deps += [ "rules:$libname" ] + } ++ deps += rustc_sanitizer_runtimes + + public_deps = [ ":remap_alloc" ] + } diff --git a/meta-chromium/recipes-browser/chromium/gn-native_130.0.6723.91.bb b/meta-chromium/recipes-browser/chromium/gn-native_131.0.6778.85.bb similarity index 100% rename from meta-chromium/recipes-browser/chromium/gn-native_130.0.6723.91.bb rename to meta-chromium/recipes-browser/chromium/gn-native_131.0.6778.85.bb