)]}'
{
  "log": [
    {
      "commit": "4639cc91366c50e125c7bb4f1ebe63a6384a1f35",
      "tree": "3914a5e3eab1250f9226ef1b4af584928de54cd3",
      "parents": [
        "74b9196107ce4eac1f1dea14f90c9ea8981fd9a0"
      ],
      "author": {
        "name": "Dan Blackwell",
        "email": "dan_blackwell@apple.com",
        "time": "Mon Nov 02 21:53:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 22:02:43 2026"
      },
      "message": "[Objective-C][TSan] Do not emit fused ARC calls under TSan at -O0 to detect races on __strong refs (#235150)\n\nAt -O0, Clang normally emits fused @llvm.objc.storeStrong calls for\n__strong assignments instead of expanding them into retain, load, store,\nand release (which it does at -O1 and above). Because TSan does not\ninstrument @llvm.objc.storeStrong, races on __strong references were\nmissed at -O0.\n\nThis patch makes shouldUseFusedARCCalls() return false when TSan is\nenabled so that standard TSan load/store instrumentation makes the race\ndetectable.\n\nAssisted by LLMs\n\nrdar://35283534\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8a64345b184e89ac59b5064da1d6093eaa6d0523\n"
    },
    {
      "commit": "74b9196107ce4eac1f1dea14f90c9ea8981fd9a0",
      "tree": "141a560ab0729a3979b7ac580df01b582dcb2d7d",
      "parents": [
        "313948bb0e573876e71cabf2ca6e2dd72729e71f"
      ],
      "author": {
        "name": "Yaxun (Sam) Liu",
        "email": "yaxun.liu@amd.com",
        "time": "Mon Nov 02 21:42:23 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 21:51:06 2026"
      },
      "message": "[profile] Handle failed target probes in test configuration (#238086)\n\nThe Android sanitizer build can fail while loading the profile test\nconfiguration when the `--print-targets` probe fails.\n\nCheck that the probe returned text before searching for the AMDGPU\nbackend. This lets test setup continue when the optional probe fails.\n\nBuildbot failure: https://lab.llvm.org/buildbot/#/builders/186/builds/3988\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c2bef24eac9a60340bb565f7007ec80e25b05092\n"
    },
    {
      "commit": "313948bb0e573876e71cabf2ca6e2dd72729e71f",
      "tree": "16e16096b0d83c07abcf5856cf825f2d09b45d09",
      "parents": [
        "4ab5846dff4e7f25cdeb860bc852d09090968ee5"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris1000@users.noreply.github.com",
        "time": "Mon Nov 02 21:06:28 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 21:12:20 2026"
      },
      "message": "[scudo] Add an option to zero on deallocation. (#236891)\n\nWhen the fill type for an allocation is zero, add an option that will do\nthe zeroing on deallocation instead of on allocation.\n\nThis currently doesn\u0027t support zeroing when quarantine is enabled.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e9d2d9643ab3ad9a97908a21f274e6a6cc8d3073\n"
    },
    {
      "commit": "4ab5846dff4e7f25cdeb860bc852d09090968ee5",
      "tree": "df3bba6b85b211e9c9b62ca58587ccea09fe4660",
      "parents": [
        "3ee49301f351b1aa52b6dd9f59f7e1442867975f"
      ],
      "author": {
        "name": "Yaxun (Sam) Liu",
        "email": "yaxun.liu@amd.com",
        "time": "Mon Nov 02 18:56:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 19:03:09 2026"
      },
      "message": "[profile] Preserve device instrumentation layout flags when writing profiles (#236081)\n\nThe LLVM options -pgo-instrument-entry and -pgo-instrument-loop-entries\ncontrol whether function entries and edges entering loops must be\ninstrumented. Both default to false for ordinary IR PGO. These settings\naffect counter placement and are recorded as flags in the raw profile\nheader so profile use can reconstruct the same counter layout.\n\nHIP users can specify different values for host and device compilation.\nFor example, -Xarch_device -mllvm\u003d-pgo-instrument-entry\u003dtrue enables\nexplicit entry counters for the device while the host keeps the default.\nThe host and device profiles then need different entry flags.\n\nThe ROCm collector currently writes device counters with the host runtime\u0027s\nversion flags. In this example, it incorrectly marks the device profile\nas having entry instrumentation disabled. Profile use can then reconstruct\nthe wrong layout and associate counts with the wrong blocks.\n\nRead and validate the device\u0027s profile-version variable separately from\nthe host\u0027s, then pass it to the existing raw-profile writer. This preserves\nthe device\u0027s own layout flags in its profile header so profile use can\ninterpret the device counters correctly.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 070d7fffe83a05ccb7608ac5cace70a8b123a3b3\n"
    },
    {
      "commit": "3ee49301f351b1aa52b6dd9f59f7e1442867975f",
      "tree": "4872c66f27c863aff82e5bc91e7e778e62d9cbc8",
      "parents": [
        "ca953c4fa0667f7ef418fe6ca6f361f20d08899e"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Mon Nov 02 14:09:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 14:12:28 2026"
      },
      "message": "[compiler-rt] Add \u0027csan\u0027 library for the concurrency sanitizer (#225782)\n\nSummary:\nAdds the runtime for the concurrency sanitizer, both CPU and GPU.\nFundamentally, this works using the following pseudocode:\n\n```c\nstatic u64 watchpoints[N]; // Hash-indexed, zero is empty.\n\n// Emitted before the access, so we never trip on our own write.\nvoid check_access(volatile void *addr, u32 size, u32 type) {\n    // Every access probes. A read conflicts only with a watched write, a\n    // write conflicts with either.\n    if (u64 *wp \u003d find_watchpoint(addr, size, type))\n        consume(wp, this_pc()); // Hand our location to the owner.\n\n    if (!should_sample()) // Wave-uniform, 1-in-N chance.\n        return;\n\n    u64 *wp \u003d arm_watchpoint(addr, size, type);\n    if (!wp) // Slot is already taken.\n        return;\n\n    auto old \u003d read(addr, size);\n    delay(ctx.rand()); // Randomized, bounded.\n\n    if (void *peer \u003d disarm(wp))\n        report_race(addr, this_pc(), peer);\n    else if (read(addr, size) !\u003d old)\n        report_race(addr, this_pc(), UNKNOWN);\n}\n```\n\nThis implementation is kept intentionally minimal to simplify the review\nprocess. Many options are planned for later. The intended use is for\nusers to pass `-fsanitize\u003dconcurrency` for supported compilations.\n\nRFC:\nhttps://discourse.llvm.org/t/rfc-a-thread-concurrency-sanitizer-for-gpus-in-compiler-rt/91113\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 673126af360b40c5c3f9267c979a2caf61164ef9\n"
    },
    {
      "commit": "ca953c4fa0667f7ef418fe6ca6f361f20d08899e",
      "tree": "883aa1500e1b2e0b6e2120794f6ff1080d73e617",
      "parents": [
        "6f55534633fa19430486f96f2271a9cd96ae7a02"
      ],
      "author": {
        "name": "jinge90",
        "email": "ge.jin@intel.com",
        "time": "Mon Nov 02 03:14:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 03:20:04 2026"
      },
      "message": "[compiler-rt][libc][GPU] Fix 7 builtin unit test build failure for spirv64 targets (#236324)\n\nWhen building compiler-rt builtin unit test for spirv64 target, we\nencountered a bunch of build failure due to missing symbols from libm\nand libc. This PR adds part of required symbols needed by those tests\nwhich can make 7 failed unit tests to build pass.\nUsing following command to build llvm-project:\ncmake ../llvm -G Ninja -DLLVM_ENABLE_PROJECTS\u003d\"clang\"\n-DRUNTIMES_spirv64-unknown-unknown_LLVM_ENABLE_RUNTIMES\u003d\"compiler-rt;libc\"\n-DLLVM_RUNTIME_TARGETS\u003d\"default;spirv64-unknown-unknown\"\n-DRUNTIMES_spirv64-unknown-unknown_COMPILER_RT_INCLUDE_TESTS\u003dON\n-DRUNTIMES_spirv64-unknown-unknown_COMPILER_RT_EMULATOR\u003d/bin/true\nninja all\nninja check-compiler-rt-spirv64-unknown-unknown\nBefore the fix, the build result was:\nTotal Discovered Tests: 275\n  Unsupported: 125 (45.45%)\n  Passed     : 123 (44.73%)\n  Failed     :  27 (9.82%)\n\nAfter the fix, the build result was:\nTotal Discovered Tests: 275\n  Unsupported: 125 (45.45%)\n  Passed     : 128 (46.55%)\n  Failed     :  22 (8.00%)\n\nAll libc and libm symbols added are simple functions without using RPC\nmechanism and verified for spirv64 targets with Level_Zero and Intel GPU\ndevices on Linux platform.\n\n---------\n\nSigned-off-by: jinge90 \u003cge.jin@intel.com\u003e\nCo-authored-by: Joseph Huber \u003chuberjn@outlook.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c7233566764726c242ffa2335b0aca9781c57235\n"
    },
    {
      "commit": "6f55534633fa19430486f96f2271a9cd96ae7a02",
      "tree": "3e8ee42c41301990f17390995ba4d10a2770d309",
      "parents": [
        "7637cd1ccd4227b66c54594d5c4535d8192e4d46"
      ],
      "author": {
        "name": "Yaxun (Sam) Liu",
        "email": "yaxun.liu@amd.com",
        "time": "Sat Oct 31 21:43:59 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 31 21:48:26 2026"
      },
      "message": "[compiler-rt][profile] Sum lane-varying GPU counter increments (#235978)\n\nThe GPU profiling helper adds each active lane\u0027s contribution to a\nshared counter. Its `step` argument is the amount that lane contributes.\nFor an ordinary block counter, every active lane has step 1. For a\nselect counter, step is 1 when that lane\u0027s condition is true and 0\notherwise.\n\nFor example, consider a 64-lane wave executing this select:\n\n  result \u003d (threadIdx.x % 2 \u003d\u003d 0) ? a : b;\n\nAll 64 lanes are active, but even lanes have step 1 and odd lanes have\nstep 0. The counter should increase by 32. The old helper multiplies\nthe first active lane\u0027s step by the number of active lanes, so it adds\n64 instead. Being active does not mean a lane\u0027s step is 1.\n\nCompiler-generated counter steps are zero or one. Use a ballot to find\nthe lanes with step 1 and count its set bits. The first active lane adds\nthat count to the counter. Use the same count for the optional uniform\ncounter when the whole wave is active.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8b254e8fcfe9b54289670ebbe7f1ef2de3cd84e2\n"
    },
    {
      "commit": "7637cd1ccd4227b66c54594d5c4535d8192e4d46",
      "tree": "2e6f736bfedf888a0a4a2fb6985c5773c374ac92",
      "parents": [
        "a615e679cf42a8c66ae7bb62121ccb3a737c9435"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris1000@users.noreply.github.com",
        "time": "Sat Oct 31 20:16:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 31 20:21:51 2026"
      },
      "message": "[scudo] Use memmove to move leftover elements in drain. (#237444)\n\nRather than loop over the array and move one by one, use the memmove\nfunction. On a 64 bit Android device, in the system_server process, the\naverage time went from 68ns to 55ns. The worst case also went from\n~250,000ns to ~45,000ns.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 69319a8a31de365f6fcf84423eedcb1ab0b80170\n"
    },
    {
      "commit": "a615e679cf42a8c66ae7bb62121ccb3a737c9435",
      "tree": "203a9db7094f342a756c0c15f4da7a14f3ca1421",
      "parents": [
        "c12529ae1c91cfb1d5edf7a22d497091ae9ad642"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Sat Oct 31 06:56:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 31 07:03:08 2026"
      },
      "message": "[ASan] Fix off-by-one in strncat overlap check (#237014)\n\n`INTERCEPTOR(strncat)` writes `from_length + 1` bytes starting at\n`to + to_length`, so the resulting destination string occupies\n`to_length + from_length + 1` bytes.\n\nSince 33824c54f616, `CHECK_RANGES_OVERLAP` passed\n`to_length + copy_length + 1` as the destination length instead. When\n`from_length \u003c size`, `copy_length` (`Min(size, from_length + 1)`) is\nalready `from_length + 1`, checking 1 byte past the written trailing NUL\nand triggering a false-positive `strncat-param-overlap` report when\n`from` starts right after it.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 01a3acccacc2aca5840af9cf0c62dc1d8c4c7dfa\n"
    },
    {
      "commit": "c12529ae1c91cfb1d5edf7a22d497091ae9ad642",
      "tree": "51b78679d133697a99c4b1bc32066defeedadfaf",
      "parents": [
        "16633f9cba505cf95171103b0eb14c5a4d8a4c2e"
      ],
      "author": {
        "name": "Tim Besard",
        "email": "tim.besard@gmail.com",
        "time": "Sat Oct 31 02:41:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 31 02:47:43 2026"
      },
      "message": "[tsan] Calibrate jmp_buf pointer mangling (#216558)\n\nglibc 2.44 moved the pointer guard out of the TCB and added the\nx86-style rotation on other mangling targets. TSan hardcodes the old\nguard locations and transformations, so longjmp interception can no\nlonger recover the saved stack pointer.\n\nDerive the identity, XOR, or XOR-and-rotate scheme from two _setjmp\nprobes at different stack depths. This supports old and new glibc and\npreserves bionic lazy initialization without depending on private guard\nstorage.\n\nDeveloped with Fable/Sol. Tested locally on 64-bit Arch Linux, which\nalready ships glibc 2.44. Without this change, eight existing TSan tests\nfail with `ThreadSanitizer: can\u0027t find longjmp buf`; with it, the full\n`check-tsan` suite passes.\n\nFixes #216004.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 027da639d255a4990d0d83262a5f66c0628a1438\n"
    },
    {
      "commit": "16633f9cba505cf95171103b0eb14c5a4d8a4c2e",
      "tree": "89421cfe9b558cf5e3e4dfc4ab6185d79b0868ee",
      "parents": [
        "c0f1ec97cf576535fe828b45daef66c186b7f0ab"
      ],
      "author": {
        "name": "Andrew Lazarev",
        "email": "alazarev@google.com",
        "time": "Sat Oct 31 00:11:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 31 00:18:51 2026"
      },
      "message": "[tsan] Increase per-thread held lock limit in DeadlockDetectorTLS to 512 (#232882)\n\nWhen running under ThreadSanitizer with deadlock detection enabled\n(`detect_deadlocks\u003d1`), `DeadlockDetectorTLS::addLock` enforces a hard\nlimit on the number of distinct locks a single thread may hold\nsimultaneously via `CHECK_LT(n_all_locks_,\nARRAY_SIZE(all_locks_with_contexts_))`.\n\nAlthough #116409 previously raised this limit from 64 to 128, workloads\nthat initialize large RPC frameworks, worker pools, or sharded data\nstructures (such as C++ extensions under free-threaded Python) can hold\nmore than 128 locks simultaneously on one thread during initialization,\ntriggering a fatal `CHECK` failure.\n\nIncrease `all_locks_with_contexts_` capacity from 128 to 512. Each\n`LockWithContext` entry is 8 bytes (`u32 lock; u32 stk;`), adding 3 KB\nper heap-allocated `DDLogicalThread` when `detect_deadlocks\u003d1` while\nremaining well below `TwoLevelBitVector` capacity (`DDBV::kSize`, which\nis 4096 on 64-bit platforms and 1024 on 32-bit platforms).\n\nFixes #232881\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7bc1d62f09968575080c69d79b31adecec5ad4f2\n"
    },
    {
      "commit": "c0f1ec97cf576535fe828b45daef66c186b7f0ab",
      "tree": "bc25370c0e4e3e50ad55f30d04d1d75c11c5d7e0",
      "parents": [
        "a23e27c128c2cdc63a41beb358a0230493bd418d"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Fri Oct 30 01:58:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 02:02:49 2026"
      },
      "message": "[ASan][test] Disable StrArgsOverlapTest on Android AArch64 (#237043)\n\nTemporarily disable `AddressSanitizer.StrArgsOverlapTest` on Android\nAArch64 while waiting for #237000.\n\nOn Android 17 (API 37) AArch64, Bionic\u0027s `strcat` calls `strcpy@plt(dst\n+ strlen(dst), src)`, so `strcat(str, str + 10)` in `StrArgsOverlapTest`\nre-enters `INTERCEPTOR(strcpy)` with `to \u003d\u003d from` and fails with\n`strcpy-param-overlap` on\nhttps://lab.llvm.org/staging/#/builders/sanitizer-x86_64-linux-android.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3648d51ac877273cad229af7e7de111efaf30e38\n"
    },
    {
      "commit": "a23e27c128c2cdc63a41beb358a0230493bd418d",
      "tree": "6f96364088719e329183d1de4c33db06862936f0",
      "parents": [
        "4397a1e5900b8bd10cec32254fc9ce7e074a16ab"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Fri Oct 30 00:20:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 00:27:05 2026"
      },
      "message": "[asan][test] Guard throw_call_test.cpp on shared_cxxabi, Solaris, and NetBSD (#237024)\n\nAfter #236664 added explicit `-fsanitize-address-use-after-return\u003dnever`\nand `-fno-sanitize-address-use-after-scope` runs, `throw_call_test.cpp`\nstarted failing on:\n\n* Toolchains built with static `libc++abi.a` (`!shared_cxxabi`, e.g.\n  `Fuchsia-stage2.cmake`), where strong `__cxa_throw` and\n  `_Unwind_RaiseException` override ASan\u0027s weak interceptors.\n* Solaris (#42048) and NetBSD, where `asan_interceptors.h` disables\n  `__cxa_throw` interception.\n\nAdd `REQUIRES: shared_cxxabi` and `XFAIL` Solaris and NetBSD, matching\n`TestCases/intercept-rethrow-exception.cpp`, and update the Solaris\n`FIXME` comment in both tests to link #42048.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c04ea70f1ed6b5ecb31e9bbf9ac3fd7498a3dcf8\n"
    },
    {
      "commit": "4397a1e5900b8bd10cec32254fc9ce7e074a16ab",
      "tree": "e896cef43ff81a578306abc1cc9b070b41a95309",
      "parents": [
        "4bb4329abe4958d4c967931d2b38a1f96ca76b8e"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Thu Oct 29 20:14:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 20:17:31 2026"
      },
      "message": "[ASan][test] Mark Posix/stack-overflow.cpp UNSUPPORTED on Android AArch64 (#236884)\n\nTemporarily mark `TestCases/Posix/stack-overflow.cpp` unsupported on\nAndroid AArch64 while waiting for #236879.\n\nWhen the stack-overflow `SIGSEGV` hits right after `paciasp` + `sub sp`\nin a PAC-RET prologue (enabled by default on Android AArch64),\n`libunwind` skips `DW_CFA_def_cfa_offset` at the faulting PC during\nsignal-frame unwinding and traps with `SIGILL` on `FEAT_FPAC` CPUs\n(https://lab.llvm.org/staging/#/builders/sanitizer-x86_64-linux-android).\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 209146d547631a23c062469f1f15580335020fce\n"
    },
    {
      "commit": "4bb4329abe4958d4c967931d2b38a1f96ca76b8e",
      "tree": "11c3be8f526a0823e3f7d13cb53e75e08e46d3ed",
      "parents": [
        "0f259043abf9ee21e524e623ac4cd1b748d3d674"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Thu Oct 29 18:04:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 18:08:28 2026"
      },
      "message": "[ASan][test] Keep Posix/waitid.cpp overflow within stack redzone (#236825)\n\n`waitid.cpp` previously pointed `siginfo_t *si` completely past a\n12-byte local `int x[3]`, causing the kernel `waitid` syscall to write\n128 bytes beyond `x`\u0027s right stack redzone.\n\nOn AArch64 without UAR (such as Android, where\n`detect_stack_use_after_return` defaults to `false`), at `-O3` the\n64-byte ASan stack frame sits immediately below `main`\u0027s saved `[x29,\nx30]` whenever ASLR aligns `x29` to 32 bytes (~50% of runs), so `waitid`\noverwrote the caller frame pointer on the stack before\n`COMMON_INTERCEPTOR_WRITE_RANGE` ran. Commit `be8b3f0c2204` previously\nattempted to disable the test on AArch64 with `UNSUPPORTED: aarch64`,\nwhich did not match compiler-rt lit\u0027s `aarch64-target-arch` feature.\n\nSize `x` to `sizeof(siginfo_t)` and offset `si` by `argc * sizeof(void\n*)` so the overflow stays inside ASan\u0027s right stack redzone without\ncorrupting the caller frame record, and remove the ineffective `aarch64`\nexclusion.\n\nFixes failure on\nhttps://lab.llvm.org/staging/#/builders/sanitizer-x86_64-linux-android.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 98abd6e35e939e436d515c7eacda9398071361e5\n"
    },
    {
      "commit": "0f259043abf9ee21e524e623ac4cd1b748d3d674",
      "tree": "0c9fe2d47beffbdbd1e06899b02e006a0c06a3e1",
      "parents": [
        "e7c3285169b99b9df4d3dc9077a336c6e78f5bd0"
      ],
      "author": {
        "name": "Dan Blackwell",
        "email": "dan_blackwell@apple.com",
        "time": "Thu Oct 29 17:45:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 17:55:16 2026"
      },
      "message": "[Darwin][TSan] Ignore interceptors in os_unfair_lock_lock_with_flags on simulators (#235102)\n\nCurrently we are seeing the os_unfair_lock.c test fail on simulators due\nto a false positive data race report. On simulators, lock_with_flags\ncalls lock_with_options, therefore a call to the former results in the\ndeadlock detector seeing 2 lock-acquisitions, moving recursion upto 2;\nhowever it only sees one unlock. The Release only occurs when recursion\nreaches 0, hence no happens-before edge is added, and a race (falsely)\nreported.\n\nThis patch disables interceptors during the lock_with_flags call in\norder to avoid this.\n\nrdar://190544328\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c4fb0727e28fba2fc6e8710ae172ad00af5275eb\n"
    },
    {
      "commit": "e7c3285169b99b9df4d3dc9077a336c6e78f5bd0",
      "tree": "57a6e353c42c67dfa1d47f9e2a2c26017b8f25e4",
      "parents": [
        "8834ace45c7c9efe96f1b3e04497a78895750269"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Thu Oct 29 16:16:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 16:22:53 2026"
      },
      "message": "[compiler-rt][scs] Pass -mbranch-protection\u003dnone on AArch64 (#236821)\n\nOn AArch64 targets that enable `-mbranch-protection\u003dstandard` by default\n(such as `aarch64-linux-android*`), `%clang_noscs` in `overflow.c` signs\nand authenticates `x30` (`paciasp`/`autiasp`). Overwriting the return\naddress on the stack then traps with `SIGILL` (`FEAT_FPAC`) instead of\nredirecting execution to `print_and_exit`.\n\nPass `-mbranch-protection\u003dnone` for `aarch64` in\n`shadowcallstack/lit.cfg.py` so the test exercises ShadowCallStack in\nisolation without PAC-RET.\n\nFixes failure on\nhttps://lab.llvm.org/staging/#/builders/sanitizer-x86_64-linux-android.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8a7d409d4b211c22297bc4940475237e32b3906b\n"
    },
    {
      "commit": "8834ace45c7c9efe96f1b3e04497a78895750269",
      "tree": "1dbabdc19604af0a142614d83ea3d92ef2c35596",
      "parents": [
        "b4198ba393906937ac2d3e1c586136fdcf8327c4"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Thu Oct 29 16:01:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 16:08:09 2026"
      },
      "message": "[HWASan][test] XFAIL 4 thread tests on Android API \u003e\u003d 34 (#236816)\n\nWhen building `compiler-rt` for Android with\n`-DCOMPILER_RT_HWASAN_WITH_INTERCEPTORS\u003dON` at API \u003e\u003d 34, Clang uses\n`/system/bin/linker_hwasan64`, whose `hwasan/libc.so` calls\n`__hwasan_thread_enter()` alongside `HwasanThreadStartFunc`, creating\ntwo `Thread` entries per `pthread_create` and leaking the first on\nthread exit.\n\nAdd `android-34` to `compiler-rt/test/lit.common.cfg.py` and XFAIL the 4\naffected thread tests until #236812 is resolved.\n\nFixes failures on\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3d1bcd31b31cb769c5452908ff39328a522c6657\n"
    },
    {
      "commit": "b4198ba393906937ac2d3e1c586136fdcf8327c4",
      "tree": "8ced923d6b65269339878cf8206577c88a04d02a",
      "parents": [
        "216b0149553a33a7e483a331d76242ccd75d1990"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Thu Oct 29 06:02:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 06:07:43 2026"
      },
      "message": "[asan][test] Test UAR/UAS modes in throw_call_test.cpp and XFAIL on Android (#236664)\n\nBy default, `-fsanitize-address-use-after-scope` unpoisons `ar[100]` on\nentry to `CheckStack()`, and `-fsanitize-address-use-after-return`\nallocates frames on `FakeStack`. Because of this, `CheckStack()` did not\ncatch poisoned stack left behind after `throw`.\n\nOn Android, `__cxa_throw` is currently not intercepted (#236665). The\ntest passed on Android API 29 and only failed on API 34 because\n`fprintf` inside `catch` happened to call `memset` on the poisoned stack\nbefore `CheckStack()`.\n\nAdd explicit UAR/UAS flags so `CheckStack()` catches this directly, and\nmark the test `XFAIL: android`.\n\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 803065b21bac57de2953c0ef47ba64221aa66c53\n"
    },
    {
      "commit": "216b0149553a33a7e483a331d76242ccd75d1990",
      "tree": "625bda8b9f1bdac6d783c7707e1195079c1101d5",
      "parents": [
        "ca3897fd0087e33d4075559fefe0d1adb372644b"
      ],
      "author": {
        "name": "Justin T. Gibbs",
        "email": "gibbs@meta.com",
        "time": "Thu Oct 29 03:18:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 03:22:32 2026"
      },
      "message": "[asan][test] XFAIL intercept-rethrow-exception.cpp on Android again (#236624)\n\n#236607 removed this XFAIL together with the rest of #235557, on the\nassumption that the failure came from #196388. It does not: the test\nstill fails on sanitizer-x86_64-linux-android, for both x86_64 and i686,\nwith #196388 reverted\n(https://lab.llvm.org/buildbot/#/builders/186/builds/3859).\n\nThat bot only started running lit tests on Android emulators after\n#196388 had landed, so it never showed this test passing before it. The\nother two tests whose XFAILs #236607 removed now pass.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d8cc92efab5eb9f43958bf5b3f095e0b252e1aa6\n"
    },
    {
      "commit": "ca3897fd0087e33d4075559fefe0d1adb372644b",
      "tree": "067a3709a01aa74bbb70510b67a0be8e3e031a71",
      "parents": [
        "2137a35119448f2a0c2fd8c195dd9bccf9e63ce4"
      ],
      "author": {
        "name": "Justin T. Gibbs",
        "email": "gibbs@meta.com",
        "time": "Thu Oct 29 01:11:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 01:17:59 2026"
      },
      "message": "Revert \"[asan] Adopt sanitizer_common operator-new framework (#196388)\" (#236607)\n\n#196388 made ASan\u0027s throwing operator new throw std::bad_alloc when\nallocator_may_return_null\u003d1. That exception does not reach the caller in\ntwo configurations:\n\n- arm64 Darwin linked with ld64.lld. asan_win.cpp compiles to an empty\nobject that is linked right before asan_new_delete.cpp.o, and ld64.lld\nwrites an encoding-0 (no unwind information) compact unwind entry at\noperator new\u0027s address (#224949). The unwinder cannot step out of\noperator new, so the std::bad_alloc it throws terminates the program\ninstead of reaching the caller\u0027s handler. The linker fix is #225055.\n- Android. Both libclang_rt.asan-\\*-android.so and libc++_shared.so link\nstatic libc++abi.a, so the two libraries have separate new-handler state\nand std::bad_alloc type info (#235557).\n\nThis also reverts #235557, which marked tests XFAIL on Android only\nbecause of #196388.\n\nReland once #225055 has landed and the Android shared runtime uses a\nsingle C++ ABI.\n\nThis reverts commit dc53f17c1413a76268b413bcf146887fb23b3de0.\nThis reverts commit 5dfed03e840abaa0ac1eb8e1bbce0505e11b18fd.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 75be70ad3feed98baa24e5b615c9a71704af2737\n"
    },
    {
      "commit": "2137a35119448f2a0c2fd8c195dd9bccf9e63ce4",
      "tree": "a5feaeda8e6d8d3fe45d8778717ad6ce58cb9835",
      "parents": [
        "9a874126d9bc4653e9b94355ae036ca21bfc0489"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Wed Oct 28 20:29:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 20:32:22 2026"
      },
      "message": "[sanitizer_common][test] Limit signal_segv_handler test time (#236538)\n\nThe test runs 1,000,000 iterations of mprotect + SEGV. On slow software\nemulators (e.g. QEMU TCG for arm/aarch64), this can take several minutes\nor exceed the 600s test timeout. Check elapsed time every 1,000\niterations and stop after 10 seconds.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e6f071af3e0f4dd79754eefcae1da900103f3af1\n"
    },
    {
      "commit": "9a874126d9bc4653e9b94355ae036ca21bfc0489",
      "tree": "00648a6130c8700143bcbc76c2db79773f27f505",
      "parents": [
        "8461b5527b63de3e99bb98ae3760760903cd3c74"
      ],
      "author": {
        "name": "Andrew Haberlandt",
        "email": "ahaberlandt@apple.com",
        "time": "Tue Oct 27 18:43:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 18:49:22 2026"
      },
      "message": "[asan][Darwin] Build the DriverKit C++ slice without exceptions (#234062)\n\ndc53f17c made `asan_new_delete.cpp` depend on exception support for all\nDarwin targets. Some Darwin targets (namely DriverKit) do not support\nexceptions, so we need to compile for those OSes without exception\nsupport.\n\nDriverKit is not fully supported upstream yet, so the buildbots didn\u0027t\ncatch this.\n\nAssisted-By: Claude\n\nrdar://190438043\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6b828f32bc1897f48a13f2aaf6a1511a14ee6203\n"
    },
    {
      "commit": "8461b5527b63de3e99bb98ae3760760903cd3c74",
      "tree": "ff029995d57a6b6052d6ffa6310b2abde5dedf5c",
      "parents": [
        "9ce23c5925cc203ea749d408d93244f5a23bf9a2"
      ],
      "author": {
        "name": "Andrew Haberlandt",
        "email": "ahaberlandt@apple.com",
        "time": "Tue Oct 27 18:42:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 18:48:54 2026"
      },
      "message": "[compiler-rt][Darwin] Support building sanitizers for visionOS (#234050)\n\n`COMPILER_RT_ENABLE_XROS` previously only enabled builtins. This\nupstreams `config-ix.cmake` support for xros/xrossim platforms so the\nsanitizer runtimes are configured for them as well.\n\nAssisted-by: Claude\nrdar://190575578\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7b1ff3691852fe586247fb681d475d833d0b8811\n"
    },
    {
      "commit": "9ce23c5925cc203ea749d408d93244f5a23bf9a2",
      "tree": "125c8d040959e20046957810e9f32f98b05bf1f5",
      "parents": [
        "38aed6eec8ff010f7a3f047c37fd8463176fe05b"
      ],
      "author": {
        "name": "Paul Walker",
        "email": "paul.walker@arm.com",
        "time": "Tue Oct 27 16:48:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 16:53:06 2026"
      },
      "message": "[NFC] Fix misspellings of \"extension\". (#236139)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 39a9f47f5f1d0e76ce8138614657d520f2d1eaa0\n"
    },
    {
      "commit": "38aed6eec8ff010f7a3f047c37fd8463176fe05b",
      "tree": "e02d3201c899182c54470fb0310c8b4a9695bf34",
      "parents": [
        "9c21eaaafef74bafca97eb9e715de8f2bc4981ef"
      ],
      "author": {
        "name": "Paul Walker",
        "email": "paul.walker@arm.com",
        "time": "Tue Oct 27 14:23:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 14:27:57 2026"
      },
      "message": "[NFC] Fix more failed attempts to type \"instruction\". (#236097)\n\nCo-authored-by: Stan Ulbrych \u003cstan@python.org\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1c77a8246d8a7f6238e09d110ace2505a844b893\n"
    },
    {
      "commit": "9c21eaaafef74bafca97eb9e715de8f2bc4981ef",
      "tree": "d4e7d146c76f29d1c365b388c4fbf0ab0cbe812a",
      "parents": [
        "42fda134809c0bd9df4fcf51234e9345d6d67b5a"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Tue Oct 27 06:07:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 06:13:28 2026"
      },
      "message": "[sanitizer_common][test] Require Android API 26 for variadic-open and allow_user_segv (#236010)\n\nOn Android API 24 emulators:\n- `Posix/variadic-open.cpp` fails on `O_TMPFILE` because the older\nkernel returns `EISDIR` when `O_TMPFILE` is not supported.\n- `Linux/allow_user_segv.cpp` fails flakily across API 24 targets (not\njust `i386`) due to the legacy `debuggerd` daemon racing on `waitpid`.\n\nRequire `android-26` when running on Android for both tests.\n\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 101584320859c12c84929443136e9deb54de544a\n"
    },
    {
      "commit": "42fda134809c0bd9df4fcf51234e9345d6d67b5a",
      "tree": "57d69549e16fd680b3e8a8225e8111346a54fd7f",
      "parents": [
        "07f3e06e1734148e475c2c92e3256fb79fdb2b78"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris1000@users.noreply.github.com",
        "time": "Tue Oct 27 01:12:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 01:18:40 2026"
      },
      "message": "[scudo] Omit quarantine state when QuarantineDisabled (#235117)\n\nWhen QuarantineDisabled is true, GlobalQuarantine still occupies 192\nbytes (three cache lines) in Allocator and QuarantineCache occupies 32\nbytes (plus 32 bytes of cache-line tail padding) in each TSD.\n\nAllows the now empty classes to be empty by using [[no_unique_address]].\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 40984676bec4e15ac940b33089d92ff2a753f708\n"
    },
    {
      "commit": "07f3e06e1734148e475c2c92e3256fb79fdb2b78",
      "tree": "38f847cffaaeb78c6d5176253805ae7ca02e8e51",
      "parents": [
        "527b86cfd4ce3ee3e1b607176405bf19c38d1f4c"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Tue Oct 27 01:04:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 01:06:38 2026"
      },
      "message": "[compiler-rt][Android] Filter out linker warnings from stderr in android_run.py (#235973)\n\nOlder Android dynamic linkers (e.g. API 24) print `WARNING: linker: ...`\nlines to stderr for newer ELF flags/tags such as `DT_FLAGS_1\u003d0x8000001`\n(`DF_1_PIE`) and `DT_AARCH64_BTI_PLT` (`0x70000001`). When these lines\nare emitted at startup or when spawning `llvm-symbolizer`, they break\ntests using `count 0`, `CHECK-NEXT`, or `CHECK-NOT` on\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android.\n\nStrip `^WARNING: linker: .*` lines from stderr in `android_run.py`,\nmatching `libcxx/utils/adb_run.py`.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 349acffc2df24529cd708285798d32ff030d41b0\n"
    },
    {
      "commit": "527b86cfd4ce3ee3e1b607176405bf19c38d1f4c",
      "tree": "dea8871359553c39a8f90137e8ffc50be11732af",
      "parents": [
        "46f357541d06d1cd6cdc910fec0d1a51b6f6d4cd"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris1000@users.noreply.github.com",
        "time": "Mon Oct 26 22:38:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 22:43:13 2026"
      },
      "message": "[scudo] Avoid reading tls pointer twice. (#235167)\n\nChange the setCurrentTSD()/setDisableMemInit() functions so that they\nonly do a single load/store of the tls value.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fe7d4dbefe71424a024067d58291de7d78795eb1\n"
    },
    {
      "commit": "46f357541d06d1cd6cdc910fec0d1a51b6f6d4cd",
      "tree": "396a7093eb4246e9a5675d5088bfcc973c0b5683",
      "parents": [
        "964399f6a610266e9f0ca612be34a68e0edd5316"
      ],
      "author": {
        "name": "Andrew Haberlandt",
        "email": "ahaberlandt@apple.com",
        "time": "Mon Oct 26 22:31:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 22:38:13 2026"
      },
      "message": "[compiler-rt] Add fnan2, fnorm2, funder to macho_embedded arm.txt (#235847)\n\nAfter #168394, armv6m\u0027s mulsf3.S references these helpers, but they were\nfiltered out of the macho_embedded builtins, leaving undefined symbols\nat link time.\n\nAssisted-By: Claude\n\nrdar://191033874\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a49bd7f8badb27897da0bf1b0321ab583a075982\n"
    },
    {
      "commit": "964399f6a610266e9f0ca612be34a68e0edd5316",
      "tree": "dd7d267866135ea1e7d608eaba8827f468e585a7",
      "parents": [
        "abab7ffb777f0cca15e5a7012b208f173d285fe4"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris1000@users.noreply.github.com",
        "time": "Mon Oct 26 19:52:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 19:56:50 2026"
      },
      "message": "[scudo] Remove redundant getHeaderTaggedPointer() call. (#235136)\n\nPass in the already computed value of getHeaderTaggedPointer() to\nquarantineOrDeallocateChunk().\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 43f7896299d71039f64e6a6ef0439b5d97bb49ad\n"
    },
    {
      "commit": "abab7ffb777f0cca15e5a7012b208f173d285fe4",
      "tree": "0359a1dc1640fa6e0e056d1c7eb15fe8735db8e4",
      "parents": [
        "813f3b7629ccf97144a99686232be31f17d7dab4"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris1000@users.noreply.github.com",
        "time": "Mon Oct 26 17:13:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 17:17:10 2026"
      },
      "message": "[scudo] Only init the actual allocated buffer size (#235109)\n\nIn getBuffer(), when using the static buffer data, only initialize what\nwas allocated.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e15bf9842e273261f830783e190561efb38edf99\n"
    },
    {
      "commit": "813f3b7629ccf97144a99686232be31f17d7dab4",
      "tree": "21a30ab52d67c1a43097e16c69103141ebe33d5e",
      "parents": [
        "1edf7ff05a0d49eca2cf9195023d81127d598779"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 26 07:59:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 08:07:13 2026"
      },
      "message": "[asan][test] Disable nohugepage_test.cpp on Android (#235637)\n\nOn Android, VMA naming splits the high shadow region in\n`/proc/self/smaps`, so `ReadShadowRss()` does not find the single\n`2008fff7000-10007fff8000` entry.\n\nFixes test failure on\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b8b5e88aa9eda612bb1321bc8a9fef0370c1de0a\n"
    },
    {
      "commit": "1edf7ff05a0d49eca2cf9195023d81127d598779",
      "tree": "0490af3f6504c5218dfdaafcc05af0879fd8ecc9",
      "parents": [
        "b653971455a36aea97cc42bd38edcd5b155135c7"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 26 07:28:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 07:32:00 2026"
      },
      "message": "[compiler-rt][test] Fix sanitizer_coverage_trace_pc_guard-init.cpp on Android (#235625)\n\nUse `%dynamiclib1` and `%ld_flags_rpath_so1`/`%ld_flags_rpath_exe1` so\n`DT_NEEDED` does not record the host path to the shared library.\n\nFixes test failure on\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e833378300e7b695282cae9e21723ebaeafd15a5\n"
    },
    {
      "commit": "b653971455a36aea97cc42bd38edcd5b155135c7",
      "tree": "c886d61315b300f180d52390a1995c057002a6d2",
      "parents": [
        "6831fa581e673cb860eac4ede3797a89747c8d73"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 26 07:18:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 07:22:43 2026"
      },
      "message": "[compiler-rt][test] Disable sanitizer_coverage_inline8bit_counter_default_impl.cpp on Android (#235620)\n\n`android_run.py` does not copy files created on the device back to the\nhost.\n\nFixes test failure on\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6fbfd43c418d99c6987bda984efb2811732ce309\n"
    },
    {
      "commit": "6831fa581e673cb860eac4ede3797a89747c8d73",
      "tree": "9146e7928186751f2418ab1f4315b125e578f815",
      "parents": [
        "6609ac8ffbf64fe98b309dd3d549fa125633b004"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 26 07:05:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 07:11:49 2026"
      },
      "message": "[sanitizer][test] Mark Linux/opendir_null.cpp unsupported on Android (#235617)\n\n`android_run.py` does not forward `LD_PRELOAD` to the device.\n\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fa12fed683882d93d42ffa9f040ad07cd84550f2\n"
    },
    {
      "commit": "6609ac8ffbf64fe98b309dd3d549fa125633b004",
      "tree": "4dfd941845dbc3c1342a4a3d8fcdad6b9c963cb5",
      "parents": [
        "62428f6dd1b4422757c7a6cd7b6a2e4f601212d1"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 26 06:47:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 06:51:54 2026"
      },
      "message": "[asan][test] Inspect %shared_libasan in Linux/check_memcpy.c when dynamic (#235605)\n\nWhen `asan-dynamic-runtime` is enabled (including on Android, where `%t`\nis the `android_run.py` wrapper script), inspect `%shared_libasan`\ndirectly with `llvm-objdump` instead of `%t`.\n\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9f8202cc294e0e0c20bc1de8280d824dba540468\n"
    },
    {
      "commit": "62428f6dd1b4422757c7a6cd7b6a2e4f601212d1",
      "tree": "9e3a0dd9f4beaff0115612f079ba82d4ca7db274",
      "parents": [
        "4ad6dae2bd4be4146077e72582bd9c31772a5cc6"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 26 06:33:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 06:36:48 2026"
      },
      "message": "[ubsan][test] Mark Misc/Posix/static-link.cpp unsupported on Android (#235603)\n\nAndroid defaults to -shared-libsan, so linking with -static fails\nwithout -static-libsan.\n\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 769dffca7362b47cecb986d6e5c71aae583749f5\n"
    },
    {
      "commit": "4ad6dae2bd4be4146077e72582bd9c31772a5cc6",
      "tree": "a91a735343857776ae7a15ed7249d090eb4c962d",
      "parents": [
        "e422ea3d0b70d017d064bf79fba4cbef96303d18"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 26 05:59:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 06:02:02 2026"
      },
      "message": "[hwasan][test] Check config.android when disabling aliasing tests (#235598)\n\nWhen cross-compiling for Android from Linux, `config.target_os` is\n`\"Linux\"`, so #235414 did not disable `HWAddressSanitizer-x86_64` on\nAndroid.\n\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 36c4d811b59c826b416fd66518f406c96829d4be\n"
    },
    {
      "commit": "e422ea3d0b70d017d064bf79fba4cbef96303d18",
      "tree": "30ed10103a124fb5320f90031aebaa4fb4e5cfff",
      "parents": [
        "a195b70a965e9b3823a01b3df745db8b4c5e2698"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 26 05:35:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 05:39:37 2026"
      },
      "message": "[asan][test] Disable inner string interceptors on android-37 in strpbrk-2.c and strtok.c (#235588)\n\nThese tests disable `intercept_strpbrk` or `intercept_strtok` via\n`ASAN_OPTIONS` and expect `strict_string_checks\u003dtrue` to still catch\nout-of-bounds reads via the underlying `strcspn`/`strspn` calls inside\n`libc`.\n\nOn Android API 37 (`x86_64`), Bionic moved `strspn` and `strcspn` out of\n`libc/bionic/string.cpp` into `libc/portable-simd/strspn.cpp`\n(https://android.googlesource.com/platform/bionic/+/a11b70b3b16b09d3384056d2a0f093d0a09eb182\nfor `x86_64`,\nhttps://android.googlesource.com/platform/bionic/+/72bc53739 for\n`arm64`, and\nhttps://android.googlesource.com/platform/bionic/+/382ae7c425e8b315b83d63439b98b2b8832accdd):\n- `strpbrk` and `strtok` in `libc/bionic/string.cpp` no longer inline\n`strspn`/`strcspn` and instead call them via the PLT (`strspn@plt`,\n`strcspn@plt`).\n- `libc/portable-simd/strspn.cpp` dispatches single-character `strcspn`\ncalls to `strchrnul@plt` (controlled by `intercept_strchr`) and\nempty-delimiter `strcspn` calls to `__strlen_chk@plt` (controlled by\n`intercept_strlen`).\n\nOn `android-37`, also set `intercept_strspn\u003dfalse`,\n`intercept_strchr\u003dfalse`, and `intercept_strlen\u003dfalse` in `strtok.c`\n(and `intercept_strspn\u003dfalse` in `strpbrk-2.c`) so the negative `!not`\nruns exercise the unintercepted fallback path as intended.\n\nFixes failures on\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9c9b8aa02151c1b5c22bb77d97f59cedb2b97f27\n"
    },
    {
      "commit": "a195b70a965e9b3823a01b3df745db8b4c5e2698",
      "tree": "357a8f41ab250ac005beddbdafb73ad0a5f31875",
      "parents": [
        "49e6be621c2a4b2e0284dadda296c7f9c718a159"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 26 04:31:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 04:35:28 2026"
      },
      "message": "[compiler-rt][cmake] Disable LSan on Android (#235574)\n\nLSan on Android is currently broken and there is no evidence it is used,\nfailing 51 tests on\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android\nthat we are recovering. Disable `COMPILER_RT_HAS_LSAN` on Android with a\n`FIXME`.\n\nRelated issues:\n- https://github.com/google/sanitizers/issues/379\n- https://github.com/google/sanitizers/issues/1516\n- https://github.com/google/sanitizers/issues/1583\n- https://github.com/android/ndk/issues/431\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a32910588b1ef65c5d411121375b1a03d99e3ba2\n"
    },
    {
      "commit": "49e6be621c2a4b2e0284dadda296c7f9c718a159",
      "tree": "fbfb66f78c4830b3ba6c00932db83385cf44c313",
      "parents": [
        "e4fbf24265097be218ae55b8730a326f136962dd"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 26 02:43:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 02:47:00 2026"
      },
      "message": "[sanitizer_common][test] Disable NolibcMain on Android (#235565)\n\nSanitizer-x86_64-Test-Nolibc is only built when `NOT ANDROID` in\n`compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt`.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: cf1e798b359ddb56548b91a2beae81a730ac8586\n"
    },
    {
      "commit": "e4fbf24265097be218ae55b8730a326f136962dd",
      "tree": "03266c953879d3bf56008c4064ac8b5bfe405e62",
      "parents": [
        "fcae6b48a9d396449f535c142067ee4dc3af6ed1"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 26 02:36:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 02:43:23 2026"
      },
      "message": "[compiler-rt][test] XFAIL C++ ABI / operator new tests on Android (#235557)\n\nTemporary suppression to fix\nhttps://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android.\n\nAfter #196388, both `libclang_rt.asan-*-android.so` and\n`libc++_shared.so` link static `libc++abi.a`, resulting in duplicate\n`libc++abi` symbols and state across the two shared libraries.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5dfed03e840abaa0ac1eb8e1bbce0505e11b18fd\n"
    },
    {
      "commit": "fcae6b48a9d396449f535c142067ee4dc3af6ed1",
      "tree": "96e9f68c79fb66b42b354189b30e38776ea1dccc",
      "parents": [
        "3bf107557924041f4dae293467ac8cb3616ad374"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 26 01:07:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 01:12:47 2026"
      },
      "message": "[compiler-rt][test] Require android-37 for free_sized tests on Android (#235545)\n\nIn Android NDK r30, `stdlib.h` declares `free_sized` and\n`free_aligned_sized` with `__INTRODUCED_IN(37)` without\n`__BIONIC_AVAILABILITY_GUARD(37)`, which causes compilation to fail when\ntargeting Android API levels below 37. Add `android-37` to the available\nlit features in `lit.common.cfg.py` and mark `free_sized.c`,\n`free_aligned_sized.c`, and `free_sized_mismatch.cpp` as `UNSUPPORTED`\non Android below API 37.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1fece12c7f950fc6fc039b706094fee7e11ea61c\n"
    },
    {
      "commit": "3bf107557924041f4dae293467ac8cb3616ad374",
      "tree": "443a3c59dadad8d2d4a7ec48760ab533e394107f",
      "parents": [
        "b8403c8cb61be59a519c3cf63217190c414bdf07"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Sun Oct 25 23:57:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 00:03:03 2026"
      },
      "message": "[hwasan] Disable aliasing mode runtime and tests on Android (#235414)\n\nHWASan x86_64 aliasing mode\n(`-fsanitize-hwaddress-experimental-aliasing`)\nis only implemented on Linux (`hwasan_dynamic_shadow.cpp` does not set\nup\n`MapDynamicShadowAndAliases` under `SANITIZER_ANDROID`). Skip building\nthe\n`hwasan_aliases` runtime on Android in\n`compiler-rt/lib/hwasan/CMakeLists.txt`\nand exclude Android from `supported_os` in\n`compiler-rt/test/hwasan/lit.cfg.py`\nwhen aliasing mode is enabled.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: caf7a716fe6eb7fbc0f0cec7b745b94ab3706ddf\n"
    },
    {
      "commit": "b8403c8cb61be59a519c3cf63217190c414bdf07",
      "tree": "48702c9acdd565609bc668111c1dae43015d76af",
      "parents": [
        "28c853be898164fc0712e40d2ba8e050007e5efc"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Sun Oct 25 23:55:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 00:02:38 2026"
      },
      "message": "[test][compiler-rt] Set HOME and TMPDIR via re-exec in sanitizer_set_report_path_test (#235534)\n\nSetting `HOME\u003d%device_rundir/%t.homedir` in the lit `RUN:` line leaves\nthe\ndevice path in the host `os.environ` when `android_run.py` invokes\n`adb`,\ncausing `adb` 37+ (`KnownWifiHostsFile`) to abort trying to create\n`$HOME/.android` on the host.\n\nSet `HOME` and `TMPDIR` from `argv[0]` inside `main()` and re-exec the\ntest\nbinary so `/proc/self/environ` has the updated paths on the target\nwithout\nmodifying the host environment.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 311147b1d457938dc888a0cf2a7e8c7ef135c212\n"
    },
    {
      "commit": "28c853be898164fc0712e40d2ba8e050007e5efc",
      "tree": "6bc83bfcaac37497f2ec96869013d5a39a9b8f3e",
      "parents": [
        "408277905a2afe8c5f3f2a8a6e3202be605529b3"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Fri Oct 23 21:25:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 21:28:28 2026"
      },
      "message": "Revert \"[compiler-rt] Restrict __gnu_h2f_ieee and __gnu_f2h_ieee to arm32 EABI\" (#235018)\n\nReverts llvm/llvm-project#220170.\n\nIt turns out that LLVM can produce calls to `__gnu_h2f_ieee` and\n`__gnu_f2h_ieee` when targeting at least Windows/arm, even if that isn\u0027t\nan EABI target - contrary to what was said in #220170.\n\nReverting the change to builtins, expose these functions for non-EABI\ntargets (like before) until we can avoid emitting the calls to them.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 22db5ec393d1ce4b2a0cebd7494a248155c4dbb4\n"
    },
    {
      "commit": "408277905a2afe8c5f3f2a8a6e3202be605529b3",
      "tree": "67e27a7c957d0b9ed5816b5d2868872b1714e712",
      "parents": [
        "d1413c02d9b37a583f1b28deb6232aa4e1be91f0"
      ],
      "author": {
        "name": "Midhunesh",
        "email": "midhunesh.p@ibm.com",
        "time": "Fri Oct 23 16:21:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 16:26:51 2026"
      },
      "message": "[sanitizer_common][test] Allow optional leading dot in function names in printf-unknown-specifier.c (#234922)\n\nOn AIX, the symbolizer prints function names with a leading dot (.).\nEach function\u0027s code lives in its own .\u003cfuncname\u003e csect, and that\nentry-point symbol is the name that gets printed.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e81aaf1a5f6391027d007f6e4370e07da0a2c239\n"
    },
    {
      "commit": "d1413c02d9b37a583f1b28deb6232aa4e1be91f0",
      "tree": "98c607e3bc8aed07b1619027a0be5eef009daa52",
      "parents": [
        "7aa3c668adb53e293aedd92598867e1613b40941"
      ],
      "author": {
        "name": "hulxv",
        "email": "hulxxv@gmail.com",
        "time": "Fri Oct 23 15:26:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 15:32:28 2026"
      },
      "message": "[compiler-rt][builtins] libc-backed float16 extend/truncate builtins (#211882)\n\nadd libc-backed bfloat16 extend/truncate builtins\n\ndepends on:\n   - #209984\n\nPart of #197824\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 421ef1fb76e9d66c2c781ebf045202bcb5489411\n"
    },
    {
      "commit": "7aa3c668adb53e293aedd92598867e1613b40941",
      "tree": "d0197b787a22b0aa791c20f2f512db55b043f00d",
      "parents": [
        "8dbac51cbb71dd04c0e9e0e18664982c4ad350b9"
      ],
      "author": {
        "name": "Zachary Yedidia",
        "email": "zyedidia@gmail.com",
        "time": "Thu Oct 22 02:53:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 02:58:45 2026"
      },
      "message": "[LFI][libunwind] Enable x86_64_lfi for compiler-rt and skip reserved registers in libunwind (#232552)\n\nThis enables `x86_64_lfi` as a CMake target in compiler-rt and skips\nLFI\u0027s reserved registers for libunwind\u0027s save/restore sequence.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 987ee202905055120a44348af86ca878c4f55722\n"
    },
    {
      "commit": "8dbac51cbb71dd04c0e9e0e18664982c4ad350b9",
      "tree": "aac90d545724af46c56298fffe3832a7f2c07fdc",
      "parents": [
        "844e0bfd3a1edea2925df4c046fc13068b04ce98"
      ],
      "author": {
        "name": "Jake Adamson",
        "email": "17357301+Jake-The-Human@users.noreply.github.com",
        "time": "Wed Oct 21 16:01:27 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 16:08:31 2026"
      },
      "message": "[compiler-rt][scudo] Add CMake presets for standalone builds (#221089)\n\nAdd CMakePresets.json under compiler-rt to configure and test Scudo\nstandalone without requiring a full LLVM monorepo build. Includes\nscudo-debug, scudo-release, and test presets. Used Gemini to clean up\nand make the presets more generalized.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: eb8cddbf1757653499264af4d701ebe8104002c9\n"
    },
    {
      "commit": "844e0bfd3a1edea2925df4c046fc13068b04ce98",
      "tree": "1c8f67632fca0783d3c219bb221b61db493d2684",
      "parents": [
        "8163f8b534522ac62c4b2f98d86afa5b6898273b"
      ],
      "author": {
        "name": "Andrew Haberlandt",
        "email": "ahaberlandt@apple.com",
        "time": "Wed Oct 21 15:50:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 15:59:42 2026"
      },
      "message": "[compiler-rt][Darwin] Disable the armv7* sanitizer slices for watchOS (#234051)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0ee808527bc6db5ed37e4552e453c37ccb843f10\n"
    },
    {
      "commit": "8163f8b534522ac62c4b2f98d86afa5b6898273b",
      "tree": "e24210d4b8ab79d4cfa11c9acaf0cdca673cc748",
      "parents": [
        "7005787b1be0ea354cd24b83ef6d230151ee5bc8"
      ],
      "author": {
        "name": "Chris Apple",
        "email": "cja-private@pm.me",
        "time": "Wed Oct 21 09:30:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 09:38:09 2026"
      },
      "message": "[rtsan] Add doxygen style docstrings to rtsan_interface (#232521)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f416107bab37e5ed59a051d2f7db47d6dcee3df8\n"
    },
    {
      "commit": "7005787b1be0ea354cd24b83ef6d230151ee5bc8",
      "tree": "8bf0ec2b377ec8c6f195e019ba5de03e92dcaeb4",
      "parents": [
        "c87bd0bc378fe6f3a33c94c5cf098da6b1916b99"
      ],
      "author": {
        "name": "Fabrice de Gans",
        "email": "steelskin@gmail.com",
        "time": "Tue Oct 20 16:41:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 16:47:43 2026"
      },
      "message": "[asan] Declare __asan_dso_reg_hook in its section (#230102)\n\nThe declaration for `__asan_dso_reg_hook` did not include the section\nannotation, unlike its definition. This resulted in a warning with\nclang-cl. This fixes the issue by moving the section declaration to the\nheader and properly annotating the variable.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 485d8acc48b3470465a642519b6ff6f8d8833d60\n"
    },
    {
      "commit": "c87bd0bc378fe6f3a33c94c5cf098da6b1916b99",
      "tree": "7a72de3c4864af3364fc25ba17f886228e96b278",
      "parents": [
        "5da19f293e2f375ebc3aa0d7672c0d5327a455c5"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Tue Oct 20 05:08:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 05:12:35 2026"
      },
      "message": "[test][msan] Avoid SLP vectorization in BinaryOpOriginTest (#233672)\n\nAfter b24e56eb176a (#233271), SLP vectorizes loads of x and y in\nBinaryOpOriginTest into a single vector load. Because MSan currently\nloads a single scalar origin from the base address of a vector load, the\nstale origin of initialized element x is picked instead of poisoned\nelement y.\n\nMark BinaryOpOriginTest NOINLINE so op is not inlined and SLP does not\nvectorize the loads until MSan vector load origin tracking is fixed.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 507840df1908c80cf2bef518f55a2dc97dcdc9c1\n"
    },
    {
      "commit": "5da19f293e2f375ebc3aa0d7672c0d5327a455c5",
      "tree": "f5f359a1edd3d692dddef5a9bb3a8ae225b6c94c",
      "parents": [
        "5a514fe6c5412f965e90269a05d97f67e59e973f"
      ],
      "author": {
        "name": "Jared Duke",
        "email": "jdduke@google.com",
        "time": "Tue Oct 20 00:46:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 00:52:10 2026"
      },
      "message": "[scudo] Only lock active TSDs in TSDRegistrySharedT::disable() (#233617)\n\nTSDRegistrySharedT::disable() and enable() run around fork() via\npthread_atfork and lock and unlock all TSDsArraySize TSDs. Only the\nfirst NumberOfTSDs TSDs can ever be handed to a thread, so touching the\nrest only dirties their pages.\n\nOn Android (TSDsArraySize 8, NumberOfTSDs 2 by default), unlocking the\nsix inactive TSDs in the child writes to their mutex words and causes\ncopy-on-write faults on five otherwise untouched .bss pages in every\nforked process. On an idle device this is 20 KiB of private dirty\nmemory per Zygote-forked process, or about 2.3 MiB across the ~120 such\nprocesses.\n\nBound both loops by NumberOfTSDs, matching drainCaches() and getStats().\nsetNumberOfTSDs() only grows the count and only while holding Mutex,\nwhich disable() holds until enable(), so both loops see the same value.\n\nAlso call disable()/enable() in TSDRegistryTSDsCount before and after\nraising MaxTSDsCount, as a smoke test that the lock and unlock loops\nstay balanced.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 470fbd4326de41f94d6d2f6a786c61c0210e706c\n"
    },
    {
      "commit": "5a514fe6c5412f965e90269a05d97f67e59e973f",
      "tree": "7c174e2ebde0706802eb6a032ed12d72afb395c7",
      "parents": [
        "91e171244e4727961f33495a0dc7b719bec85613"
      ],
      "author": {
        "name": "Midhunesh",
        "email": "midhunesh.p@ibm.com",
        "time": "Mon Oct 19 20:52:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 20:59:31 2026"
      },
      "message": "[asan] Implement address sanitizer on AIX: shadow memory (#232243)\n\nThis continues https://github.com/llvm/llvm-project/pull/136874\n\nOn 64-bit AIX, data/heap, shared libraries, mmap and the initial stack\nare in separate regions spread over a very large address range, and much\nof that range is reserved by the OS. Shadowing it directly would need a\nshadow too large to map.\nInstead, ASan on 64-bit AIX ignores the top 6 address bits when\ncomputing the shadow address:\n\n      `shadow \u003d ((addr \u003c\u003c 6) \u003e\u003e (6 + scale)) + 0x0a01000000000000`\n\nIt shadows only the part of each region that programs use in practice:\nlow memory (data/heap), high memory (stack), and three mid regions (mmap\nand two shared library data ranges). The shadow itself sits in the mmap\nregion. The layout has no shadow gaps, so at startup the runtime\nreserves the mid shadows instead of protecting a gap.\n\nThe 32-bit AIX shadow offset is `0x40000000`.\n\nPart of #138916\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 52f8774eb9e46d20779d15d06f0b35590ac6ad49\n"
    },
    {
      "commit": "91e171244e4727961f33495a0dc7b719bec85613",
      "tree": "c8d2d22796d61140cb3990913b0bd331be19cc83",
      "parents": [
        "6dbde32b31c93d899775402394eaa5ebfd1a6263"
      ],
      "author": {
        "name": "Dave MacLachlan",
        "email": "dmaclach@gmail.com",
        "time": "Mon Oct 19 19:50:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 19:57:32 2026"
      },
      "message": "Add vision os offsets (#232970)\n\nSupport vision os kernel offsets.\n\nNote that as of OS versions 26 and above, these are all synchronized.\nThis is purely for legacy support at this point.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4a5dce020e8e66b4f816898378a45e52b1493ee5\n"
    },
    {
      "commit": "6dbde32b31c93d899775402394eaa5ebfd1a6263",
      "tree": "f0ddf3c33976aa313785538a10f927c12ee6f538",
      "parents": [
        "5d555a2762c37da60de2a0ef81941079ffb3e415"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Mon Oct 19 12:24:28 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 12:29:34 2026"
      },
      "message": "[compiler-rt][asan] Handle EAGAIN in ThreadedQuarantineTest (#232798)\n\nPart of #232239.\n\nI\u0027ve changed the test so that we skip if the initial warmup thread\ncannot be made. As if we can\u0027t do that, the subsequent checks are likely\nto fail.\n\nFor thread 2 and beyond, I\u0027m treating EAGAIN as a sign to stop making\nthreads. I could have made n_threads into a retry limit of sorts, but I\ndon\u0027t think it would help much.\n\nSo this test will make a warm up thread, then as many threads as it can\nbefore it hits its own max or the system tells it to stop.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 94ff2c9b178a6bc13f4ae7ca9e5e1f121063db89\n"
    },
    {
      "commit": "5d555a2762c37da60de2a0ef81941079ffb3e415",
      "tree": "2bd058a93a5f72e0d22dbfceabdb0c82832e9322",
      "parents": [
        "5f6b36912d86fc8ee6653c12212b1c2aaf4f802c"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Mon Oct 19 12:23:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 12:28:40 2026"
      },
      "message": "[compiler-rt][asan][test] Handle EAGAIN in ManyThreadsTest (#232273)\n\nFixes #232239.\n\nThis test tries to spawn 1k threads which is sometimes not possible when\na bot is running the rest of the test suite at the same time. In this\ncase it returns EAGAIN.\n\nExpected equality of these values:\n  0\n  pthread_create(\u0026t[i], 0, ManyThreadsWorker, (void*)i)\n    Which is: 11\n\nWe could opt out of this test by setting ASAN_AVOID_EXPENSIVE_TESTS, but\nI thought it might be better to make it treat EAGAIN as an early exit\npoint when creating the threads. If it can create 1k it will, but it\nwill stop earlier if needed.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2e88a1ad5fad8127d542d1aaf4d1f79ec97f196a\n"
    },
    {
      "commit": "5f6b36912d86fc8ee6653c12212b1c2aaf4f802c",
      "tree": "49b61e2d4acfd23e8e4bf0c101899d535ae30612",
      "parents": [
        "34701f8295f0327b929e2d8b74926123f29570b4"
      ],
      "author": {
        "name": "dong jianqiang",
        "email": "dongjianqiang2@huawei.com",
        "time": "Mon Oct 19 06:41:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 06:47:20 2026"
      },
      "message": "[compiler-rt] Build the builtins library for AArch64 big endian (#225996)\n\nClang supports aarch64_be as a target, but compiler-rt cannot be\nconfigured for it: the builtins architecture list omits it, and the\ndefault-target detection misclassifies an aarch64_be triple as aarch64\nbecause CMake\u0027s MATCHES is a substring match. Match aarch64_be before\nthe generic aarch64 branch, add it to the ARM64 list in\nbuiltin-config-ix.cmake, and map its sources to the aarch64 sources.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2ba23bea65f4f39712b6d17a6b4d06cc6656a5ee\n"
    },
    {
      "commit": "34701f8295f0327b929e2d8b74926123f29570b4",
      "tree": "325ffab3ec605d64c967bf7022c15fd0d88bdc9e",
      "parents": [
        "22b6993036d05704d9644269dc55e1841781f52e"
      ],
      "author": {
        "name": "Fabio D\u0027Urso",
        "email": "fdurso@google.com",
        "time": "Fri Oct 16 21:55:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 22:03:44 2026"
      },
      "message": "[scudo] Avoid QuarantineBatch leak in GlobalQuarantineRecycleInvalidCount (#232905)\n\nIn GlobalQuarantineRecycleInvalidCount,\nQuarantine.drainAndRecycle(\u0026Cache, Cb)\ndequeues B from Cache before hitting the CHECK failure on B-\u003eCount. On\nplatforms where death tests execute in a thread within the same address\nspace\n(such as Fuchsia zxtest), Cache is already empty after\nSCUDO_EXPECT_DEATH\nreturns, so deallocateCache(\u0026Cache) fails to free B and triggers a\nLeakSanitizer failure.\n\nDeallocate B directly via Cb.deallocate(B) instead.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 253634e58aefd780a2612980a53c24c61e78c99c\n"
    },
    {
      "commit": "22b6993036d05704d9644269dc55e1841781f52e",
      "tree": "44295ddf1cacf6636d7db987967a1f1938477dde",
      "parents": [
        "9b770490ba22bff44925355ef4966980f1c98754"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris1000@users.noreply.github.com",
        "time": "Fri Oct 16 18:50:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 18:54:57 2026"
      },
      "message": "[scudo] Mark functions/classes as test only. (#231737)\n\nA few functions/classes should be test only to indicate they should not\nbe used in normal code.\n\nSpecifically, isOwned to isOwnedTestOnly and the class\nScopedDisableMemoryTagChecks to ScopedTestOnlyDisableMemoryTagChecks.\n\nModify the iterateOverChunks function to avoid using the test class and\nclean up the function a bit.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 215725ffad83bd499ffca9381b3cace185522160\n"
    },
    {
      "commit": "9b770490ba22bff44925355ef4966980f1c98754",
      "tree": "b653cc6db877b4a2884daf1972205014913a955c",
      "parents": [
        "eb327b5cb046053574797d736a6ba97b169304fa"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Fri Oct 16 10:52:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 10:58:57 2026"
      },
      "message": "[compiler-rt][asan] Check ASAN_AVOID_EXPENSIVE_TESTS in ThreadedQuarantineTest (#232682)\n\nRelates to #232239\n\nThis test creates 3000 threads which often hits resource limits on our\nmachines. I intend to make it respect EAGAIN, but in the meantime, I am\nadding ASAN_AVOID_EXPENSIVE_TESTS in the same way it\u0027s done in\nManyThreadsTest.\n\nI picked 90 for the lower amount because it\u0027s the same ratio used in\nManyThreadsTest. Might need to be lower in practice.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 74f552986040715195f552a0b2c4d57ac1787e2e\n"
    },
    {
      "commit": "eb327b5cb046053574797d736a6ba97b169304fa",
      "tree": "7e13c7b177d68770fecb08a43f74173720acdd10",
      "parents": [
        "bd0c5702fc7562fc0d5df744341db8b539e60206"
      ],
      "author": {
        "name": "Lukacma",
        "email": "Marian.Lukac@arm.com",
        "time": "Fri Oct 16 09:50:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 09:56:52 2026"
      },
      "message": "[AArch64][FMV]Set undetectable dependent features during initialization (#231912)\n\nSome targets don\u0027t set bits in __aarch64_cpu_features for all dependent\nfeatures of given feature during initialization as they cannot be\ndetected at runtime. This leads to incomplete initialization of\n__aarch64_cpu_features, preventing resolver from selecting the right\nversion.\n\nThis patch manually sets those undetectable dependent features.\n\n---------\n\nCo-authored-by: Tomas Matheson \u003cTomas.Matheson@arm.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ed169ffc341cb1326ead3b8e4a7ca05168d4545f\n"
    },
    {
      "commit": "bd0c5702fc7562fc0d5df744341db8b539e60206",
      "tree": "73002e5b4a209b928114d0910e541ecfb46f2725",
      "parents": [
        "6042becfa0ccbc2bd10049c2280973debba535a9"
      ],
      "author": {
        "name": "Dan Blackwell",
        "email": "dan_blackwell@apple.com",
        "time": "Thu Oct 15 22:57:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 15 23:01:33 2026"
      },
      "message": "[TSan] skip memcpy of ctx when NULL in sighandler (#217935)\n\nOn some platforms ctx is set to NULL when delivering a signal; this\ncauses a crash when trying to memcpy the contents into\n__tsan::SignalDesc.\n\nThis patch first performs a NULL-check before performing the memcpy in\norder to avoid the crash.\n\nrdar://168547411\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b389fb79d89397520569d669ed0b308a4b5209b3\n"
    },
    {
      "commit": "6042becfa0ccbc2bd10049c2280973debba535a9",
      "tree": "e0a475612104090461b5ed5c70358762716c2425",
      "parents": [
        "90caa6eed8fe67d0d783c3fee24877cdd25f3a3e"
      ],
      "author": {
        "name": "Justin T. Gibbs",
        "email": "gibbs@meta.com",
        "time": "Thu Oct 15 18:01:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 15 18:13:47 2026"
      },
      "message": "[asan] Adopt sanitizer_common operator-new framework (#196388)\n\nThis completes the series that makes AddressSanitizer\u0027s `operator new`\nconform to [new.delete.single]/3-4 (google/sanitizers#295), building on\n#196413, #200719, #201151, #202816, #213077, #225847, #231994 and\n#226832.\n\nASan\u0027s eight `operator new` overrides now use the shared framework in\n`sanitizer_new_operators.inc`. On allocation failure they call the\ncurrent `std::new_handler` until allocation succeeds or the chain is\nexhausted. After that:\n\n- `allocator_may_return_null\u003d0` (default): report out-of-memory and\n  abort once the handler chain is exhausted. Programs that install a\n  `std::new_handler` now see it run first; previously ASan never called\n  it.\n- `allocator_may_return_null\u003d1`: throwing `new` throws `std::bad_alloc`\n  (aborts if the runtime is built without exceptions, e.g. on Windows);\n  nothrow `new` returns `nullptr`.\n\nThis resolves the long-standing TODO to throw `std::bad_alloc` instead\nof dying on OOM.\n\nOther changes:\n- The `asan_new*` helpers pass `may_return_null\u003dtrue`, so storage\n  failures reach the framework as `nullptr`.\n- An oversized `operator new` request now reports `out-of-memory` after\n  the handler chain, instead of `allocation-size-too-big`.\n- Correct the `allocator_may_return_null` description and add a release\n  note.\n\nTests cover all eight overloads. Coverage that applies to any adopting\nsanitizer is added as sanitizer_common tests rather than ASan-specific\nones, gated by a new `operator-new-framework` lit feature that this\ncommit enables for ASan. The existing `allocator_returns_null` and\n`max_allocation_size` tests use the feature to expect `std::bad_alloc`\nfrom adopting tools and an abort from the rest. New ASan tests cover the\nunaligned nothrow overloads, including on Windows, where\nsanitizer_common tests do not run. Handler exceptions and the exhaustion\npolicy are covered by the framework unit tests in #226832.\n\nAssisted-by: Claude Opus 5.5\n\n---------\n\nCo-authored-by: Vitaly Buka \u003cvitalybuka@google.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: dc53f17c1413a76268b413bcf146887fb23b3de0\n"
    },
    {
      "commit": "90caa6eed8fe67d0d783c3fee24877cdd25f3a3e",
      "tree": "b10789955e65793d3962bd4398e7dca1c2d2a9b6",
      "parents": [
        "51bb9acc89fa24c919efadae8172e92caba09fc6"
      ],
      "author": {
        "name": "Andrew Lazarev",
        "email": "alazarev@google.com",
        "time": "Thu Oct 15 17:06:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 15 17:13:28 2026"
      },
      "message": "[tsan] Clear ThreadSignalContext shadow memory on thread exit (#230708)\n\n[tsan] Clear ThreadSignalContext shadow memory on thread exit\n\n`SigCtx(ThreadState *thr)` allocates a per-thread `ThreadSignalContext`\n(`sctx`) via internal `MmapOrDie(sizeof(*sctx))`. When a signal is\ndelivered to a user `sa_sigaction` handler, `CallUserSignalHandler`\npasses `\u0026sctx-\u003epending_signals[sig].siginfo` and\n`\u0026sctx-\u003epending_signals[sig].ctx` directly to the user handler. Any\ninstrumented reads or writes to the `siginfo_t` or `ucontext_t`\narguments populate TSan shadow memory for the `sctx` mapping.\n\nPreviously, `PlatformCleanUpThreadState` unmapped `sctx` via raw\n`UnmapOrDie(sctx, sizeof(*sctx))` upon thread exit without clearing its\nshadow memory, leaving stale shadow entries behind when the virtual\npages were reused or shared a shadow page with an adjacent mapping.\n\nCall `DontNeedShadowFor((uptr)sctx, RoundUpTo(sizeof(*sctx),\nGetPageSizeCached()))`\nbefore `UnmapOrDie(sctx, sizeof(*sctx))` in\n`PlatformCleanUpThreadState`.\n\nFixes #230706\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8171d29d0f73349d1df0f11dbb04565a3dfb5b10\n"
    },
    {
      "commit": "51bb9acc89fa24c919efadae8172e92caba09fc6",
      "tree": "8c6b0cca73b356768352c89529d49e5d28bd706c",
      "parents": [
        "e766d0801e62d3c7d382c1032fdb0a51416a7d87"
      ],
      "author": {
        "name": "David Anderson",
        "email": "89121871+dvandercorp@users.noreply.github.com",
        "time": "Wed Oct 14 23:44:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 14 23:47:48 2026"
      },
      "message": "[scudo] Re-check freelist before populating blocks in popBlocksWithCV (#231750)\n\nIn popBlocksWithCV, the region freelist may become non-empty before the\nthread calls populateFreeListAndPopBlocks. This can happen in two\nscenarios:\n\n1. Another thread may push blocks or finish\npopulateFreeListAndPopBlocks() in the window between releasing FLLock in\npopBlocks() and reacquiring it in popBlocksWithCV().\n\n2. releaseToOSMaybe() holds MMLock while temporarily extracting\nGroupsToRelease with FLLock unlocked, and merges those groups back into\nBlockList before releasing MMLock.\n\nWhen this does happen, popBlocksWithCV unconditionally calls\npopulateFreeListAndPopBlocks, permanently growing the region mapping and\nBatchClassId freelist metadata.\n\nThe fix here is to re-check popBlocksImpl() under FLLock before setting\nIsPopulatingFreeList and after acquiring MMLock, so existing free blocks\nare reused.\n\nAssisted-by: Gemini\n\nSigned-off-by: David Anderson \u003cdvander@google.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c6b016f0f11bd8f41b2ef596ff6a89ab5f2310d4\n"
    },
    {
      "commit": "e766d0801e62d3c7d382c1032fdb0a51416a7d87",
      "tree": "9895c832a69bbec8ef00bfbde6ca128bce52b675",
      "parents": [
        "6a0967a215161a29452b627076be9005d6490910"
      ],
      "author": {
        "name": "jinge90",
        "email": "ge.jin@intel.com",
        "time": "Wed Oct 14 23:40:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 14 23:44:51 2026"
      },
      "message": "[libc][GPU] Directly build GPU libc file with name \u0027libc.bc\u0027 (#231755)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 59a6b711f9309609dbcae0167e65c2ca93290a41\n"
    },
    {
      "commit": "6a0967a215161a29452b627076be9005d6490910",
      "tree": "c65028d0b867110fbbf81bfde7a6d5c90c91a503",
      "parents": [
        "c6926ad7fab614b78f8d160d444cec7cd5469299"
      ],
      "author": {
        "name": "Jake Egan",
        "email": "Jake.egan@ibm.com",
        "time": "Wed Oct 14 23:37:15 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 14 23:44:19 2026"
      },
      "message": "[sanitizer_common] Implement address sanitizer on AIX: process memory mapping (#138537)\n\nImplement process memory mapping on AIX using `sys/procfs.h`. We don\u0027t\nhave direct access to the full path in the case of user libraries or\nexecutables, so we use the path `/proc/\u003cpid\u003e/object/\u003cobject_id\u003e` for\nnow.\n\nIssue: https://github.com/llvm/llvm-project/issues/138916\n\n---------\n\nCo-authored-by: Midhunesh \u003cmidhunesh.p@ibm.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e5aa0c52dda1d6531b72139a61507b4ad612b5f9\n"
    },
    {
      "commit": "c6926ad7fab614b78f8d160d444cec7cd5469299",
      "tree": "680063ea5779edc85dafb4e1b1322e5953b25670",
      "parents": [
        "150d2237ef7d9bd1ee4e07f4c97cb9cd69692e6e"
      ],
      "author": {
        "name": "Justin T. Gibbs",
        "email": "gibbs@meta.com",
        "time": "Wed Oct 14 20:04:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 14 20:07:08 2026"
      },
      "message": "[asan] Mark nothrow operator new and delete noexcept (NFC) (#231994)\n\nAdd `NOEXCEPT` to nothrow forms of `operator new` and `operator delete`\ndefinitions to make them standards compliant and compatible with\ndeclarations provided by the, soon to be included in this context,\n`\u003cnew\u003e` header.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fb3cebfe5d7bf3af2cb1d5a598d7ef01d3b8477c\n"
    },
    {
      "commit": "150d2237ef7d9bd1ee4e07f4c97cb9cd69692e6e",
      "tree": "178864f9bc4488827821f5ed8261cd6ec1ee5e30",
      "parents": [
        "e885b0b65f349491f18e1a30aabe1232d8b327b1"
      ],
      "author": {
        "name": "Justin T. Gibbs",
        "email": "gibbs@meta.com",
        "time": "Wed Oct 14 05:04:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 14 05:12:58 2026"
      },
      "message": "[test][sanitizer_common] Add unit tests for operator new failure handling (#226832)\n\nTest `RunNewHandlerChain`, `NewImplThrowing`, `NewImplNothrow` and\n`InvokeOnExhausted` with fake allocation and exhaustion callbacks. The\ntests cover handler retries, chain exhaustion, exceptions thrown by a\n`std::new_handler`, and the `allocator_may_return_null` exhaustion\npolicy for throwing and nothrow `operator new`. Sanitizers that adopt\nthe framework then only need to test their own wiring.\n\nThe tests build only where the header includes `\u003cnew\u003e` and supports\nexceptions, which excludes Windows.\n\nAssisted-by: Claude Opus 5.5\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 065c4d4848acfefc235d662ed2c344ae17f4579b\n"
    },
    {
      "commit": "e885b0b65f349491f18e1a30aabe1232d8b327b1",
      "tree": "0aa626e07096c8199bd4f79978300a7310f16467",
      "parents": [
        "c6104d701e03f05f12deb14c91031a7e5c98937f"
      ],
      "author": {
        "name": "PiJoules",
        "email": "leonardchan@google.com",
        "time": "Tue Oct 13 00:28:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 13 00:34:28 2026"
      },
      "message": "Reland \"[compiler-rt][asan] Add asan checks for __builtin_assume_dereferencable\" (#224163)\n\nThis relands commit bf8cf4b7b31b956ea4dfec93b0b4d77b359b188b (#190871),\nwhich was reverted in commit e3b3706ceeea94ade3557275628a0e589e10ba24\n(#193655).\n\nThis checks that the range covered by this intrinsic is dereferenceable.\nSpecifically it checks for `llvm.assume` intrinsics using the\n`dereferenceable` operator bundle and asserts that the shadow for this\nrange is zero.\n\nFixes included in this reland:\n1. Darwin Stable ABI: Added `__asan_report_assume_dereferenceable` and\n`__asan_report_assume_dereferenceable_noabort` to `asan_abi_tbd.txt` to\nresolve the interface symbols diff failure in\nllvm_interface_symbols.cpp.\n2. MSVC Support: Added `UNSUPPORTED: msvc` to the new\n`assume_dereferenceable*.cpp` tests, as\n`__builtin_assume_dereferenceable` is a Clang builtin not supported by\nMSVC\u0027s compiler frontend.\n3. Stack instrumentation in tests: Added dummy memory accesses to\n`test_stack_partial_right()` and `test_stack_partial_left()` in\n`assume_dereferenceable.cpp` so that ASan instruments the stack frame\nand creates poisoned redzones as expected.\n4. Default flag: Set `-asan-instrument-assume-dereferenceable` default\nto false for initial baking to prevent unexpected failures on bootstrap\nbuilders.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c951fe67092508562c8ac74d619765680aec3183\n"
    },
    {
      "commit": "c6104d701e03f05f12deb14c91031a7e5c98937f",
      "tree": "47f8df6722f9165507bc74fa0b9d35c9b2b3b62c",
      "parents": [
        "ee8b436b256e2dfb57fc787fa5c8ceeb4bd496a0"
      ],
      "author": {
        "name": "Sharjeel Khan",
        "email": "sharjeelkhan@google.com",
        "time": "Mon Oct 12 22:53:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 12 22:56:23 2026"
      },
      "message": "[compiler-rt][ARM] Mark optimized FP add/sub asm as superseding aeabi_[df]rsub.c (#230739)\n\n#179921 (`arm/adddf3.S`) and #179929 (`arm/addsf3.S` and\n`arm/thumb1/addsf3fast.S`) introduced optimized assembly implementations\nfor floating-point addition, subtraction, and reversed subtraction\n(`__aeabi_drsub` and `__aeabi_frsub`), but omitted `arm/aeabi_drsub.c`\nand `arm/aeabi_frsub.c` from `SUPERSEDES` (and `PROVIDES`), causing\nduplicate symbol errors during lld linking in Android.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c5a8ee04c5cbd8bbd7019b25026eeb466a1276c6\n"
    },
    {
      "commit": "ee8b436b256e2dfb57fc787fa5c8ceeb4bd496a0",
      "tree": "5aadf843776801c45e655624889365c8ce5193cf",
      "parents": [
        "745ff42c0ef36daa46b309fb0de9b85bea856f54"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 12 19:57:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 12 20:02:36 2026"
      },
      "message": "[test][msan] Pin release_origin.c to a single CPU on Linux (#231058)\n\nPin the test to a single CPU to avoid flaky /proc/self/statm RSS\nreadings on\nmachines with many CPUs and large page sizes (such as ppc64le).\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6a3f59517af649d9567a10be114d60cb75ff6050\n"
    },
    {
      "commit": "745ff42c0ef36daa46b309fb0de9b85bea856f54",
      "tree": "cc5daa791484dbb21be54eaeed997e0ae30c76b5",
      "parents": [
        "22fa94d88eac7a24ca2de49e93f9541fe2e8368b"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Mon Oct 12 10:56:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 12 11:03:36 2026"
      },
      "message": "[compiler-rt][asan] Disable FakeStack CreateDestroy test on AArch64 Linux (#231118)\n\nIs flaky, see https://github.com/llvm/llvm-project/issues/231115.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 17263251e97cfd88a27fe5f5c0edb03e87012d0c\n"
    },
    {
      "commit": "22fa94d88eac7a24ca2de49e93f9541fe2e8368b",
      "tree": "546f385913f5193ee7308cb14f5067ab9576abad",
      "parents": [
        "4d875b17ff7d2b44c82e4fe0371a11dc0cfc16c1"
      ],
      "author": {
        "name": "Trevor Gross",
        "email": "tg@trevorgross.com",
        "time": "Sun Oct 11 23:23:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Oct 11 23:26:19 2026"
      },
      "message": "[compiler-rt] Restrict __gnu_h2f_ieee and __gnu_f2h_ieee to arm32 EABI (#220170)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ce2a4984a3f43327a2b7c40baa74907bc10eb899\n"
    },
    {
      "commit": "4d875b17ff7d2b44c82e4fe0371a11dc0cfc16c1",
      "tree": "c2a4cce13fae677561fd26416ac518d3507a31a3",
      "parents": [
        "5ad76d13e9a724c8c29cd61bde4f1622e20f0566"
      ],
      "author": {
        "name": "Fangrui Song",
        "email": "i@maskray.me",
        "time": "Sun Oct 11 17:21:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Oct 11 17:27:21 2026"
      },
      "message": "[test] Remove empty --correlate from instrprof-binary-correlate-debuginfod.c (#231013)\n\n#230883 removed the empty-string --correlate value.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 556e75933c7dc077ff30f876c8ec35fe7f4ca2a3\n"
    },
    {
      "commit": "5ad76d13e9a724c8c29cd61bde4f1622e20f0566",
      "tree": "218440f8979cc38b655a6b2bc0306822abf52a52",
      "parents": [
        "dedd603cfe8abad7780ffcff3cc896571b83acab"
      ],
      "author": {
        "name": "Yaxun (Sam) Liu",
        "email": "yaxun.liu@amd.com",
        "time": "Sat Oct 10 14:43:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 10 14:48:41 2026"
      },
      "message": "[compiler-rt][ROCm] Collect Linux profiles from resident images (#229518)\n\nOn Linux, profile collection looks up every registered HIP image.\nThose lookups can load images the program never used just to collect\nzero counters.\n\nCollect profiles from images already loaded by the HSA runtime. If\nthe loader inspection APIs are unavailable, keep the existing image\nlookup path.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 762316e293d1db4f495bdbb545c31d588a1a2d62\n"
    },
    {
      "commit": "dedd603cfe8abad7780ffcff3cc896571b83acab",
      "tree": "aa6a913d37e914f49ed4d87b2b66dc5b40e88184",
      "parents": [
        "603f9edf5adf8fb673e746a2d96bed1480cf413a"
      ],
      "author": {
        "name": "Kostya Kortchinsky",
        "email": "kostya.kortchinsky@gmail.com",
        "time": "Sat Oct 10 01:28:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 10 01:32:27 2026"
      },
      "message": "[scudo] Check quarantine batch bounds in release builds (#230247)\n\n[Attacking Scudo\u0027s Quarantine, section 3: Write Where\nPtr](https://un1fuzz.github.io/articles/quarantine_attack.html#a3)\ndescribes corrupting a quarantine batch\u0027s `Count` so that enqueue writes\nthe freed pointer outside the batch. The original [PoC and exploit code\nare\nhere](https://github.com/un1fuzz/scudo_research/tree/main/quarantine_arbitrary_return).\n`push_back()` currently guards its index with a debug-only check; an\noversized count also bypasses enqueue\u0027s full-batch equality check.\n\nMake that bound a release-build check. Also validate both counts before\ndeciding whether batches can merge, enforce merge capacity in\nproduction, and check the count before shuffling (which precedes\nrecycling). The capacity comparison uses subtraction after validating\nboth operands, avoiding corrupted-count addition wrapping around.\n\nThis closes the out-of-bounds enqueue primitive described in section 3.\nIt does not address section 2\u0027s Double Return attack using in-range\ncounts and stale entries, or authenticate batch pointers. Tests exercise\nthe corrupted-count mechanism; the original end-to-end exploit was not\nreplayed.\n\nValidation on Ubuntu WSL x86_64 with Clang 21.1.8:\n\n- Full debug-checks suite: 802 passed, 44 skipped; release: 802 passed,\n40 skipped; zero failures.\n- Five new corruption tests fail against the original release header and\npass with this patch. Coverage includes full/oversized counts, both\nmerge operands, sum wraparound, enqueue, shuffle, and recycling; valid\nempty/full batch behavior is retained.\n- All 14 quarantine tests pass for 20 shuffled ASan/UBSan runs.\n- Clang-format and diff whitespace checks pass.\n\nA local pinned-CPU `-O2` microbenchmark measured median append cost of\n1.155 to 1.185 ns per entry and cache enqueue cost of 1.776 to 1.827 ns\n(about +3%, with overlapping sample ranges). This is not an end-to-end\nallocator benchmark and does not measure merge/shuffle cost. The checks\nexecute on quarantine paths; enabling quarantine and its limits is\nunchanged. Android, 32-bit, AArch64/MTE, and Fuchsia were not tested.\n\nAssisted-by: OpenAI Codex. Draft for the author\u0027s review before\nrequesting maintainer review.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: acd27dbc4ae293113fcddab8576e17ab06299d0c\n"
    },
    {
      "commit": "603f9edf5adf8fb673e746a2d96bed1480cf413a",
      "tree": "0559fae2cb1bfbbd9fe2561815dd7c0454a69d79",
      "parents": [
        "2f4a619f986d1509aa15ba8ac6f9b3f3b043d652"
      ],
      "author": {
        "name": "Andrew Haberlandt",
        "email": "ahaberlandt@apple.com",
        "time": "Fri Oct 09 22:20:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 09 22:28:47 2026"
      },
      "message": "fix: add missing define in asan_mapping_sparc64.h (#230686)\n\n#217530 added a new define to `asan_mapping.h`. SPARC has its own file\nthat provides the same defines, and I forgot to define the new macro\nthere.\n\nSPARC takes the same default as all other non-darwin platforms.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 392106d01488168a260f8698da73adac9bc129de\n"
    },
    {
      "commit": "2f4a619f986d1509aa15ba8ac6f9b3f3b043d652",
      "tree": "f5bddaee59f1c7eaece3c7f59cb1ed6923b99dad",
      "parents": [
        "dbac0da3bbb565ccecddf456e98a8416c242254e"
      ],
      "author": {
        "name": "Justin T. Gibbs",
        "email": "gibbs@meta.com",
        "time": "Fri Oct 09 19:40:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 09 19:46:30 2026"
      },
      "message": "[sanitizer] Always report invalid aligned operator new requests (#225847)\n\nAligned `operator new` in every sanitizer now reports an invalid\n`std::align_val_t` (not a positive power of two) with\n`ReportInvalidAllocationAlignment()`, regardless of\n`allocator_may_return_null`. This ensures the caller\u0027s UB API usage is\nclearly reported instead of being treated as an out-of-storage failure.\nPreviously, all sanitizers but ASan also silently accepted an alignment\nof zero.\n\nThe operator new framework comments now state the resulting contract:\nan allocation callback returns nullptr only when storage cannot be\nobtained.\n\nTest Plan:\n- New sanitizer_common test covers all four aligned overloads.\n- NSan, MemProf and DFSan (unsupported by sanitizer_common tests) have\n  their own tests of the single-object overloads, which share one\n  implementation with the array overloads.\n\nHistory:\nEvery sanitizer implemented aligned `operator new` on top of its C\n`memalign`, inheriting that API\u0027s flag-gated return of\n`nullptr+errno\u003dEINVAL` for invalid alignment. ASan later moved aligned\nnew to a dedicated helper that copied the policy (see table); the other\nruntimes still call `memalign` directly. C++ does not require a program\nto continue after this UB. Removing the flag-controlled path makes a\nnullptr return *always* mean an out-of-storage failure, one the\n`std::get_new_handler()` loop can retry.\n\nASan\u0027s history, as an example:\n\n| Commit         | Year | Change                                       |\n| -------------- | ---- | -------------------------------------------- |\n| `c7cc93ad0723` | 2016 | Aligned `operator new` added as a call to    |\n|                |      | `asan_memalign()` (D24771).                  |\n| `31e8173c9425` | 2017 | `asan_memalign()` gains the flag-gated       |\n|                |      | `EINVAL` path for C `memalign` (D35440).     |\n| `10f50a44c1fa` | 2018 | That path becomes an explicit                |\n|                |      | `AllocatorMayReturnNull()` check plus        |\n|                |      | `ReportInvalidAllocationAlignment()`         |\n|                |      | (D44404).                                    |\n| `681c2ee4dfbf` | 2025 | The dedicated `asan_new_aligned()` helper    |\n|                |      | copies the branch (#145087).                 |\n\nAssisted-by: Claude Opus 5.5\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b777bb47061b85a2c8599afe7e357b218d1f6886\n"
    },
    {
      "commit": "dbac0da3bbb565ccecddf456e98a8416c242254e",
      "tree": "2cf72d4ddd5ec471ecf859193843118fb2a34f8d",
      "parents": [
        "57df6b9acaf28017fe7336af51b594746f9391a4"
      ],
      "author": {
        "name": "Andrew Haberlandt",
        "email": "ahaberlandt@apple.com",
        "time": "Fri Oct 09 17:43:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 09 17:47:14 2026"
      },
      "message": "[ASan][Darwin] Support gapless shadow layout for iOS 27.0 (#217530)\n\nThis is the second PR in a series that upstreams support for iOS 27.0\n(see #217527 for the first).\n\nWhen the shadow can be placed entirely above app memory (as on iOS 27),\nthere is no need to split shadow into low/high halves with a middle gap.\nThis PR adopts a \"gapless\" layout in ASAN, in which all of application\nmemory is in `[kLowMemBeg, kLowMemEnd]` and shadow is `[kLowShadowBeg,\nkLowShadowEnd]`. The \"high\" region is unnecessary and thus unused\n(because of the way it is defined, `kHighMemBeg \u003e kHighMemEnd` in this\nnew layout, which conveniently means that `AddrIsInHighMem(p)` is always\nfalse) -- this is a bit jank and unintuitive, but it keeps the diff\nbetween iOS and other platforms relatively small.\n\n- Add kGaplessShadow (Darwin-only) to detect this configuration.\n- Teach `InitializeShadowMemory` to reserve one contiguous shadow region\nand protect only the shadow-of-shadow when kGaplessShadow is true\n- Update PrintAddressSpaceLayout to print the single-region layout.\n\nrdar://167657399\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1b63043a995e93c2eb85de572ce51529321d316c\n"
    },
    {
      "commit": "57df6b9acaf28017fe7336af51b594746f9391a4",
      "tree": "04bdafdddd8482f192b86d3eb86171e1b910151e",
      "parents": [
        "619e9871aec1d5ea8811b79b4ee0667ac784d545"
      ],
      "author": {
        "name": "Andrew Haberlandt",
        "email": "ahaberlandt@apple.com",
        "time": "Fri Oct 09 17:42:59 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 09 17:46:51 2026"
      },
      "message": "[sanitizer_common][Darwin] Add debug memory region support for iOS 27.0 (#217527)\n\nReplaces #216885 (but not from a fork so I can use stacked PRs)\n\niOS 27.0 bumps the address space from 36 to 39 bits on some devices, and\nreserves address space for sanitizer shadow memory which is unavailable\nto normal applications. This is the first of a series of PRs which\nupstreams support for this configuration.\n\n- Add `SANITIZER_IOSDEVICE` and `SANITIZER_EMBEDDED_VM_LAYOUT` macros\nfor physical devices / devices that support the 39-bit layout; bump\nDarwin iOS/ARM64 `SANITIZER_MMAP_RANGE_SIZE` from 36 to 39 bits on\nphysical devices.\n- Add `ActivateDebugMemory` / `DebugMemoryActive` and tag mmap\nallocations above `DARWIN_DEBUG_MEMORY_START` with `VM_MEMORY_DEBUG`\nwhen using the debug range; verify returned addresses fall within the\nexpected range.\n- Replace `GetAppReservedRanges` with `GetAppRanges`, populated from\nsysctls (on supported devices) which report what ranges are available to\napplications (and thus must be covered by shadow).\n- Extend `FindAvailableMemoryRange` with a `use_debug_vm` parameter and\nroute `MapDynamicShadow` through it when debug memory is active. This\ndiverges macOS\u0027s signature from the other platforms, so remove from\nsanitizer_common (it wasn\u0027t referenced in any shared code anyway)\n- Centralize `mach_vm_region_recurse` calls through\n`internal_mach_vm_region_recurse`, which fatals on `KERN_DENIED`.\n\nA subsequent PR will update ASAN to use a single, gapless shadow mapping\non iOS devices.\n\nrdar://167657399\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 80710909517e2c9385369abfadb72241b3447050\n"
    },
    {
      "commit": "619e9871aec1d5ea8811b79b4ee0667ac784d545",
      "tree": "6021e5d9ab7465294c15c4c1ae8d6be4f7fcbba4",
      "parents": [
        "07e14c79f85332895b3a669fb5f05d6b60fdcf7f"
      ],
      "author": {
        "name": "Fateme Hosseini",
        "email": "Fhossein@qti.qualcomm.com",
        "time": "Fri Oct 09 17:05:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 09 17:09:03 2026"
      },
      "message": "[Hexagon] Add v79 QFloat HVX runtime conversion funcs (#229481)\n\nAdd four assembly files for half-float to integer conversions using\nQFloat (qf16) on Hexagon V79.\n\nEach function provides IEEE round-to-nearest-even or fast\nround-half-away-from-zero conversion for signed and unsigned 8-bit and\n16-bit integer destinations.\n\nV79 lacks direct half-float to integer conversion. V75 and below have\nnative IEEE vcvt instructions,\nwhile V81 and newer have dedicated hardware support.\n\nCo-authored-by: Sumanth Gundapaneni \u003csgundapa@quicinc.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5a1dbdd2b16d36300c4e9a23d2b12b68ed9d8cde\n"
    },
    {
      "commit": "07e14c79f85332895b3a669fb5f05d6b60fdcf7f",
      "tree": "ec7b577b7610440a8a4954ebdc731971a362950d",
      "parents": [
        "430509da0d8ecfbd75a3065ec021fbe20b933ee4"
      ],
      "author": {
        "name": "Dan Blackwell",
        "email": "dan_blackwell@apple.com",
        "time": "Thu Oct 08 19:14:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 08 19:18:36 2026"
      },
      "message": "[sanitizer_common] Log a backtrace for unexpected format printf specifiers (#222658)\n\nOccasionally I find these warning messages in ASan logs, and it is not\nalways easy to track down their source. This patch logs a backtrace\nalong with the warning message in order to make them easier to locate.\n\nrdar://34028569\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 825a07ee6a6af50715d0e8c2a91cf8b74a5a12cd\n"
    },
    {
      "commit": "430509da0d8ecfbd75a3065ec021fbe20b933ee4",
      "tree": "3d69cb3cfe5daa1dd55ed320caabdd7a2c15d9ee",
      "parents": [
        "d129ef467025b3c97fbddc0462699ab01500f05c"
      ],
      "author": {
        "name": "Dan Blackwell",
        "email": "dan_blackwell@apple.com",
        "time": "Thu Oct 08 16:04:23 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 08 16:06:37 2026"
      },
      "message": "[Darwin][TSan][Test-only] Make flaky norace-objcxx-run-time.mm test diagnosable (#229931)\n\nThis test has been failing occasionally with only the hint \u0027exit 66\u0027 -\nit may be that the FileCheck is passing due to a TSan report being\nbefore the \u0027Done\u0027 log (and the CHECK-NOT being after it).\n\nThis patch replaces the CHECK-NOT with the --implicit-check-not lit\nshell flag, which should allow us to see the TSan error report if it\noccurs again. The patch also adjusts the barrier mechanisms.\n\nAssisted by: claude\n\nrdar://189381572\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9b1b27f859fab3aac81ef1d50848a1e394a08e15\n"
    },
    {
      "commit": "d129ef467025b3c97fbddc0462699ab01500f05c",
      "tree": "6e737359292c3ef7a65534183126f578aaf07673",
      "parents": [
        "f0a3e8ac326ab8f39c96fd45d5307f132960e665"
      ],
      "author": {
        "name": "Mauri de Souza Meneguzzo",
        "email": "mauri870@gmail.com",
        "time": "Thu Oct 08 03:40:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 08 03:48:47 2026"
      },
      "message": "[tsan][go] Relax alignment for 128-bit Go atomic args buffer access (#213123)\n\nThe Go 128-bit atomic helpers added by #196833 read and write the\n128-bit value through an a128* cast of the u8* args buffer (e.g.\n*(a128*)(a + 8)). Clang treats a128* as requiring 16-byte alignment and\nemits MOVAPS or MOVDQA on x86_64. The Go runtime only guarantees 8-byte\nalignment of the args buffer, so a+8 may not be 16-byte aligned. The\nmisaligned MOVAPS raises GP and causes a SIGSEGV.\n\nUse an 8-byte-aligned typedef (`using a128_u64 ALIGNED(8) \u003d a128;`) for\nargs buffer accesses so Clang emits unaligned 128-bit moves (MOVDQU).\nThe target address of the atomic operation itself (`*(a128**)a`) is\nalways 16-byte aligned from the Go side.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 87e28b1d520af114796d00e7e00cc613dca58108\n"
    },
    {
      "commit": "f0a3e8ac326ab8f39c96fd45d5307f132960e665",
      "tree": "f59c47a8898a0c5a75215315a64f0f1aeeb80224",
      "parents": [
        "845f37377b69550887e5bd5ba7a6b9289bc2ee34"
      ],
      "author": {
        "name": "Kostya Kortchinsky",
        "email": "kostya.kortchinsky@gmail.com",
        "time": "Thu Oct 08 02:35:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 08 02:43:05 2026"
      },
      "message": "[scudo] Validate list endpoints and links before removing a node (#229245)\n\n`DoublyLinkedList::remove()` currently modifies the predecessor\u0027s link\nbefore validating the successor\u0027s reciprocal link, and checks endpoint\nconsistency only in debug builds. A corrupted successor can therefore be\nrejected after a list write has already occurred, while inconsistent\nnull links can bypass endpoint checks in release builds.\n\nCheck that the list is nonempty, enforce endpoint consistency in release\nbuilds, and validate both reciprocal links before modifying any list\nstate. The production change is confined to `remove()`. This strengthens\nconsistency checks; it does not authenticate list membership or protect\nagainst mutually consistent forged interior nodes.\n\nTests cover all 24 removal orders of four nodes, plus empty-list\nremoval, both directions of endpoint inconsistency, and corrupted\nreciprocal links, using pointer and index links.\n\nLocal validation on Linux x86_64 in WSL, Clang 21.1.8:\n\n- Full `check-scudo_standalone` suites: debug checks enabled, 790 passed\n/ 44 skipped; release, 790 passed / 40 skipped; zero failures.\n- New regression tests fail against the original release header and pass\nagainst the modified header.\n- Standalone list tests passed 20 shuffled repetitions under ASan and\nUBSan.\n- A supplemental shared-memory harness confirmed that all seven failure\ncases leave list/node storage unchanged. The original implementation\nwrites before rejecting the corrupted-successor case.\n- `clang-format --dry-run --Werror` and `git diff --check` pass.\n\nA local `-O2` microbenchmark of `remove()` followed by `push_back()`\nmeasured median costs of 1.93 to 3.21 ns with one node and 2.06 to 3.62\nns with 64 nodes (about +67% and +76%). Six measured samples per\nvariant, 200 million operations per sample, alternating variants on one\npinned WSL CPU. This is a list-operation microbenchmark, not an\nend-to-end allocator measurement. Android, AArch64/MTE, and Fuchsia were\nnot run.\n\nAssisted-by: OpenAI Codex. This draft is for the author\u0027s review before\nrequesting maintainer review.\n\nCo-authored-by: Christopher Ferris \u003ccferris1000@users.noreply.github.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d19f7e853a369635d5fbd5fd8318110a45be1183\n"
    },
    {
      "commit": "845f37377b69550887e5bd5ba7a6b9289bc2ee34",
      "tree": "2112644474c18209a789b4c2539e8e6d4bbb0795",
      "parents": [
        "0993088f9aa21098fe77b717707e4b9c4edf86c7"
      ],
      "author": {
        "name": "Krzysztof Jędruczyk",
        "email": "kjedruczyk@bloomberg.net",
        "time": "Wed Oct 07 21:43:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 07 21:49:15 2026"
      },
      "message": "[sanitizer_common] Add tests for the C11 \u003cthreads.h\u003e functions (#229066)\n\n[sanitizer_common] Add tests for the C11 \u003cthreads.h\u003e functions\n\nPre-commits tests for #199585, as suggested there. Tests that reproduce\nthe problem marked `UNSUPPORTED:` for now.\n\nWith the `UNSUPPORTED:` lines removed, these fail on glibc 2.28 and\n2.34:\n\n| Test | Fails with |\n|---|---|\n| `c11_thrd.c` | tsan, msan, asan, lsan, hwasan |\n| `c11_mtx.c` | tsan |\n| `c11_cnd.c` | tsan |\n| `c11_call_once.c` | tsan |\n| `c11_tss.c` | msan |\n\nTwo findings beyond the original issue: ASan, LSan and HWASan report a\nfalse leak for memory held on the stack of a running `thrd_create`\u0027d\nthread, and MSan reports the key from `tss_create` as uninitialized, so\n`tss_*` is affected too.\n\nTested with clang 19 on glibc 2.28 and clang 17 on glibc 2.34, for asan,\nlsan, msan, tsan, ubsan and hwasan (x86-64 aliasing mode).\n\nassisted-by: claude\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d85b869314501fd446ff50b8a937eaa017d0ea62\n"
    },
    {
      "commit": "0993088f9aa21098fe77b717707e4b9c4edf86c7",
      "tree": "9b4f0e836d991bd619601cb617923649454bbc59",
      "parents": [
        "3bea54bf58339b80dbed38ec1737bf72395e195e"
      ],
      "author": {
        "name": "Austin Schuh",
        "email": "AustinSchuh@users.noreply.github.com",
        "time": "Wed Oct 07 21:38:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 07 21:41:52 2026"
      },
      "message": "[sanitizer_common] Intercept fortified __mem*_chk functions (#206702)\n\nWhen compiled with glibc\u0027s `_FORTIFY_SOURCE` enabled, calls to `memcpy`,\n`memmove`, `memset`, and `mempcpy` are lowered to their fortified\nvariants\n(`__memcpy_chk`, `__memmove_chk`, `__memset_chk`, and `__mempcpy_chk`).\n\nClang\u0027s instrumentation passes do not lower these fortified calls to\n`llvm.memcpy`/`llvm.memmove`/`llvm.memset` intrinsics. Without runtime\ninterceptors, sanitizers miss memory checks on fortified calls and MSan\nfails to\npropagate shadow and origin state, causing false-positive\nuse-of-uninitialized-value reports.\n\n---------\n\nSigned-off-by: Austin Schuh \u003caustin.linux@gmail.com\u003e\nCo-authored-by: Vitaly Buka \u003cvitalybuka@google.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c5783756c4be43c05006e702b60e0296648cd7c4\n"
    },
    {
      "commit": "3bea54bf58339b80dbed38ec1737bf72395e195e",
      "tree": "912c90e6ce5acc0eb9cffdb159a716334bb0b9f5",
      "parents": [
        "06e90a348ce17f935a3d69a2dab692bbd88f60dc"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Wed Oct 07 19:36:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 07 19:41:49 2026"
      },
      "message": "[compiler-rt] Limit Offload builds to only supported 64-bit targets (#229530)\n\nSummary:\nThere are no 32-bit supported offloading targets, we need to take the\nintersection of the supported targets for this common object library and\nwhat the user requested to get the actual list to build. Fixes an issue\nwhen building on 32-bit hosts.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d80a63a7d3fe713f25a5231b7c8e0d2826be8aee\n"
    },
    {
      "commit": "06e90a348ce17f935a3d69a2dab692bbd88f60dc",
      "tree": "5a2b140d36f01d128d8de280d85f58e6b58462d7",
      "parents": [
        "e79a15a5fcea6e844f1536de8f7ff98d99032c88"
      ],
      "author": {
        "name": "Matthew Nagy",
        "email": "matthew.nagy@sony.com",
        "time": "Wed Oct 07 09:35:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 07 09:42:02 2026"
      },
      "message": "[TySan] Make TySan compatible with sanitizer common interceptors (par… (#197688)\n\n…tial #183310 reland)\n\nPrevious attempt here https://github.com/llvm/llvm-project/pull/183310\nSome changes already added back here\nhttps://github.com/llvm/llvm-project/pull/192413/changes\n\nThis shouldn\u0027t cause the same issue on apple platforms that the last\ngo-around did, and sets TySan up to be able to run on Sanitizer Common\ntests and use its features.\n\n(Edit:) Specifically it allows TySan to use all common sanitizer\ninterceptors, and adds a little more code to help it use the common\nsanitizer features to handle deadly signals\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8ea9a49c19cfc6ace2f830521915aa0548ee0377\n"
    },
    {
      "commit": "e79a15a5fcea6e844f1536de8f7ff98d99032c88",
      "tree": "0c6eadf608f9b6b9464eaae3fc43d49adecbd9e7",
      "parents": [
        "dab7383c36378b9ad5b5cda50055b3b809facc73"
      ],
      "author": {
        "name": "Sam Elliott",
        "email": "aelliott@qti.qualcomm.com",
        "time": "Tue Oct 06 17:50:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 06 17:58:18 2026"
      },
      "message": "[RISCV][compiler-rt] Asm funcs should be hidden (#226633)\n\nThe C builtins are built with `-fvisibility\u003dhidden` when that option is\navailable, as the builtins are expected to be statically linked and not\ncalled across shared library boundaries.\n\nBefore this change, the assembly-written builtin implementations were\ndeclared with STV_DEFAULT visibility, meaning they would be visible\nacross shared library boundaries. This change moves them to being\ndeclared as STV_HIDDEN to fix this issue.\n\nIn particular, the save/restore routines are not normal functions and\ncannot be called via a PLT, so this fixes a bug there, and also applies\nit to the assembly multiply routine.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ccb7fb89fb7a8c9c5537803754a20b37fa3fb757\n"
    },
    {
      "commit": "dab7383c36378b9ad5b5cda50055b3b809facc73",
      "tree": "de4e4af0a9ffc1dc43c937365faad97b128aa22a",
      "parents": [
        "39797058cddd46c45e416ebd26dc26b78449bc22"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Tue Oct 06 17:40:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 06 17:48:09 2026"
      },
      "message": "[NFC][TSan] Remove nullptr location placeholders in ScopedReport (#228825)\n\n#151120 introduced AddedLocationAddr and nullptr placeholders in\nReportDesc::locs when deferring SymbolizeData(addr) from\nScopedReport::AddLocation to SymbolizeStackElems(). Because\nSymbolizeData is only reached at the end of AddLocation (which is called\nat most once per report), preserving placeholder indices in\nReportDesc::locs is unnecessary.\n\nReplace AddedLocationAddr and nullptr placeholders in ReportDesc::locs\nwith Vector\u003cuptr\u003e loc_addrs, and append symbolized data locations in\nScopedReport::SymbolizeStackElems() without needing a compaction pass.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6b42b7cf03b6d60c711bcbd76cb2ef0ece773ed2\n"
    },
    {
      "commit": "39797058cddd46c45e416ebd26dc26b78449bc22",
      "tree": "311de4c34e81480a7b478d767989fb284bfe2903",
      "parents": [
        "615ef461f6beb7a74bbeedce37d37302f718e4e6"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Tue Oct 06 17:18:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 06 17:23:30 2026"
      },
      "message": "[NFC][TSan] Remove redundant ThreadRegistryLock debug check in ShouldReport (#228815)\n\nShouldReport added an explicit SANITIZER_DEBUG ThreadRegistryLock probe\nin ed7bf7d73fa2 (https://reviews.llvm.org/D101517) when ThreadRegistry\nwas not tracked by CheckNoLocks(). Since d95baa98f34f\n(https://reviews.llvm.org/D116091), ThreadRegistry uses\nCheckedMutex(MutexThreadRegistry), which is already verified by\nCheckedMutex::CheckNoLocks() on the line above, making the\nThreadRegistryLock probe redundant.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ed32c3101cd4e01d2b8bfbf775c627dbd6fcb683\n"
    },
    {
      "commit": "615ef461f6beb7a74bbeedce37d37302f718e4e6",
      "tree": "93a0e0e8523041be1b1f8753bc478ec4dbae8249",
      "parents": [
        "e74862448a6e328a97b2d1a28ba55cc13e4387c0"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Tue Oct 06 16:11:07 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 06 16:21:13 2026"
      },
      "message": "[NFC][TSan] Lock ThreadRegistryLock inside ScopedReport::AddThread and AddLocation (#228814)\n\nAmong ScopedReport methods, only AddThread and AddLocation\n(via IsThreadStackOrTls) have ever accessed ctx-\u003ethread_registry;\nAddMemoryAccess, AddMutex, AddStack, AddSleep, AddUniqueTid, and\nSetCount only populate ScopedReport::rep_.\n\nNow that ScopedReport\u0027s constructor (#228614) and ReportRace (#228813)\nno longer require callers to hold ThreadRegistryLock, acquire\nThreadRegistryLock inside ScopedReport::AddThread and\nScopedReport::AddLocation instead of locking ctx-\u003ethread_registry in\neach caller around ScopedReport population.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 02f857fd64ffd081a5afc6087c19fa77eb2f240f\n"
    },
    {
      "commit": "e74862448a6e328a97b2d1a28ba55cc13e4387c0",
      "tree": "456403600282bb5ccb0870ad77831150b038b2a6",
      "parents": [
        "2baf1fa2e3c68fea95e8a844e00148868cabfe4c"
      ],
      "author": {
        "name": "Riyaz Ahmad",
        "email": "riyaz86a@gmail.com",
        "time": "Tue Oct 06 16:00:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 06 16:09:44 2026"
      },
      "message": "[compiler-rt][ubsan] Link -ldl in hsa-missing.cpp (#229343)\n\nhsa-missing.cpp calls dlsym() directly without linking -ldl, relying on\ndlsym being merged into libc (true on glibc \u003e\u003d 2.34, not on older\nglibc). This fails to link on older glibc:\n```\n  ld.lld: error: undefined symbol: dlsym\n```\nAdd -ldl explicitly, it is a no-op on newer glibc where libdl is kept as\nan empty compatibility stub.\n\nCo-authored-by: Riyaz Ahmad \u003criyaz.ahmad@ibm.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6246d8f76ab1e01b88c0920b7fdf428c04031b89\n"
    }
  ],
  "next": "2baf1fa2e3c68fea95e8a844e00148868cabfe4c"
}
