Roll clang+rust llvmorg-21-init-853-gba476d0b-1 : llvmorg-21-init-1655-g7b473dfe-1 / d4bdd1ed551fed0c951eb47b4be2c79d7a02d181-1 : 9fcc9cf4a202aadfe1f44722b39c83536eba3dba-2

https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/ba476d0b..7b473dfe

https://chromium.googlesource.com/external/github.com/rust-lang/rust/+log/d4bdd1ed551f..9fcc9cf4a202

Ran: ./tools/clang/scripts/upload_revision.py 7b473dfe84c17319930d4019ab3f6ca0cfc03416

Revert https://github.com/rust-lang/rust/pull/133092 since it breaks our Linux Rust build.

Bug: 395520092, 395891130
Change-Id: I91789dec738622e88746cbdc1ec7f5ffb401cc93
Disable-Rts: True
Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel
Cq-Include-Trybots: chromium/try:dawn-win10-x86-deps-rel
Cq-Include-Trybots: chromium/try:linux-chromeos-dbg
Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng
Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng
Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng
Cq-Include-Trybots: chromium/try:mac11-arm64-rel,mac_chromium_asan_rel_ng
Cq-Include-Trybots: chromium/try:ios-catalyst,win-asan,android-official
Cq-Include-Trybots: chromium/try:fuchsia-arm64-cast-receiver-rel
Cq-Include-Trybots: chromium/try:mac-official,linux-official
Cq-Include-Trybots: chromium/try:win-official,win32-official
Cq-Include-Trybots: chromium/try:win-arm64-rel
Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86
Cq-Include-Trybots: chromium/try:android-cronet-mainline-clang-arm64-dbg
Cq-Include-Trybots: chromium/try:android-cronet-mainline-clang-arm64-rel
Cq-Include-Trybots: chromium/try:android-cronet-mainline-clang-riscv64-dbg
Cq-Include-Trybots: chromium/try:android-cronet-mainline-clang-riscv64-rel
Cq-Include-Trybots: chromium/try:android-cronet-mainline-clang-x86-dbg
Cq-Include-Trybots: chromium/try:android-cronet-mainline-clang-x86-rel
Cq-Include-Trybots: chromium/try:android-cronet-riscv64-dbg
Cq-Include-Trybots: chromium/try:android-cronet-riscv64-rel
Cq-Include-Trybots: chrome/try:iphone-device,ipad-device
Cq-Include-Trybots: chrome/try:linux-chromeos-chrome
Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome
Cq-Include-Trybots: chrome/try:linux-pgo,mac-pgo,win32-pgo,win64-pgo
Cq-Include-Trybots: luci.chromium.try:linux-cast-x64-rel
Cq-Include-Trybots: chromium/try:android-rust-arm32-rel
Cq-Include-Trybots: chromium/try:android-rust-arm64-dbg
Cq-Include-Trybots: chromium/try:android-rust-arm64-rel
Cq-Include-Trybots: chromium/try:linux-rust-x64-dbg
Cq-Include-Trybots: chromium/try:linux-rust-x64-rel
Cq-Include-Trybots: chromium/try:mac-rust-x64-dbg
Cq-Include-Trybots: chromium/try:win-rust-x64-dbg
Cq-Include-Trybots: chromium/try:win-rust-x64-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6261055
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1420430}
NOKEYCHECK=True
GitOrigin-RevId: ed18bf73640211fd07cb727243970b3fbd34f18a
diff --git a/build_rust.py b/build_rust.py
index c09736d..60ed2fc 100755
--- a/build_rust.py
+++ b/build_rust.py
@@ -585,6 +585,18 @@
     # with `GitMoveSubmoduleBranch()`.
     #############################
 
+    # TODO(https://crbug.com/395891130): Remove once upstream fixes passing flags to cargo link steps
+    RunCommand([
+        'git',
+        '-C',
+        RUST_SRC_DIR,
+        'revert',
+        '--no-edit',
+        '-m',
+        '1',
+        '6171d944aea415a3023d4262e0895aa3b18c771f',
+    ])
+
     print('Finished applying cherry-picks.')
 
 
diff --git a/update_rust.py b/update_rust.py
index 06ac4ba..e960852 100755
--- a/update_rust.py
+++ b/update_rust.py
@@ -31,8 +31,8 @@
 
 # These fields are written by //tools/clang/scripts/upload_revision.py, and
 # should not be changed manually.
-RUST_REVISION = 'd4bdd1ed551fed0c951eb47b4be2c79d7a02d181'
-RUST_SUB_REVISION = 1
+RUST_REVISION = '9fcc9cf4a202aadfe1f44722b39c83536eba3dba'
+RUST_SUB_REVISION = 2
 
 # The revision of Crubit to use from https://github.com/google/crubit
 #
@@ -46,7 +46,7 @@
 # Hash of src/stage0.json, which itself contains the stage0 toolchain hashes.
 # We trust the Rust build system checks, but to ensure it is not tampered with
 # itself check the hash.
-STAGE0_JSON_SHA256 = 'c467900b95312670e8ee588144e54f5a84fca6008f58c170f354777948808379'
+STAGE0_JSON_SHA256 = '26869035cb98f2bd27faedb9277208242d8fe6f9204beb29726f7b9fd795fa9a'
 
 THIS_DIR = os.path.abspath(os.path.dirname(__file__))
 CHROMIUM_DIR = os.path.abspath(os.path.join(THIS_DIR, '..', '..'))