)]}'
{
  "log": [
    {
      "commit": "ccb557aeef9d06d907665336e219b3ff329d107d",
      "tree": "6bc83bfcaac37497f2ec96869013d5a39a9b8f3e",
      "parents": [
        "d27cbcd5b27bd35bc0367ecd15e0c53e1327a422"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Sat Oct 24 00:25:43 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 14:27:55 2026 -0700"
      },
      "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\nGitOrigin-RevId: 22db5ec393d1ce4b2a0cebd7494a248155c4dbb4\n"
    },
    {
      "commit": "d27cbcd5b27bd35bc0367ecd15e0c53e1327a422",
      "tree": "67e27a7c957d0b9ed5816b5d2868872b1714e712",
      "parents": [
        "9127749b1d40cf2aa4fb330d9f5691f8ea097ac3"
      ],
      "author": {
        "name": "Midhunesh",
        "email": "midhunesh.p@ibm.com",
        "time": "Fri Oct 23 21:51:57 2026 +0530"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 09:29:25 2026 -0700"
      },
      "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\nGitOrigin-RevId: e81aaf1a5f6391027d007f6e4370e07da0a2c239\n"
    },
    {
      "commit": "9127749b1d40cf2aa4fb330d9f5691f8ea097ac3",
      "tree": "98c607e3bc8aed07b1619027a0be5eef009daa52",
      "parents": [
        "d68f49e3dbfea72efc7bbe265bbd7e77758ba99d"
      ],
      "author": {
        "name": "hulxv",
        "email": "hulxxv@gmail.com",
        "time": "Fri Oct 23 18:26:10 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 08:33:45 2026 -0700"
      },
      "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\nGitOrigin-RevId: 421ef1fb76e9d66c2c781ebf045202bcb5489411\n"
    },
    {
      "commit": "d68f49e3dbfea72efc7bbe265bbd7e77758ba99d",
      "tree": "d0197b787a22b0aa791c20f2f512db55b043f00d",
      "parents": [
        "f16ef5f5ff091092e8f7756870e6176f1d5d062a"
      ],
      "author": {
        "name": "Zachary Yedidia",
        "email": "zyedidia@gmail.com",
        "time": "Wed Oct 21 19:53:53 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 19:57:23 2026 -0700"
      },
      "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\nGitOrigin-RevId: 987ee202905055120a44348af86ca878c4f55722\n"
    },
    {
      "commit": "f16ef5f5ff091092e8f7756870e6176f1d5d062a",
      "tree": "aac90d545724af46c56298fffe3832a7f2c07fdc",
      "parents": [
        "905ccc8d89e8fbb233d2304bb6e4835f0a19accc"
      ],
      "author": {
        "name": "Jake Adamson",
        "email": "17357301+Jake-The-Human@users.noreply.github.com",
        "time": "Wed Oct 21 09:01:27 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 09:10:04 2026 -0700"
      },
      "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\nGitOrigin-RevId: eb8cddbf1757653499264af4d701ebe8104002c9\n"
    },
    {
      "commit": "905ccc8d89e8fbb233d2304bb6e4835f0a19accc",
      "tree": "1c8f67632fca0783d3c219bb221b61db493d2684",
      "parents": [
        "41b569eb0f92d495a20a3752fabb8ff1081b709a"
      ],
      "author": {
        "name": "Andrew Haberlandt",
        "email": "ahaberlandt@apple.com",
        "time": "Wed Oct 21 08:50:38 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 08:59:03 2026 -0700"
      },
      "message": "[compiler-rt][Darwin] Disable the armv7* sanitizer slices for watchOS (#234051)\n\nGitOrigin-RevId: 0ee808527bc6db5ed37e4552e453c37ccb843f10\n"
    },
    {
      "commit": "41b569eb0f92d495a20a3752fabb8ff1081b709a",
      "tree": "e24210d4b8ab79d4cfa11c9acaf0cdca673cc748",
      "parents": [
        "758df52ac5d6c75a5c190899b092473d15a9066b"
      ],
      "author": {
        "name": "Chris Apple",
        "email": "cja-private@pm.me",
        "time": "Wed Oct 21 02:30:04 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 02:37:45 2026 -0700"
      },
      "message": "[rtsan] Add doxygen style docstrings to rtsan_interface (#232521)\n\nGitOrigin-RevId: f416107bab37e5ed59a051d2f7db47d6dcee3df8\n"
    },
    {
      "commit": "758df52ac5d6c75a5c190899b092473d15a9066b",
      "tree": "8bf0ec2b377ec8c6f195e019ba5de03e92dcaeb4",
      "parents": [
        "d680326ff52aaad55c8736e0d1fe83d8950c49b8"
      ],
      "author": {
        "name": "Fabrice de Gans",
        "email": "steelskin@gmail.com",
        "time": "Tue Oct 20 09:41:29 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 09:50:10 2026 -0700"
      },
      "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\nGitOrigin-RevId: 485d8acc48b3470465a642519b6ff6f8d8833d60\n"
    },
    {
      "commit": "d680326ff52aaad55c8736e0d1fe83d8950c49b8",
      "tree": "7a72de3c4864af3364fc25ba17f886228e96b278",
      "parents": [
        "679f4efa667ba144ede785d881f7bf1bbab68d89"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 19 22:08:54 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 22:12:03 2026 -0700"
      },
      "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\nGitOrigin-RevId: 507840df1908c80cf2bef518f55a2dc97dcdc9c1\n"
    },
    {
      "commit": "679f4efa667ba144ede785d881f7bf1bbab68d89",
      "tree": "f5f359a1edd3d692dddef5a9bb3a8ae225b6c94c",
      "parents": [
        "38770b08a965023acfbc8b335fbd5cdaf25ff3e9"
      ],
      "author": {
        "name": "Jared Duke",
        "email": "jdduke@google.com",
        "time": "Tue Oct 20 00:46:19 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 17:51:27 2026 -0700"
      },
      "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\nGitOrigin-RevId: 470fbd4326de41f94d6d2f6a786c61c0210e706c\n"
    },
    {
      "commit": "38770b08a965023acfbc8b335fbd5cdaf25ff3e9",
      "tree": "7c174e2ebde0706802eb6a032ed12d72afb395c7",
      "parents": [
        "4e3d2d59ca11212d8163e49e0947d2b6a35e5045"
      ],
      "author": {
        "name": "Midhunesh",
        "email": "midhunesh.p@ibm.com",
        "time": "Tue Oct 20 02:22:57 2026 +0530"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 13:59:36 2026 -0700"
      },
      "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\nGitOrigin-RevId: 52f8774eb9e46d20779d15d06f0b35590ac6ad49\n"
    },
    {
      "commit": "4e3d2d59ca11212d8163e49e0947d2b6a35e5045",
      "tree": "c8d2d22796d61140cb3990913b0bd331be19cc83",
      "parents": [
        "bed56f8e2b00201c86a883f48d5746505aeb03c9"
      ],
      "author": {
        "name": "Dave MacLachlan",
        "email": "dmaclach@gmail.com",
        "time": "Mon Oct 19 12:50:39 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 13:01:02 2026 -0700"
      },
      "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\nGitOrigin-RevId: 4a5dce020e8e66b4f816898378a45e52b1493ee5\n"
    },
    {
      "commit": "bed56f8e2b00201c86a883f48d5746505aeb03c9",
      "tree": "f0ddf3c33976aa313785538a10f927c12ee6f538",
      "parents": [
        "242e911ddcafa2cc6b4b395db198b7c52d8545fd"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Mon Oct 19 13:24:28 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 05:26:58 2026 -0700"
      },
      "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\nGitOrigin-RevId: 94ff2c9b178a6bc13f4ae7ca9e5e1f121063db89\n"
    },
    {
      "commit": "242e911ddcafa2cc6b4b395db198b7c52d8545fd",
      "tree": "2bd058a93a5f72e0d22dbfceabdb0c82832e9322",
      "parents": [
        "62fa3aa9f33ae8c33c94ea806d3be9f5fe02f31f"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Mon Oct 19 13:23:38 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 05:26:33 2026 -0700"
      },
      "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\nGitOrigin-RevId: 2e88a1ad5fad8127d542d1aaf4d1f79ec97f196a\n"
    },
    {
      "commit": "62fa3aa9f33ae8c33c94ea806d3be9f5fe02f31f",
      "tree": "49b61e2d4acfd23e8e4bf0c101899d535ae30612",
      "parents": [
        "fdb541fa8779325cb8b662a0ddaeae3bf3ace6dc"
      ],
      "author": {
        "name": "dong jianqiang",
        "email": "dongjianqiang2@huawei.com",
        "time": "Mon Oct 19 14:41:05 2026 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Oct 18 23:47:25 2026 -0700"
      },
      "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\nGitOrigin-RevId: 2ba23bea65f4f39712b6d17a6b4d06cc6656a5ee\n"
    },
    {
      "commit": "fdb541fa8779325cb8b662a0ddaeae3bf3ace6dc",
      "tree": "325ffab3ec605d64c967bf7022c15fd0d88bdc9e",
      "parents": [
        "c192bea1313606b3b498b7e959d35a55ace5df9b"
      ],
      "author": {
        "name": "Fabio D\u0027Urso",
        "email": "fdurso@google.com",
        "time": "Fri Oct 16 23:55:17 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 15:03:46 2026 -0700"
      },
      "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\nGitOrigin-RevId: 253634e58aefd780a2612980a53c24c61e78c99c\n"
    },
    {
      "commit": "c192bea1313606b3b498b7e959d35a55ace5df9b",
      "tree": "44295ddf1cacf6636d7db987967a1f1938477dde",
      "parents": [
        "e0772396cddaa230b217ccc864f849d9a1bf8acc"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris1000@users.noreply.github.com",
        "time": "Fri Oct 16 18:50:05 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 11:56:25 2026 -0700"
      },
      "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\nGitOrigin-RevId: 215725ffad83bd499ffca9381b3cace185522160\n"
    },
    {
      "commit": "e0772396cddaa230b217ccc864f849d9a1bf8acc",
      "tree": "b653cc6db877b4a2884daf1972205014913a955c",
      "parents": [
        "9f63929c4ef457f4aef5993db25eeb3d35745a1c"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Fri Oct 16 11:52:16 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 03:57:20 2026 -0700"
      },
      "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\nGitOrigin-RevId: 74f552986040715195f552a0b2c4d57ac1787e2e\n"
    },
    {
      "commit": "9f63929c4ef457f4aef5993db25eeb3d35745a1c",
      "tree": "7e13c7b177d68770fecb08a43f74173720acdd10",
      "parents": [
        "04e27d5478cf83ba4fd574c19392de7be89c39b5"
      ],
      "author": {
        "name": "Lukacma",
        "email": "Marian.Lukac@arm.com",
        "time": "Fri Oct 16 10:50:16 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 02:58:42 2026 -0700"
      },
      "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\nGitOrigin-RevId: ed169ffc341cb1326ead3b8e4a7ca05168d4545f\n"
    },
    {
      "commit": "04e27d5478cf83ba4fd574c19392de7be89c39b5",
      "tree": "73002e5b4a209b928114d0910e541ecfb46f2725",
      "parents": [
        "7477a882dd423ba92a72bf8c2c09c8f813698250"
      ],
      "author": {
        "name": "Dan Blackwell",
        "email": "dan_blackwell@apple.com",
        "time": "Thu Oct 15 15:57:44 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 15 16:01:20 2026 -0700"
      },
      "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\nGitOrigin-RevId: b389fb79d89397520569d669ed0b308a4b5209b3\n"
    },
    {
      "commit": "7477a882dd423ba92a72bf8c2c09c8f813698250",
      "tree": "e0a475612104090461b5ed5c70358762716c2425",
      "parents": [
        "9ebfa5b66c9a3721bd30b1b006cea0528b57dba8"
      ],
      "author": {
        "name": "Justin T. Gibbs",
        "email": "gibbs@meta.com",
        "time": "Thu Oct 15 11:01:01 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 15 11:09:00 2026 -0700"
      },
      "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\nGitOrigin-RevId: dc53f17c1413a76268b413bcf146887fb23b3de0\n"
    },
    {
      "commit": "9ebfa5b66c9a3721bd30b1b006cea0528b57dba8",
      "tree": "b10789955e65793d3962bd4398e7dca1c2d2a9b6",
      "parents": [
        "e94b4ed6838c331bef0b29ac7257dd9cf4767750"
      ],
      "author": {
        "name": "Andrew Lazarev",
        "email": "alazarev@google.com",
        "time": "Thu Oct 15 10:06:19 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 15 10:14:14 2026 -0700"
      },
      "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\nGitOrigin-RevId: 8171d29d0f73349d1df0f11dbb04565a3dfb5b10\n"
    },
    {
      "commit": "e94b4ed6838c331bef0b29ac7257dd9cf4767750",
      "tree": "8c6b0cca73b356768352c89529d49e5d28bd706c",
      "parents": [
        "9e1ade45095ae48cb150708d3548f96c13996cb2"
      ],
      "author": {
        "name": "David Anderson",
        "email": "89121871+dvandercorp@users.noreply.github.com",
        "time": "Wed Oct 14 16:44:00 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 14 16:47:05 2026 -0700"
      },
      "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\nGitOrigin-RevId: c6b016f0f11bd8f41b2ef596ff6a89ab5f2310d4\n"
    },
    {
      "commit": "9e1ade45095ae48cb150708d3548f96c13996cb2",
      "tree": "9895c832a69bbec8ef00bfbde6ca128bce52b675",
      "parents": [
        "431cc86befbf4df04bc23f1ef17418c48f2f3438"
      ],
      "author": {
        "name": "jinge90",
        "email": "ge.jin@intel.com",
        "time": "Thu Oct 15 07:40:22 2026 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 14 16:44:37 2026 -0700"
      },
      "message": "[libc][GPU] Directly build GPU libc file with name \u0027libc.bc\u0027 (#231755)\n\nGitOrigin-RevId: 59a6b711f9309609dbcae0167e65c2ca93290a41\n"
    },
    {
      "commit": "431cc86befbf4df04bc23f1ef17418c48f2f3438",
      "tree": "c65028d0b867110fbbf81bfde7a6d5c90c91a503",
      "parents": [
        "714c260024270b62d82215d6d3b40dedcf4feed0"
      ],
      "author": {
        "name": "Jake Egan",
        "email": "Jake.egan@ibm.com",
        "time": "Wed Oct 14 19:37:15 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 14 16:43:41 2026 -0700"
      },
      "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\nGitOrigin-RevId: e5aa0c52dda1d6531b72139a61507b4ad612b5f9\n"
    },
    {
      "commit": "714c260024270b62d82215d6d3b40dedcf4feed0",
      "tree": "680063ea5779edc85dafb4e1b1322e5953b25670",
      "parents": [
        "f74eb701fe3e34391151e77b648aa8f9db04775d"
      ],
      "author": {
        "name": "Justin T. Gibbs",
        "email": "gibbs@meta.com",
        "time": "Wed Oct 14 13:04:25 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 14 13:08:13 2026 -0700"
      },
      "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\nGitOrigin-RevId: fb3cebfe5d7bf3af2cb1d5a598d7ef01d3b8477c\n"
    },
    {
      "commit": "f74eb701fe3e34391151e77b648aa8f9db04775d",
      "tree": "178864f9bc4488827821f5ed8261cd6ec1ee5e30",
      "parents": [
        "0eb45034e3acaf43e885d26e4e74f619735cdb4d"
      ],
      "author": {
        "name": "Justin T. Gibbs",
        "email": "gibbs@meta.com",
        "time": "Wed Oct 14 06:04:57 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 13 22:13:46 2026 -0700"
      },
      "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\nGitOrigin-RevId: 065c4d4848acfefc235d662ed2c344ae17f4579b\n"
    },
    {
      "commit": "0eb45034e3acaf43e885d26e4e74f619735cdb4d",
      "tree": "0aa626e07096c8199bd4f79978300a7310f16467",
      "parents": [
        "24f81de9f66e63df0ff33773a74328ba055a3b7f"
      ],
      "author": {
        "name": "PiJoules",
        "email": "leonardchan@google.com",
        "time": "Mon Oct 12 17:28:18 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 12 17:32:04 2026 -0700"
      },
      "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\nGitOrigin-RevId: c951fe67092508562c8ac74d619765680aec3183\n"
    },
    {
      "commit": "24f81de9f66e63df0ff33773a74328ba055a3b7f",
      "tree": "47f8df6722f9165507bc74fa0b9d35c9b2b3b62c",
      "parents": [
        "ed54a1e7d766aee3443bedd02b6c2cd4cd092de3"
      ],
      "author": {
        "name": "Sharjeel Khan",
        "email": "sharjeelkhan@google.com",
        "time": "Mon Oct 12 18:53:53 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 12 15:57:37 2026 -0700"
      },
      "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\nGitOrigin-RevId: c5a8ee04c5cbd8bbd7019b25026eeb466a1276c6\n"
    },
    {
      "commit": "ed54a1e7d766aee3443bedd02b6c2cd4cd092de3",
      "tree": "5aadf843776801c45e655624889365c8ce5193cf",
      "parents": [
        "2f81e57b515d6154359ae39dadc30a8a5adc022c"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 12 12:57:45 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 12 13:03:29 2026 -0700"
      },
      "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\nGitOrigin-RevId: 6a3f59517af649d9567a10be114d60cb75ff6050\n"
    },
    {
      "commit": "2f81e57b515d6154359ae39dadc30a8a5adc022c",
      "tree": "cc5daa791484dbb21be54eaeed997e0ae30c76b5",
      "parents": [
        "d1e64b6a13120799db4fee019e8dc8863ae8261e"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Mon Oct 12 11:56:58 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 12 04:02:58 2026 -0700"
      },
      "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\nGitOrigin-RevId: 17263251e97cfd88a27fe5f5c0edb03e87012d0c\n"
    },
    {
      "commit": "d1e64b6a13120799db4fee019e8dc8863ae8261e",
      "tree": "546f385913f5193ee7308cb14f5067ab9576abad",
      "parents": [
        "6ee8d80b645edc2d5c67c6d135c11313d4af0308"
      ],
      "author": {
        "name": "Trevor Gross",
        "email": "tg@trevorgross.com",
        "time": "Sun Oct 11 18:23:25 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Oct 11 16:29:11 2026 -0700"
      },
      "message": "[compiler-rt] Restrict __gnu_h2f_ieee and __gnu_f2h_ieee to arm32 EABI (#220170)\n\nGitOrigin-RevId: ce2a4984a3f43327a2b7c40baa74907bc10eb899\n"
    },
    {
      "commit": "6ee8d80b645edc2d5c67c6d135c11313d4af0308",
      "tree": "c2a4cce13fae677561fd26416ac518d3507a31a3",
      "parents": [
        "d46577220cb9935e63f07e6a006092b3cb12b467"
      ],
      "author": {
        "name": "Fangrui Song",
        "email": "i@maskray.me",
        "time": "Sun Oct 11 10:21:57 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Oct 11 10:27:03 2026 -0700"
      },
      "message": "[test] Remove empty --correlate from instrprof-binary-correlate-debuginfod.c (#231013)\n\n#230883 removed the empty-string --correlate value.\n\nGitOrigin-RevId: 556e75933c7dc077ff30f876c8ec35fe7f4ca2a3\n"
    },
    {
      "commit": "d46577220cb9935e63f07e6a006092b3cb12b467",
      "tree": "218440f8979cc38b655a6b2bc0306822abf52a52",
      "parents": [
        "3ce2b985b98622fcf8e44820062e02f9023b48d8"
      ],
      "author": {
        "name": "Yaxun (Sam) Liu",
        "email": "yaxun.liu@amd.com",
        "time": "Sat Oct 10 10:43:00 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 10 07:48:27 2026 -0700"
      },
      "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\nGitOrigin-RevId: 762316e293d1db4f495bdbb545c31d588a1a2d62\n"
    },
    {
      "commit": "3ce2b985b98622fcf8e44820062e02f9023b48d8",
      "tree": "aa6a913d37e914f49ed4d87b2b66dc5b40e88184",
      "parents": [
        "7f6605a088d000c1acf8cb8a4dc894ddc73154d8"
      ],
      "author": {
        "name": "Kostya Kortchinsky",
        "email": "kostya.kortchinsky@gmail.com",
        "time": "Fri Oct 09 18:28:26 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 09 18:32:09 2026 -0700"
      },
      "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.\nGitOrigin-RevId: acd27dbc4ae293113fcddab8576e17ab06299d0c\n"
    },
    {
      "commit": "7f6605a088d000c1acf8cb8a4dc894ddc73154d8",
      "tree": "0559fae2cb1bfbbd9fe2561815dd7c0454a69d79",
      "parents": [
        "a24215c4aa3b582c0e28a958a50cb42cbd30b83f"
      ],
      "author": {
        "name": "Andrew Haberlandt",
        "email": "ahaberlandt@apple.com",
        "time": "Fri Oct 09 15:20:41 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 09 15:29:17 2026 -0700"
      },
      "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\nGitOrigin-RevId: 392106d01488168a260f8698da73adac9bc129de\n"
    },
    {
      "commit": "a24215c4aa3b582c0e28a958a50cb42cbd30b83f",
      "tree": "f5bddaee59f1c7eaece3c7f59cb1ed6923b99dad",
      "parents": [
        "456dfb97d595b26d01684e78836e0ac9336638be"
      ],
      "author": {
        "name": "Justin T. Gibbs",
        "email": "gibbs@meta.com",
        "time": "Fri Oct 09 20:40:35 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 09 12:48:07 2026 -0700"
      },
      "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\nGitOrigin-RevId: b777bb47061b85a2c8599afe7e357b218d1f6886\n"
    },
    {
      "commit": "456dfb97d595b26d01684e78836e0ac9336638be",
      "tree": "2cf72d4ddd5ec471ecf859193843118fb2a34f8d",
      "parents": [
        "8314a6a0eb8cbc23ddd9f87df4200bc3a78555e3"
      ],
      "author": {
        "name": "Andrew Haberlandt",
        "email": "ahaberlandt@apple.com",
        "time": "Fri Oct 09 10:43:01 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 09 10:47:37 2026 -0700"
      },
      "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\nGitOrigin-RevId: 1b63043a995e93c2eb85de572ce51529321d316c\n"
    },
    {
      "commit": "8314a6a0eb8cbc23ddd9f87df4200bc3a78555e3",
      "tree": "04bdafdddd8482f192b86d3eb86171e1b910151e",
      "parents": [
        "ce581cb3b51ab9092bfc3847bc3b575debec5426"
      ],
      "author": {
        "name": "Andrew Haberlandt",
        "email": "ahaberlandt@apple.com",
        "time": "Fri Oct 09 10:42:59 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 09 10:47:11 2026 -0700"
      },
      "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\nGitOrigin-RevId: 80710909517e2c9385369abfadb72241b3447050\n"
    },
    {
      "commit": "ce581cb3b51ab9092bfc3847bc3b575debec5426",
      "tree": "6021e5d9ab7465294c15c4c1ae8d6be4f7fcbba4",
      "parents": [
        "552b092d9af826ea3ea84f1b4536ff54162ac149"
      ],
      "author": {
        "name": "Fateme Hosseini",
        "email": "Fhossein@qti.qualcomm.com",
        "time": "Fri Oct 09 12:05:00 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 09 10:08:56 2026 -0700"
      },
      "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\nGitOrigin-RevId: 5a1dbdd2b16d36300c4e9a23d2b12b68ed9d8cde\n"
    },
    {
      "commit": "552b092d9af826ea3ea84f1b4536ff54162ac149",
      "tree": "ec7b577b7610440a8a4954ebdc731971a362950d",
      "parents": [
        "68eae2a5c69983d67bb2fd28039bcf1ceb515b81"
      ],
      "author": {
        "name": "Dan Blackwell",
        "email": "dan_blackwell@apple.com",
        "time": "Thu Oct 08 12:14:36 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 08 12:19:34 2026 -0700"
      },
      "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\nGitOrigin-RevId: 825a07ee6a6af50715d0e8c2a91cf8b74a5a12cd\n"
    },
    {
      "commit": "68eae2a5c69983d67bb2fd28039bcf1ceb515b81",
      "tree": "3d69cb3cfe5daa1dd55ed320caabdd7a2c15d9ee",
      "parents": [
        "dbe91812c51aeb9586f8145c082edfc239a62c37"
      ],
      "author": {
        "name": "Dan Blackwell",
        "email": "dan_blackwell@apple.com",
        "time": "Thu Oct 08 09:04:23 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 08 09:10:06 2026 -0700"
      },
      "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\nGitOrigin-RevId: 9b1b27f859fab3aac81ef1d50848a1e394a08e15\n"
    },
    {
      "commit": "dbe91812c51aeb9586f8145c082edfc239a62c37",
      "tree": "6e737359292c3ef7a65534183126f578aaf07673",
      "parents": [
        "8b2b4b8fd1e3618309e4851db1ad37101f49cf25"
      ],
      "author": {
        "name": "Mauri de Souza Meneguzzo",
        "email": "mauri870@gmail.com",
        "time": "Thu Oct 08 00:40:35 2026 -0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 07 20:47:47 2026 -0700"
      },
      "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\nGitOrigin-RevId: 87e28b1d520af114796d00e7e00cc613dca58108\n"
    },
    {
      "commit": "8b2b4b8fd1e3618309e4851db1ad37101f49cf25",
      "tree": "f59c47a8898a0c5a75215315a64f0f1aeeb80224",
      "parents": [
        "161c49578cc82d0f1ceef9e7f78c6618b7559f21"
      ],
      "author": {
        "name": "Kostya Kortchinsky",
        "email": "kostya.kortchinsky@gmail.com",
        "time": "Wed Oct 07 19:35:36 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 07 19:41:48 2026 -0700"
      },
      "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\nGitOrigin-RevId: d19f7e853a369635d5fbd5fd8318110a45be1183\n"
    },
    {
      "commit": "161c49578cc82d0f1ceef9e7f78c6618b7559f21",
      "tree": "2112644474c18209a789b4c2539e8e6d4bbb0795",
      "parents": [
        "b646264be03c4786eae14e49682541de3963c8d5"
      ],
      "author": {
        "name": "Krzysztof Jędruczyk",
        "email": "kjedruczyk@bloomberg.net",
        "time": "Wed Oct 07 22:43:53 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 07 14:47:00 2026 -0700"
      },
      "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\nGitOrigin-RevId: d85b869314501fd446ff50b8a937eaa017d0ea62\n"
    },
    {
      "commit": "b646264be03c4786eae14e49682541de3963c8d5",
      "tree": "9b4f0e836d991bd619601cb617923649454bbc59",
      "parents": [
        "3847255daf8d1cc8031d66747db4f49fa188d5da"
      ],
      "author": {
        "name": "Austin Schuh",
        "email": "AustinSchuh@users.noreply.github.com",
        "time": "Wed Oct 07 14:38:09 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 07 14:40:27 2026 -0700"
      },
      "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\nGitOrigin-RevId: c5783756c4be43c05006e702b60e0296648cd7c4\n"
    },
    {
      "commit": "3847255daf8d1cc8031d66747db4f49fa188d5da",
      "tree": "912c90e6ce5acc0eb9cffdb159a716334bb0b9f5",
      "parents": [
        "99fc62493f0135ed1b2a10f4ba1167479e0a3a4c"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Wed Oct 07 14:36:47 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 07 12:42:00 2026 -0700"
      },
      "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.\nGitOrigin-RevId: d80a63a7d3fe713f25a5231b7c8e0d2826be8aee\n"
    },
    {
      "commit": "99fc62493f0135ed1b2a10f4ba1167479e0a3a4c",
      "tree": "5a2b140d36f01d128d8de280d85f58e6b58462d7",
      "parents": [
        "aed14c17eeac7722f3aa214ce1c214e683ce6409"
      ],
      "author": {
        "name": "Matthew Nagy",
        "email": "matthew.nagy@sony.com",
        "time": "Wed Oct 07 10:35:53 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 07 02:41:57 2026 -0700"
      },
      "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\nGitOrigin-RevId: 8ea9a49c19cfc6ace2f830521915aa0548ee0377\n"
    },
    {
      "commit": "aed14c17eeac7722f3aa214ce1c214e683ce6409",
      "tree": "0c6eadf608f9b6b9464eaae3fc43d49adecbd9e7",
      "parents": [
        "51d3032ef1c65c02ae5ae8b2fbe86d02f0d1c276"
      ],
      "author": {
        "name": "Sam Elliott",
        "email": "aelliott@qti.qualcomm.com",
        "time": "Tue Oct 06 10:50:36 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 06 10:57:14 2026 -0700"
      },
      "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\nGitOrigin-RevId: ccb7fb89fb7a8c9c5537803754a20b37fa3fb757\n"
    },
    {
      "commit": "51d3032ef1c65c02ae5ae8b2fbe86d02f0d1c276",
      "tree": "de4e4af0a9ffc1dc43c937365faad97b128aa22a",
      "parents": [
        "3a5f67b789c2e2321dd8ad5d188de35fa68eb3c9"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Tue Oct 06 10:40:46 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 06 10:47:39 2026 -0700"
      },
      "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\nGitOrigin-RevId: 6b42b7cf03b6d60c711bcbd76cb2ef0ece773ed2\n"
    },
    {
      "commit": "3a5f67b789c2e2321dd8ad5d188de35fa68eb3c9",
      "tree": "311de4c34e81480a7b478d767989fb284bfe2903",
      "parents": [
        "728674edce2251339824356f80c17d594d3f9585"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Tue Oct 06 10:18:41 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 06 10:24:07 2026 -0700"
      },
      "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\nGitOrigin-RevId: ed32c3101cd4e01d2b8bfbf775c627dbd6fcb683\n"
    },
    {
      "commit": "728674edce2251339824356f80c17d594d3f9585",
      "tree": "93a0e0e8523041be1b1f8753bc478ec4dbae8249",
      "parents": [
        "f4a2e7c2054aa61c2aa2124d22959833170ea439"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Tue Oct 06 09:11:07 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 06 09:18:11 2026 -0700"
      },
      "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\nGitOrigin-RevId: 02f857fd64ffd081a5afc6087c19fa77eb2f240f\n"
    },
    {
      "commit": "f4a2e7c2054aa61c2aa2124d22959833170ea439",
      "tree": "456403600282bb5ccb0870ad77831150b038b2a6",
      "parents": [
        "7a3b1cd90314bf2c23c1fee7c8628c465a9b332c"
      ],
      "author": {
        "name": "Riyaz Ahmad",
        "email": "riyaz86a@gmail.com",
        "time": "Tue Oct 06 21:30:43 2026 +0530"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 06 09:07:18 2026 -0700"
      },
      "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\nGitOrigin-RevId: 6246d8f76ab1e01b88c0920b7fdf428c04031b89\n"
    },
    {
      "commit": "7a3b1cd90314bf2c23c1fee7c8628c465a9b332c",
      "tree": "ad3d4dad00e29ed2146396e046a3e1b07b0e23e8",
      "parents": [
        "49d482b320d413160a4b802bbfac7de71ec1203b"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Tue Oct 06 08:46:45 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 06 08:56:24 2026 -0700"
      },
      "message": "[NFC][TSan] Use ScopedReport::AddThread(Tid) in ReportRace (#228813)\n\nInline FindThreadByTidLocked into ScopedReport::AddThread(Tid) and\nenable it on Go so ReportRace can call rep.AddThread(tid) directly\ninstead of manually looking up ThreadContext via GetThreadLocked.\n\nAssisted-by: Gemini\nGitOrigin-RevId: a63780f65f92e2d3796547fd84bce06f70e911c7\n"
    },
    {
      "commit": "49d482b320d413160a4b802bbfac7de71ec1203b",
      "tree": "b3d43926035b12c98986e8bef980c926d8eb17da",
      "parents": [
        "167490f8fd5e8f5dc83a2bccf1fbc4c36154a8e3"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Tue Oct 06 00:21:08 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 06 00:28:52 2026 -0700"
      },
      "message": "[NFC][TSan] Remove unnecessary ThreadRegistryLock in signal and mutex-held reports (#228812)\n\nAddStack, AddMutex, and SetSigNum have never accessed thread_registry\n(they only modify ScopedReport::rep_, and thr-\u003emset belongs to the\ncurrent thread).\n\nSignalUnsafeCall and ReportErrnoSpoiling only locked thread_registry\nbecause c1a1517a3765 added CheckLocked() to ScopedReport\u0027s constructor\n(and ReportMutexHeldWrongContext copied that pattern in #71568). Now\nthat #228614 moved ScopedReport construction out of ThreadRegistryLock\n(and #228811 moved IsFiredSuppression before ScopedReport in\nReportErrnoSpoiling), nothing in these three functions requires\nThreadRegistryLock.\n\nAssisted-by: Gemini\nGitOrigin-RevId: c428394b7e2d69825ab276a5f332eb0f25cef2fc\n"
    },
    {
      "commit": "167490f8fd5e8f5dc83a2bccf1fbc4c36154a8e3",
      "tree": "a5339987c047bcfd6e995757cd748d1ad229795e",
      "parents": [
        "677f0dca05d52eadf67b7cd689de453f61ef7df4"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 05 23:37:47 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 05 23:42:26 2026 -0700"
      },
      "message": "[NFC][TSan] Check IsFiredSuppression before ScopedReport in ReportErrnoSpoiling (#228811)\n\nCheck IsFiredSuppression(ctx, ReportTypeErrnoInSignal, stack) and return\nearly before constructing ScopedReport in ReportErrnoSpoiling (matching\nSignalUnsafeCall and ReportRace). This avoids acquiring\nScopedErrorReportLock and ThreadRegistryLock for already-suppressed\nreports.\n\nAssisted-by: Gemini\nGitOrigin-RevId: 5e4fd05e568108af305ec70925fdc0df13c19c78\n"
    },
    {
      "commit": "677f0dca05d52eadf67b7cd689de453f61ef7df4",
      "tree": "3ac63ccb8ea384418231e6ebd9e0b3241fc8bb70",
      "parents": [
        "b3afe3dd7ab0493eac07eb1172775c2e97839372"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 05 23:18:45 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 05 23:24:29 2026 -0700"
      },
      "message": "[TSan] Defer symbolization in AddStack and AddSleep to SymbolizeStackElems (#228795)\n\n#151120 delayed symbolization for memory accesses, locations, threads,\nand mutexes until OutputReport (which #151495 and #228554 moved after\nThreadRegistryLock is released), but missed ScopedReport::AddStack and\nScopedReport::AddSleep. As a result, ReportRace (via AddSleep) and\nReportMutexMisuse, ReportDeadlock, and ReportDestroyLocked (via\nAddStack) still invoked the symbolizer while holding ThreadRegistryLock.\n\nStore the unsymbolized stack traces and sleep stack ID in ReportDesc and\nsymbolize them in ScopedReport::SymbolizeStackElems().\n\nAssisted-by: Gemini\nGitOrigin-RevId: 496a4243b402766df82d47af628c54251f2fc130\n"
    },
    {
      "commit": "b3afe3dd7ab0493eac07eb1172775c2e97839372",
      "tree": "f67be8101cbb3bdc61c1fed78b406799698ac55d",
      "parents": [
        "d3e2737b62d09f46ce04d0dae492eb1097aded3c"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 05 22:52:49 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 05 22:57:37 2026 -0700"
      },
      "message": "[NFC][TSan] Allocate ScopedReport as a stack variable (#228637)\n\nNow that ScopedReport is constructed before acquiring ThreadRegistryLock\nor slot locks across all reporting functions (#228614), it no longer\nneeds to be constructed inside the lock scope via placement new on\n__builtin_alloca storage (introduced in #151495).\n\nDeclare ScopedReport as a normal stack variable before the lock scope\nand remove the manual destructor calls.\n\nAssisted-by: Gemini\nGitOrigin-RevId: 695d0e1f2a7db707b3c305bd6534d26331d02d87\n"
    },
    {
      "commit": "d3e2737b62d09f46ce04d0dae492eb1097aded3c",
      "tree": "4977dea68fd1c7fce951d7067b4bb4d81c4da66a",
      "parents": [
        "46e8893d2ea04c621c148495e2352897550886f9"
      ],
      "author": {
        "name": "Riyaz Ahmad",
        "email": "riyaz86a@gmail.com",
        "time": "Tue Oct 06 10:52:38 2026 +0530"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 05 22:28:47 2026 -0700"
      },
      "message": "[compiler-rt][asan] Allow optional leading dot in function names in complete_stack_trace.c (#227969)\n\nOn AIX/XCOFF, the symbolizer reports function names with a leading dot\n(\u0027.\u0027) because each function\u0027s executable code is stored in a separate\n`.\u003cfuncname\u003e` csect (the text-section entry point symbol). For example,\n`read_2` is reported as `.read_2`.\n\nThe existing CHECK patterns required an exact match on the bare name,\ncausing the test to fail on AIX:\n\n```\n  expected: {{ *#1 0x.* in read_2 .*complete_stack_trace.c}}\n  actual:   #1 0x... in .read_2 complete_stack_trace.c:23\n```\n\nUse `\\.?` inside the FileCheck regex blocks to make the leading dot\noptional, matching both ELF (bare name) and XCOFF (dot-prefixed name)\nsymbolizer output.\n\nCo-authored-by: Riyaz Ahmad \u003criyaz.ahmad@ibm.com\u003e\nGitOrigin-RevId: 4693dfb68fb0af07ff06078f96993a07d4242c96\n"
    },
    {
      "commit": "46e8893d2ea04c621c148495e2352897550886f9",
      "tree": "d6700593c2c98c240a991d3963ce8f9f50606e67",
      "parents": [
        "e94e4dd96849c0e11186fe09fc210abd6198e64d"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 05 21:54:57 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 05 22:02:46 2026 -0700"
      },
      "message": "[TSan] Lock ScopedErrorReportLock before slot and thread_registry locks (#228614)\n\nSince #151495 and #228554, OutputReport runs while\nScopedErrorReportLock is held after slot_mtx and thread_registry have\nbeen unlocked. Because code executed during OutputReport (symbolizer,\ncallbacks, or signal handlers) can acquire slot_mtx or thread_registry,\nScopedErrorReportLock must precede slot and thread_registry locks in the\nlock hierarchy to avoid AB-BA deadlocks between concurrent reports or\nfork().\n\n- Move ScopedErrorReportLock::Lock() before slot.mtx, thread_registry,\n  and slot_mtx in ForkBefore (and unlock in reverse order in ForkAfter).\n- Replace ctx-\u003ethread_registry.CheckLocked() in ScopedReport\u0027s\n  constructor with CheckedMutex::CheckNoLocks(), and add CheckLocked()\n  to AddThread(const ThreadContext *) and CheckNoLocks() to\n  OutputReport.\n- Construct ScopedReport before acquiring ThreadRegistryLock across all\n  reporting functions, and close the RestoreStack lock scope before\n  constructing ScopedReport in ReportRace.\n\nAssisted-by: Gemini\nGitOrigin-RevId: 78c158c7b7dd1b4f36b56aee3aafb3821ac56e37\n"
    },
    {
      "commit": "e94e4dd96849c0e11186fe09fc210abd6198e64d",
      "tree": "b543cfd8bae660976c19a192987982ad680891bc",
      "parents": [
        "4ebb70a28e21f5dcfc49159164327cef9e0aae3f"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 05 19:58:41 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 05 20:04:27 2026 -0700"
      },
      "message": "[NFC][TSan] Move ObtainCurrentStack out of ThreadRegistryLock scope (#228794)\n\nObtainCurrentStack only reads the current thread\u0027s shadow stack and\nallocates a VarSizeStackTrace buffer, which does not require\nThreadRegistryLock (and already runs outside ThreadRegistryLock in\nReportRace, SignalUnsafeCall, and ReportErrnoSpoiling).\n\nMove ObtainCurrentStack (and dummy_pc in ReportDeadlock) before\nScopedReport in ReportMutexHeldWrongContext, ReportMutexMisuse,\nReportDeadlock, and ReportDestroyLocked so the stack trace buffers also\noutlive ScopedReport and OutputReport (needed by #228795).\n\nAssisted-by: Gemini\nGitOrigin-RevId: f42afb122770a094d85353f7adab57e0a750da17\n"
    },
    {
      "commit": "4ebb70a28e21f5dcfc49159164327cef9e0aae3f",
      "tree": "f9eb723b97836afea975591d9c2f66f7568172a0",
      "parents": [
        "018bb61cab6afd680aab3cfd39f8cab8c18a632e"
      ],
      "author": {
        "name": "TERESH1",
        "email": "svyatoslavtereshin@yandex.ru",
        "time": "Tue Oct 06 05:36:42 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 05 19:43:58 2026 -0700"
      },
      "message": "[libFuzzer] Stop fuzzing if no new corpus were found within a specified period (#176177)\n\nThis patch adds a new command-line option `-stale_corpus_timeout\u003dN`\nwhich allows you to specify that the fuzzer should exit if it hasn\u0027t\nfound a new corpus within a certain amount of time. It also adds to\nstats how many seconds a new path has not been found. An analog of\n`AFL_EXIT_ON_TIME`.\n\nGitOrigin-RevId: af2d76922b54fc347faac9727b0748387fea043f\n"
    },
    {
      "commit": "018bb61cab6afd680aab3cfd39f8cab8c18a632e",
      "tree": "0e8e24ceb06e0580ad1e3759d86502f8dac1cf2f",
      "parents": [
        "5f00bf696d74cfbb6c62453d318e53e82190e9f6"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 05 19:25:22 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 05 19:33:44 2026 -0700"
      },
      "message": "[NFC][TSan] Use in-class member initializers in tsan_report.h (#228780)\n\nUse in-class member initializers for all structs and classes in\ntsan_report.h and default constructors and destructor in\ntsan_report.cpp.\n\nAssisted-by: Gemini\nGitOrigin-RevId: 197fb4b24a5a97a7205e22ceb4a804201b3f11a6\n"
    },
    {
      "commit": "5f00bf696d74cfbb6c62453d318e53e82190e9f6",
      "tree": "5222da10e4c5ce6235a6bba164c6a14801f00602",
      "parents": [
        "ee86449e4f7c349dbb05165d0a1b004f9e8fd297"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 05 16:52:27 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 05 16:59:10 2026 -0700"
      },
      "message": "[NFC][lsan] Disable HWASan on key_destructor in detached_thread_dlsym.c (#229266)\n\nTest-only change fixing the test added in\nhttps://github.com/llvm/llvm-project/pull/228930.\n\nIn `detached_thread_dlsym.c`, `key_destructor` intentionally runs on the\nfinal (`PTHREAD_DESTRUCTOR_ITERATIONS`) TSD destruction pass after\n`HwasanTSDDtor` has called `Thread::Destroy()` and zeroed\n`__hwasan_tls`.\n\nMark `key_destructor` with `__attribute__((no_sanitize(\"hwaddress\")))`.\n\nFixes https://lab.llvm.org/buildbot/#/builders/51/builds/45276.\n\nAssisted-by: Gemini\nGitOrigin-RevId: 179a0ccec95b37951a45c90d8197de3496e57d35\n"
    },
    {
      "commit": "ee86449e4f7c349dbb05165d0a1b004f9e8fd297",
      "tree": "943a0b311d198a0edffc271123a4c0c3a2cce0eb",
      "parents": [
        "13d10886e07e6693aab1a3e4378d84b18accb0f1"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Mon Oct 05 15:29:12 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 05 15:32:38 2026 -0700"
      },
      "message": "[sanitizer] Clear pending dlerror on thread exit before unregistering (#228930)\n\nStarting with glibc 2.34\n(https://sourceware.org/git/?p\u003dglibc.git;h\u003dfada9018199c), failed dlfcn\ncalls store a per-thread error struct in TLS (__libc_dlerror_result)\ninstead of a pthread_key_t, and free it in __libc_thread_freeres() after\nall pthread TSD destructors have completed.\n\nBecause ASan, LSan, and HWASan unregister the exiting thread in their\npthread TSD destructors during __nptl_deallocate_tsd(), LSan stops\nscanning that thread\u0027s TLS before __libc_thread_freeres() frees\n__libc_dlerror_result. If a leak check runs in that window (for example,\nwhen the main thread exits while a detached worker thread is finishing)\nand libc debug symbols are not installed to match the default *dlerror*\nsuppression on _dlerror_run, LSan reports a false positive leak from\ndlsym/dlopen.\n\nThis manifests as flaky (~3% failure rate) LSan leaks on\n`LLVM :: ExecutionEngine/JITLink/x86-64/` tests on\n`sanitizer-*-linux-bootstrap-asan` and `sanitizer-x86_64-linux-fast`\nbuildbots, exposed after re-enabling `ExecutionEngine` tests under ASan\nin\nhttps://github.com/llvm/llvm-zorg/pull/971 (reverting\nhttps://github.com/llvm/llvm-zorg/pull/823; see #186534).\n\nCall `dlerror()` twice before unregistering the exiting thread so glibc\nfrees its per-thread dlerror buffer while the thread is still tracked.\n\nAssisted-by: Gemini\nGitOrigin-RevId: ca650f1e309e08b2709244d993bad4e8e68c21a7\n"
    },
    {
      "commit": "13d10886e07e6693aab1a3e4378d84b18accb0f1",
      "tree": "d2069b76bd341e1a437e7f6aab9901a20dce4913",
      "parents": [
        "aa877a3f29b00c0440e060622c1bebccdf42e64e"
      ],
      "author": {
        "name": "Mike Aizatsky",
        "email": "maizatskyi@cloudflare.com",
        "time": "Sun Oct 04 23:14:23 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Oct 04 23:17:05 2026 -0700"
      },
      "message": "[tsan] fcntl interceptor with F_DUPFD and F_DUPFD_CLOEXEC support (#221064)\n\nbehaves like dup\n\nfixes https://github.com/rust-lang/rust/issues/130037 and bunch of\nothers\n\nGitOrigin-RevId: 09910aa044808dfbfe1e0f96b5e39260789212fb\n"
    },
    {
      "commit": "aa877a3f29b00c0440e060622c1bebccdf42e64e",
      "tree": "8df74b7cb17cd137a2b30d0a40e7ee42b5da1fce",
      "parents": [
        "686569f09ee8f7f199250375e32f337a507e25c4"
      ],
      "author": {
        "name": "Mauri de Souza Meneguzzo",
        "email": "mauri870@gmail.com",
        "time": "Sun Oct 04 21:29:44 2026 -0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Oct 04 17:33:01 2026 -0700"
      },
      "message": "[tsan]: fix Go race syso build on s390x with GCC  (#225217)\n\nNative GCC on s390x defines __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16, which\ncauses the SpinMutex func_cas overload for a128 to be skipped. The\ngeneric template emits a __sync_val_compare_and_swap_16 libcall instead\nof inlining CDSG (GCC cannot prove alignment) and that symbol\nis not available without libatomic, which the Go race syso does not\nlink.\nExtend the SpinMutex condition to also cover SANITIZER_GO builds,\nregardless of __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16. This is safe since\nall atomic accesses in Go go through the TSan trampolines.\n\nVerified with s390x-linux-gnu-g++ (GCC 12): without the fix the syso\ncontains an unresolved __sync_val_compare_and_swap_16 reference; with\nthe fix all three __tsan_go_atomic128_* symbols are present and no\nlibatomic references remain.\n\nGitOrigin-RevId: f7e8e3d0bf7c9f5bfc8e7693ecad67cceda074ae\n"
    },
    {
      "commit": "686569f09ee8f7f199250375e32f337a507e25c4",
      "tree": "42d9f125f796de036242b4220d90ac7af99e7931",
      "parents": [
        "d40c5666f1a603c05bd18c986f3b53b7a906fc6c"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Sat Oct 03 19:27:23 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 03 19:32:55 2026 -0700"
      },
      "message": "[NFC][TSan] Move RestoreStack before ScopedReport in ReportDestroyLocked (#228643)\n\nRun RestoreStack in its own lock scope before constructing ScopedReport\nin ReportDestroyLocked (matching ReportRace). This avoids acquiring\nScopedErrorReportLock or symbolizing the current stack if RestoreStack\nfails, and avoids holding slot_lock and slot_mtx while populating the\nScopedReport.\n\nAssisted-by: Gemini\nGitOrigin-RevId: 13729747c5d03646f09a9f7bdecfe491254bead9\n"
    },
    {
      "commit": "d40c5666f1a603c05bd18c986f3b53b7a906fc6c",
      "tree": "d85c6552928456403f77e9395a860c3f9775435b",
      "parents": [
        "68083993e2652fc37835f19428fc083e3e59b299"
      ],
      "author": {
        "name": "Rong \"Mantle\" Bao",
        "email": "rong.bao@csmantle.top",
        "time": "Sun Oct 04 10:01:05 2026 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 03 19:05:22 2026 -0700"
      },
      "message": "[libFuzzer] Remove unused helper `GetPreviousInstructionPc` (#228453)\n\nThis function hasn\u0027t been used since 2891b257c24c (\"[libFuzzer] remove\nstale code\"), and it contains a typo in the RISCV #ifdef arm. Removing\nthis altogether.\n\nThis was found when surveying RISCV-specific code in [a downstream\nproject](https://searchfox.org/firefox-main/rev/084057e952e7dbf376f6c3765ad242aec3785dc6/tools/fuzzing/libfuzzer/FuzzerTracePC.cpp#141)\nthat vendored libFuzzer.\n\nGitOrigin-RevId: 120e630a18f842bccfea855dae30d7279aa33df5\n"
    },
    {
      "commit": "68083993e2652fc37835f19428fc083e3e59b299",
      "tree": "ccf0327f462636a3c3db35c0289c763cf1d646bb",
      "parents": [
        "ca7325fd1cd7abaec1ecd59bef4953711b7499a9"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Sat Oct 03 18:52:00 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 03 18:56:34 2026 -0700"
      },
      "message": "[NFC][TSan] Merge ScopedReportBase into ScopedReport (#228640)\n\nScopedReport is the only subclass of ScopedReportBase and nothing uses\nScopedReportBase directly. Merge ScopedReportBase into ScopedReport.\n\nAssisted-by: Gemini\nGitOrigin-RevId: e94b7487cf8ebe71744cd4137c9a0968affa0ec2\n"
    },
    {
      "commit": "ca7325fd1cd7abaec1ecd59bef4953711b7499a9",
      "tree": "d01eafc73429505e674a80df47d6d09b432b5ebe",
      "parents": [
        "ee394e6dd6c2025e65c8ecf81f4d331848935967"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Sat Oct 03 11:20:21 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 03 11:27:07 2026 -0700"
      },
      "message": "[TSan] Destroy ScopedReport on early return in ReportDestroyLocked (#228631)\n\n#151495 converted ScopedReport in ReportDestroyLocked from a stack\nvariable to placement new on __builtin_alloca storage, but left a bare\nreturn when RestoreStack fails. This skipped ~ScopedReport(), leaking\nReportDesc and leaving ScopedErrorReportLock, report_mtx, and\nScopedIgnoreInterceptors permanently held.\n\nCall rep-\u003e~ScopedReport() before returning when RestoreStack fails.\n\nAssisted-by: Gemini\nGitOrigin-RevId: d0c2076a225debc49757ac945b494a5cebf139a3\n"
    },
    {
      "commit": "ee394e6dd6c2025e65c8ecf81f4d331848935967",
      "tree": "0720f3cf03f0d76dd56058ae367578252659c94f",
      "parents": [
        "946f708075cd297b2d6215d306b66a4d11f1a89e"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Sat Oct 03 10:14:18 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 03 10:18:53 2026 -0700"
      },
      "message": "[NFC][TSan] Remove redundant Context::report_mtx (#228605)\n\nContext::report_mtx was only ever acquired immediately alongside\nScopedErrorReportLock (in ScopedReport and BackgroundThread). Remove\nreport_mtx and MutexTypeReport and rely on ScopedErrorReportLock.\n\nAssisted-by: Gemini\nGitOrigin-RevId: 04203a045b4cfb18e2b22764744249cba171eb30\n"
    },
    {
      "commit": "946f708075cd297b2d6215d306b66a4d11f1a89e",
      "tree": "8d3144a4c6032071eac7c66029024cd181d96230",
      "parents": [
        "191f90c921e80088ad28fd432e00fc01d04374f9"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Sat Oct 03 09:53:00 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 03 09:59:41 2026 -0700"
      },
      "message": "[TSan] Release locks before OutputReport on all platforms (#228554)\n\nhttps://github.com/llvm/llvm-project/pull/151495 moved OutputReport\noutside the lock scope (ThreadRegistryLock, slot_lock, slots_lock) on\nApple platforms only.\n\nHolding these locks during OutputReport can also deadlock on non-Apple\nplatforms. For example, when halt_on_error\u003d1, abort_on_error\u003d1, and\nhandle_abort\u003d0 are set, OutputReport calls Die() -\u003e Abort(), which\nraises SIGABRT and invokes a user signal handler via\nCallUserSignalHandler with TSan instrumentation re-enabled. If the\nsignal handler executes enough instrumented code to overflow the\nactive TracePart, TraceSwitchPartImpl -\u003e TracePartAlloc attempts to\nacquire ctx-\u003eslot_mtx and self-deadlocks because slots_lock is still\nheld by ReportRace.\n\nRemove the SANITIZER_APPLE conditional compilation so locks are\nreleased before OutputReport across all platforms.\n\nAssisted-by: Gemini\nGitOrigin-RevId: cebadce0f60f5542a816fff0c559032fd8751a3d\n"
    },
    {
      "commit": "191f90c921e80088ad28fd432e00fc01d04374f9",
      "tree": "b73a0c46d5e79c01bbbe3e16765cda1be26976f5",
      "parents": [
        "af2d89ded3844391d483bcb9901f668f61e9baf7"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Fri Oct 02 19:40:51 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 02 19:44:13 2026 -0700"
      },
      "message": "[NFC][TSan] Make Context::nreported atomic (#228602)\n\nMake Context::nreported an atomic_uint32_t so that Finalize and\n__tsan_report_count can read it without relying on report_mtx.\n\nAssisted-by: Gemini\nGitOrigin-RevId: 8143db6025ae2092ca90f8b0efc43918a94df69f\n"
    },
    {
      "commit": "af2d89ded3844391d483bcb9901f668f61e9baf7",
      "tree": "3cf91a5135252da248dd9607ddbc7eeabd87d854",
      "parents": [
        "b23ed9f61b420b315ce58eb62ef9c93f7272f1c2"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris1000@users.noreply.github.com",
        "time": "Fri Oct 02 18:16:07 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 02 11:23:01 2026 -0700"
      },
      "message": "[scudo] Disable tagging when running with asan. (#227516)\n\nThe fuzzer defaults to running with asan, and adding tags to pointers\nconfuses asan and causes crashes. Therefore, disable memory tagging when\nasan is detected.\n\nGitOrigin-RevId: 4d7ad2874b98509e83c692665fd9803054f8a909\n"
    },
    {
      "commit": "b23ed9f61b420b315ce58eb62ef9c93f7272f1c2",
      "tree": "ac7ba804a38f717b1bc28e6bf513fb817abf9810",
      "parents": [
        "4c286a796fdfef816a90c86a78c60101a0024f42"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Fri Oct 02 10:47:52 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 02 10:57:19 2026 -0700"
      },
      "message": "[NFC][sanitizer] Link LLVMOption and allow strtof in internal symbolizer (#228490)\n\nCommit f6c78b8262f4 (#228321) moved MC command-line options into\n`MCCLOptions.cpp` and added an `LLVMOption` dependency to `LLVMMC`.\nBecause\n`MCAsmInfo.cpp` references `MCCLOptions::Global`, `MCCLOptions.cpp` and\nits\ngenerated option parser (which also calls `strtof` via `llvm::to_float`)\nare\npulled into the internal symbolizer link.\n\nAdd `LLVMOption` to `build_symbolizer.sh` and `strtof U` to\n`global_symbols.txt` so internal symbolizer builds and symbol\nverification\nsucceed.\n\nFixes: https://lab.llvm.org/buildbot/#/builders/66/builds/38119\n\nAssisted-by: Gemini\nGitOrigin-RevId: 7232ec8b92e50c4a1ac6a268a7ce8384941104ec\n"
    },
    {
      "commit": "4c286a796fdfef816a90c86a78c60101a0024f42",
      "tree": "a0d8faf5909c546d02814fdda72ca92b04a26c61",
      "parents": [
        "1ec31d7b1455f3fb901b82da577ac7e489a1a797"
      ],
      "author": {
        "name": "Alexandre Ganea",
        "email": "alex_toresh@yahoo.fr",
        "time": "Fri Oct 02 13:29:59 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 02 10:55:43 2026 -0700"
      },
      "message": "[ASan][Windows] Intercept memcpy when the CRT provides it separately from memmove (#221491)\n\nThis is the third retry in a attempt to fix\nhttps://github.com/llvm/llvm-project/issues/126077 (the other two\nattempts being https://github.com/llvm/llvm-project/pull/192060 and\nhttps://github.com/llvm/llvm-project/pull/193633)\n\nI was looking at the wrong thing: I was trying to compare `\u0026memcpy` and\n`\u0026memmove` in the ASan runtime itself; but the real problem in\nhttps://github.com/llvm/llvm-project/issues/126077 was the dynamic CRT,\nwhich provides non-aliased `\u0026memcpy`.\n\nPlease see repro and output:\n\n[output.txt](https://github.com/user-attachments/files/31870348/output.txt)\n\nHistorically, the CRT provided `memcpy` and `memmove` as a single\nimplementation, aliasing both symbols. Since Visual Studio 17.7\n(vcruntime140.dll 14.38), [a rewrite of\n`memmove`](https://devblogs.microsoft.com/cppblog/msvc-backend-updates-since-visual-studio-2022-version-17-3/)\nhas changed that. Instead of being aliased, `memcpy` now becomes a thunk\nto `memmove`.\n\nWe now patch both symbols only if they are distinct (different\naddresses). This currently applies only to the dynamic CRT, but if in\nthe future the static CRT provides two implementations, that should be\ncovered too.\n\nAssisted by: Claude Fable 5\n\nFixes #126077\n\nGitOrigin-RevId: 32681decfa6079748836719d9ddf8667fd2b81fc\n"
    },
    {
      "commit": "1ec31d7b1455f3fb901b82da577ac7e489a1a797",
      "tree": "dd853bacf98c4673e46b62f174429eccd2481520",
      "parents": [
        "ce366d83f6d9241b3e36ced30f3d03749dd6da01"
      ],
      "author": {
        "name": "Riyaz Ahmad",
        "email": "riyaz86a@gmail.com",
        "time": "Fri Oct 02 22:58:40 2026 +0530"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 02 10:33:12 2026 -0700"
      },
      "message": "[compiler-rt][ubsan] Add powerpc64le support to offload UBSan HSA interceptors (#228007)\n\nThe HSA interceptor library was limited to` x86_64` and `aarch64`,\ncausing the `hsa-load-order` and `hsa-missing` lit tests to fail on\n`powerpc64le`.\n\nAll dependencies (sanitizer_offload, RTSanitizerOffload,\nllvm-libc-common-utilities)\nare already available on powerpc64le Linux and the INTERCEPTOR macro\nworks\nvia standard ELF symbol interposition on that platform.\n\nAdd PPC64 to ALL_UBSAN_OFFLOAD_SUPPORTED_ARCH to extend support for\npowerpc64le.\n\nCo-authored-by: Riyaz Ahmad \u003criyaz.ahmad@ibm.com\u003e\nGitOrigin-RevId: cd8c5d3359778db38df85cad46b71ee3777b2cff\n"
    },
    {
      "commit": "ce366d83f6d9241b3e36ced30f3d03749dd6da01",
      "tree": "647fba1a2f40ce38a0e4fccc5aef8d0704c2638e",
      "parents": [
        "808f4a200a543af217f7a37bc85d882ea48dec81"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Fri Oct 02 17:09:38 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 02 09:12:19 2026 -0700"
      },
      "message": "[compiler-rt][hwasan][test] Temporarily disable hwasan_symbolize_stack_overflow.cpp (#228496)\n\nHWASAN only keeps the lower 20 bits of the frame pointer, so if x plus\nthe access offset falls into the previous or following 1MB, the test\nfails to realise that the access was done via. x.\n\nThis means it fails randomly on the buildbots, depending on ASLR and\nother factors. See https://github.com/llvm/llvm-project/issues/228477\nfor details.\n\nGitOrigin-RevId: e7e609e69ec43ce370f5e411ffb25076137955b7\n"
    },
    {
      "commit": "808f4a200a543af217f7a37bc85d882ea48dec81",
      "tree": "7ebf0606ac7e943b1ed7e9e467eef45a48543db4",
      "parents": [
        "7763fabdce77930074091e24c9dbd07711544096"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Fri Oct 02 08:12:19 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 02 08:17:43 2026 -0700"
      },
      "message": "[NFC][msan][test] Increase allocation size in release_origin.c (#228333)\n\nOn systems with many CPUs and 64 KiB pages (such as 192-CPU ppc64le on\n`sanitizer-ppc64le-linux`), the kernel per-CPU RSS counter batch size\n(24 MiB) exceeds the 20 MiB allocation in this test, so /proc/self/statm\nmay not reflect the RSS changes. Increase the allocation size to 100 MiB\nand adjust the soft RSS limits accordingly.\n\nAssisted-by: Gemini\nGitOrigin-RevId: eb37e16f2de1d55106f5928e63eb92d4d40e2a66\n"
    },
    {
      "commit": "7763fabdce77930074091e24c9dbd07711544096",
      "tree": "5e43a6c5a3b5f6e7d461729d70b6fef7ce261370",
      "parents": [
        "b7252b0e8ccb5a53174b654f2da375d6fc301b24"
      ],
      "author": {
        "name": "Manuel Carrasco",
        "email": "Manuel.Carrasco@amd.com",
        "time": "Fri Oct 02 10:31:40 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 02 02:38:53 2026 -0700"
      },
      "message": "[compiler-rt] Add print_coverage_summary to silence SanitizerCoverage dump logs (#228039)\n\nWhen running a test suite of SanitizerCoverage-instrumented binaries,\nthe `SanitizerCoverage: … PCs written` summary on stderr can poison\nFileCheck and cause unexpected failures.\n\nThere is no way to turn that print off today. At most you can use\n`log_path`, but that still creates a text file per process. We could\nhave guard it on the verbosity option, but that would change the default\nand may regress consumers that rely on this output.\n\nThis PR adds `print_coverage_summary` (default true). Set\n`print_coverage_summary\u003d0` to keep the dump log disable; .sancov files\nare still written. The same guard is used on the Fuchsia path.\n\nThe new lit test is a copy of sanitizer_coverage_trace_pc_guard.cpp,\nadapted to check the default print and print_coverage_summary\u003d0.\n\nGitOrigin-RevId: e7f7422a14cfdd6d00fcf7e2e25bfd5a47897030\n"
    },
    {
      "commit": "b7252b0e8ccb5a53174b654f2da375d6fc301b24",
      "tree": "5f3572a39bee53c277014a8b0c58127587372c1b",
      "parents": [
        "a49036964c68d1462e151bff59701aba7e12ceec"
      ],
      "author": {
        "name": "Jeewoong Kim",
        "email": "dnd414@gmail.com",
        "time": "Fri Oct 02 14:00:47 2026 +0900"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 01 22:07:09 2026 -0700"
      },
      "message": "[compiler-rt][msan] Ignore addrinfo padding in getaddrinfo interceptor (#219124)\n\nAvoid checking padding bytes in `struct addrinfo` in the `getaddrinfo`\ninterceptor.\n\nThe interceptor used a single `COMMON_INTERCEPTOR_READ_RANGE` for the\nwhole structure, which caused MSan to report uninitialized padding even\nwhen all\nnamed members were initialized.\n\nCheck each member separately instead.\n\nTesting\n- Added `getaddrinfo-padding.cpp` to cover the padding case\n- Verified the new test fails before the fix and passes after the change\n- Verified `getaddrinfo-positive.cpp` still reports uninitialized fields\n- Ran `ninja -C build/runtimes/runtimes-bins check-msan` on AArch64\nLinux\n\nFixes #162216\n\nGitOrigin-RevId: 29e6b15d01aef1b82b6fc55c723c48b550585a41\n"
    },
    {
      "commit": "a49036964c68d1462e151bff59701aba7e12ceec",
      "tree": "0a5114b93194599aa9eb0a052d7114a45e4f51a3",
      "parents": [
        "35671e10de206512f77dd916d8e2f4e2f0723cb0"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Thu Oct 01 22:17:27 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 01 20:22:45 2026 -0700"
      },
      "message": "[compiler-rt] Add more common HSA utilities for memory and symbolization (#228297) (#228312)\n\nSummary:\nAdds memory pool management for different kinds of allocation. Intended\nto be used for the in-progress concurrency sanitizer.\n\nRFC:\n\ndiscourse.llvm.org/t/rfc-a-thread-concurrency-sanitizer-for-gpus-in-compiler-rt/91113\n\n---\n\n\u003csub\u003eStack created with \u003ca\nhref\u003d\"https://github.com/github/gh-stack\"\u003eGitHub Stacks CLI\u003c/a\u003e • \u003ca\nhref\u003d\"https://gh.io/stacks-feedback\"\u003eGive Feedback 💬\u003c/a\u003e\u003c/sub\u003e\nGitOrigin-RevId: 645790cb1740ab9ddac8e1a9168b49ca5cf4a420\n"
    },
    {
      "commit": "35671e10de206512f77dd916d8e2f4e2f0723cb0",
      "tree": "7009f3b32b0efd250b4dbd728710b8eb42851e0e",
      "parents": [
        "a36b9c98065a29177a7cd209ffbd12221582a968"
      ],
      "author": {
        "name": "Brad Smith",
        "email": "brad@comstyle.com",
        "time": "Thu Oct 01 19:23:46 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 01 16:26:52 2026 -0700"
      },
      "message": "[compiler-rt][libunwind] Check elf_aux_info return value (#228190)\n\nelf_aux_info() returns an errno value (0 on success) rather than -1\nwith errno set. Check the result and treat a failure as \"no features\nreported\" instead of silently ignoring the error.\n\nIn compiler-rt, hwcap had no initializer, so a failed call left it\nuninitialized. The libunwind users already started from zero, so the\nchange there only makes the error handling explicit.\n\nGitOrigin-RevId: 7710aeb5bc1f7ad54dcc4b2a9826e0c67b60d5db\n"
    },
    {
      "commit": "a36b9c98065a29177a7cd209ffbd12221582a968",
      "tree": "d0582ebddda62bb6246647f37392edcbcd5d045f",
      "parents": [
        "cbd7cea8a2d7b547df625682c4b829f306852128"
      ],
      "author": {
        "name": "Amir Livneh",
        "email": "amir.livneh@gmail.com",
        "time": "Thu Oct 01 12:05:29 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 01 12:12:49 2026 -0700"
      },
      "message": "[libFuzzer] Fix typos and punctuation in flag descriptions (#122619)\n\nCo-authored-by: Stan Ulbrych \u003cstan@python.org\u003e\nGitOrigin-RevId: 1e1f35b8b866da1feb48a9696567a0d3560b3d33\n"
    },
    {
      "commit": "cbd7cea8a2d7b547df625682c4b829f306852128",
      "tree": "6b77d28a25e71c6a5c3f2d8df6e95c8cc80cc79e",
      "parents": [
        "ec29161da1c4e00d5a18db0b75fba3b6029ddbfb"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Thu Oct 01 13:58:51 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 01 12:03:22 2026 -0700"
      },
      "message": "[compiler-rt] Fix -shared-libsan usage with internal symbolizer (#227717)\n\nSummary:\nhttps://github.com/llvm/llvm-project/pull/226551 exposed a preexisting\nissue when using `-shared-libsan` nad the internal symbolizer builds.\nThe symbolizer will try to look up the symbol via `RTLD_NEXT`, which\ngoes in load order. If the sanitizer library is loaded *after* `libc.so`\nthen this `dlsym` call will miss it.\n\nThe solution is to have a fallback that checks using `RTLD_DEFAULT`.\nThis\nshould allow us to find the symbol in these exceptional cases. I don\u0027t\nexpect much fallout as this covers a case that currently returns `NULL`.\nLoading it in means it could grab a reference ahead of the runtime that\nwas intended to be intercepted, but for this use-case I don\u0027t think this\nwill apply.\n\nGitOrigin-RevId: d47315ba62d6b572a2e6aa0dd7f74a3cc128a569\n"
    },
    {
      "commit": "ec29161da1c4e00d5a18db0b75fba3b6029ddbfb",
      "tree": "438f0802ae98b2211f9646de88238aaffd095058",
      "parents": [
        "95dbd63d25916f96c9390a8f3534ba05508a2529"
      ],
      "author": {
        "name": "Jiaxun Yang",
        "email": "jiaxun.yang@flygoat.com",
        "time": "Wed Sep 30 11:20:49 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 30 03:30:01 2026 -0700"
      },
      "message": "[JITLink][Mips] Add ELF backend (#224578)\n\nAdd support for O32, N32, and N64 relocatable ELF objects in both byte\norders. Handle O32 implicit addends and HI/LO pairing, N32 relocation\ngroups, and N64 packed relocations. Preserve the MIPS64 ISA triple for\nN32 while recording its four-byte pointer ABI in LinkGraph.\n\nImplement absolute, PC-relative, GP/GOT, and compound fixups, GOT-backed\n$t9 call stubs, and EH-frame support. Use MIPS-specific GOT keys for\ntarget, addend, and exact/page entries, and collect GP-relative content\ninto one ordered region. Support standard MIPS ISAs, including release-6\nstubs.\n\nIntegrate GD/LD TLS with ELFNixPlatform and add an assembly resolver\nthat reads the thread pointer with rdhwr before calling the existing C\nimplementation. Honor explicit MIPS relocation-model requests while\nretaining the static default. JITLink remains opt-in and RuntimeDyld\nremains the default.\n\nAdd focused relocation, ABI, GOT/stub, EH-frame, and TLS tests.\n\nAssisted-by: chatgpt-5.6-sol\nGitOrigin-RevId: 2820795b027eb68e3c3a0f1ad1ddd36aaeb8730a\n"
    },
    {
      "commit": "95dbd63d25916f96c9390a8f3534ba05508a2529",
      "tree": "dd97485a4cb36295ebde1b83b970e68c0bbb7305",
      "parents": [
        "ad139347c21ef0c60e6069245dcc65e92af5c0cc"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Tue Sep 29 23:08:45 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 29 21:15:15 2026 -0700"
      },
      "message": "[compiler-rt] Fix failing HSA test after #226551 (#227552)\n\nSummary:\nInternal symbolization fails this test due to RTLD_NEXT.\nGitOrigin-RevId: 474a93b60800715d828ebd6160abb0b46eb54fee\n"
    },
    {
      "commit": "ad139347c21ef0c60e6069245dcc65e92af5c0cc",
      "tree": "dd3cfe0476211c6adf5eb46cbdca14d47c89ba62",
      "parents": [
        "cbff786137442aba1b32f03b3c7117b6054d41b0"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Tue Sep 29 13:32:17 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 29 11:41:39 2026 -0700"
      },
      "message": "[compiler-rt] Don\u0027t build offload ubsan library on 32-bit hosts (#227424)\n\nSummary:\nPrevious changes put the offload library in the main path. This caused\nus to link in 64-bit specific library calls and fail int i386. Simply\nrestrict building this library to 64-bit hosts only.\nGitOrigin-RevId: 92cdaa21f4f1e0b883ed694f790c0793db96b71c\n"
    },
    {
      "commit": "cbff786137442aba1b32f03b3c7117b6054d41b0",
      "tree": "b91c6b4fa463ce8b5a03c6b40b983aa5ab62538d",
      "parents": [
        "08aaa301a4f21f599d050aae6f41f770ec5388f7"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Tue Sep 29 12:36:19 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 29 10:39:47 2026 -0700"
      },
      "message": "[compiler-rt] Support `-shared-libsan` for Offload UBSan (#226551)\n\nSummary:\nThe offload UBSan is intentionally implemented as a separate \u0027add-on\u0027\nlibrary. This makes it more clear where the separation lies and avoids\nincluding it in all existing UBSan users. However, this doesn\u0027t work\nwith `-shared-libsan`\u0027s `*.so` builds because we now have a function\ncall barrier and the internal utility functions are hidden.\n\nThis PR changes the shared version to fold the HSA / Offloading handlers\ninto the `libclang_rt.ubsan.so` library. The specific fallout is that\n~30KiB is added to the shared library and it will now intercept `dlsym`\nfor other users, but this should be benign. The overhead here is less\nconcerning than in the static case because it is shared and usually\nloaded lazily by the system.\n\nGitOrigin-RevId: 030f1195f0219a66c028935c61ae53b69c9e74df\n"
    },
    {
      "commit": "08aaa301a4f21f599d050aae6f41f770ec5388f7",
      "tree": "1d585fae745774d05203c0533ac1e3dd32474e56",
      "parents": [
        "886b11859b5bbc91f2b955b81ee919deab72b6b0"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Tue Sep 29 10:29:10 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 29 08:33:27 2026 -0700"
      },
      "message": "[compiler-rt] Remove dlsym interceptor for HSA UBSan (#227022)\n\nSummary:\nThis existed to handle the OpenMP case that dynamically opened via\n`dlsym`. However, https://github.com/llvm/llvm-project/pull/227020\nremoves the need for this by first checking the global space first.\n\nThe main motivation is that the `dlsym` interceptor layer was the most\njanky part of this whole affair and was a major blocker to supporting\n`-shared-libsan` in https://github.com/llvm/llvm-project/pull/226551.\n\nGitOrigin-RevId: e90c043329524ac718a3d04189ffe960936e8719\n"
    },
    {
      "commit": "886b11859b5bbc91f2b955b81ee919deab72b6b0",
      "tree": "a051a91bd33d9087fac264b35c325b18509369fe",
      "parents": [
        "ab7c294f23f5a92cacd6dc2765d97211c7b60880"
      ],
      "author": {
        "name": "Nikita Popov",
        "email": "npopov@redhat.com",
        "time": "Tue Sep 29 16:51:55 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 29 07:58:05 2026 -0700"
      },
      "message": "[IRBuilder] Produce canonical constexpr GEPs (#226425)\n\nThis switches the IRBuilder to always produce canonical constexpr GEPs\nin ptradd form, including in the case where ConstantFolder rather than\nTargetFolder is used.\n\nThis is done in a slightly hacky way, by passing the DataLayout from the\ninsertion point into FoldGEP. In the future, when we start\ncanonicalizing the non-constant GEPs as well, we\u0027ll do the\ncanonicalization directly in IRBuilder and replace FoldGEP with\nFoldPtrAdd. (Though it would be even better to make IRBuilder always\nrequire a DataLayout and eliminate the ConstantFolder/TargetFolder\ndistinction...)\n\nGitOrigin-RevId: e65dba4fb29967ab597ca0acb4ec174c1016cd28\n"
    },
    {
      "commit": "ab7c294f23f5a92cacd6dc2765d97211c7b60880",
      "tree": "fc8890660fa1952e41eadd831465b351193c30dd",
      "parents": [
        "af39ced6ae3afc49860b7d0de834d2d527021178"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Tue Sep 29 07:52:49 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 29 06:00:27 2026 -0700"
      },
      "message": "[compiler-rt] Give every installed file an install component (#227103)\n\nSummary:\nLLVM tries to expose install components to allow distributions to choose\nthe layers to build. Not all of the compiler-rt artifacts were installed\nunder this configuration. This PR makes this a consistent rule by\nupdating the existing helper function to require a parent target for the\ncomponent.\n\nAdds things like\n```\nninja install-dfsan\n```\nand ensures this installs everything\n```\nninja install-compiler-rt-x86_64-unknown-linux-gnu\n```\n\nGitOrigin-RevId: a3697dc8170d16e07bc4c507bb1d33b9d65a4c3c\n"
    },
    {
      "commit": "af39ced6ae3afc49860b7d0de834d2d527021178",
      "tree": "19375a78fd138178c425e8e854677bec151f6e01",
      "parents": [
        "afdfe6bc981d0baf4927376fa9b41e6646337e33"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Tue Sep 29 07:52:31 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 29 05:59:45 2026 -0700"
      },
      "message": "[runtimes] Disable sanitizers for configuration checks with --unwindlib\u003dnone (#227092)\n\nSummary:\nin a sanitized runtimes build, every configuration check is linked with\nboth -fsanitize\u003d... and --unwindlib\u003dnone and fails, because the\nsanitizer runtimes need the unwinder. This completes an existing TODO by\nsuppressing this for the compiler flag checks in this configuration.\nThis shouldn\u0027t affect any existing users. Motivation is compiling\n`+asan` multilibs for existing OpenMP/Offloading configurations.\nGitOrigin-RevId: a72d784c52d0913e2f3b8e6b6588bf6b769d78dc\n"
    },
    {
      "commit": "afdfe6bc981d0baf4927376fa9b41e6646337e33",
      "tree": "80788d3b755a0f37e4a7f20527f8942e092ac6d5",
      "parents": [
        "5ea5f279472392c6fbfff126185103a0a940088e"
      ],
      "author": {
        "name": "Ties Stuij",
        "email": "ties.stuij@arm.com",
        "time": "Tue Sep 29 09:27:31 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 29 01:34:32 2026 -0700"
      },
      "message": "[compiler-rt][ARM] Make interworking test compatible with BTI (#226154)\n\nIn the aeabi_cmpflags_interwork_test.c test wrappers, we should return\nthrough lr instead of r3 so that runs with BTI enabled don\u0027t fail. As\nreturns through lr don\u0027t require a landing pad, and returns through r3\ndo.\n\nGitOrigin-RevId: ab0582707ef7ea0c4b03dff58ae9c32a9bdfec5c\n"
    },
    {
      "commit": "5ea5f279472392c6fbfff126185103a0a940088e",
      "tree": "75681a3c4c640765a37b6b860848af0e7c112178",
      "parents": [
        "1284ce38ce75c74e1e3e9d5e619ba24dc32520a3"
      ],
      "author": {
        "name": "Owen Rodley",
        "email": "orodley@google.com",
        "time": "Tue Sep 29 10:55:22 2026 +1000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 28 18:01:52 2026 -0700"
      },
      "message": "[InstrProf] Replace !PGOFuncName and !PGOName metadata with !guid (#214134)\n\n!PGOFuncName and !PGOName metadata were attached to internal functions\nand vtables during profile annotation to record their original\n\"\u003cfile\u003e;\u003cname\u003e\" PGO names before ThinLTO promoted and renamed them. In\npost-link LTO passes, InstrProfSymtab read that metadata back so profile\nrecords keyed by the original name\u0027s hash could still find the renamed\nIR object.\n\nGlobal objects now carry stable !guid metadata assigned before LTO\nrenaming, which records the MD5 hash of the original PGO name directly.\nSee: https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801\n\nUse !guid instead of maintaining separate PGO name metadata:\n\n- Stop emitting and reading !PGOFuncName and !PGOName in Clang and\n  PGOInstrumentation, and remove the metadata helper functions\n  (createPGOFuncNameMetadata, createPGONameMetadata,\n  getPGOFuncNameMetadata, and the metadata name getters).\n- Unify getIRPGOFuncName(const Function \u0026) and\n  getPGOName(const GlobalVariable \u0026) into\n  getIRPGOObjectName(const GlobalObject \u0026).\n- In InstrProfSymtab::addFuncWithName and addVTableWithName, key each\n  name by its own hash as before, and also insert the object\u0027s assigned\n  GUID into MD5FuncMap / MD5VTableMap when it differs from the PGO name\n  hash. This lets lookups find functions and vtables that LTO has\n  renamed while preserving lookups by current, deprecated, and canonical\n  names.\n- Remove obsolete !PGOFuncName metadata from test inputs, update the\n  ThinLTO ICP tests to check for !guid, and add symtab unit tests and an\n  llvm-profdata text/indexed round-trip test.\n\nAssisted-by: Antigravity\nGitOrigin-RevId: 9a0c255ce1efbd80ef501e8151d123876fa4b5d4\n"
    },
    {
      "commit": "1284ce38ce75c74e1e3e9d5e619ba24dc32520a3",
      "tree": "7cf01ec8378487fa89b644b49d6317e63c6980cd",
      "parents": [
        "f62f6664a5fa5fb4f96d1aee396bdb83d259ca10"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "george.burgess.iv@gmail.com",
        "time": "Fri Sep 25 07:23:45 2026 -0600"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 25 06:29:52 2026 -0700"
      },
      "message": "[docs][clang] Document additional public profile runtime APIs (#224424)\n\nAndroid\u0027s code coverage runtime started using these functions recently,\nand I noticed they were undocumented (and the reviewer highlighted\nthat `instr_prof_interface.h` exists).\n\nSo this commit:\n- Moves their declarations to that header\n- Updates `SourceBasedCodeCoverage.md` to highlight that header\n- Adds quips to said `.md` file for these functions\n\nAn LLM was used to take a first pass at this; I reviewed and refined.\n\nGitOrigin-RevId: 176a24691b1b315cfd0f15ee8bb8adcc086683be\n"
    },
    {
      "commit": "f62f6664a5fa5fb4f96d1aee396bdb83d259ca10",
      "tree": "e090fbb8a486b6662b8b37ad200fae323c377427",
      "parents": [
        "959e2656961396bb5ccffeb0df633ab2e6c98024"
      ],
      "author": {
        "name": "oltolm",
        "email": "oleg.tolmatcev@gmail.com",
        "time": "Thu Sep 24 23:18:20 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 24 14:21:09 2026 -0700"
      },
      "message": "[compiler-rt][asan] Use native TLS for TSD on Windows (#222705)\n\nGCC 16 supports native Windows TLS. Use compiler-rt\u0027s THREADLOCAL\nabstraction for fake_tsd on all compilers instead of spelling the\nMSVC-specific storage-class syntax directly. GCC configurations using\nemulated TLS remain unsupported.\n\nCo-authored-by: Hannes Domani \u003cssbssa@yahoo.de\u003e\nGitOrigin-RevId: 16d88a5e65b141b4ecf7a237c6104e1425a335d9\n"
    },
    {
      "commit": "959e2656961396bb5ccffeb0df633ab2e6c98024",
      "tree": "79884a86399277121249376d739fc7a35d870f1f",
      "parents": [
        "6601a6d7be1f9c6e20f1128548bb7fae1772e1e0"
      ],
      "author": {
        "name": "oltolm",
        "email": "oleg.tolmatcev@gmail.com",
        "time": "Thu Sep 24 23:12:54 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 24 14:16:54 2026 -0700"
      },
      "message": "[compiler-rt] Retain sanitizer callbacks with MinGW GCC (#222711)\n\nMSVC and clang-cl use /include directives emitted by WIN_FORCE_LINK. GNU\ntools need an ordinary used relocation instead. Keep the sanitizer\ninitialization callbacks and ASan DSO registration object reachable when\nlinking with MinGW GCC.\n\n---------\n\nCo-authored-by: Hannes Domani \u003cssbssa@yahoo.de\u003e\nGitOrigin-RevId: ef8d9d19fb232076b7a2070860666a65a2cf563e\n"
    },
    {
      "commit": "6601a6d7be1f9c6e20f1128548bb7fae1772e1e0",
      "tree": "b21fff04784709a7967d0f27987d69ed48fa333d",
      "parents": [
        "89e74665b7322d57b15c70af48fb5f7cf729e3f3"
      ],
      "author": {
        "name": "Ying Huang",
        "email": "ying.huang@oss.cipunited.com",
        "time": "Thu Sep 24 11:15:11 2026 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 23 20:25:09 2026 -0700"
      },
      "message": "[Mips] Restrict rdhwr+synci to Linux on MIPS R6 (#222566)\n\nThe rdhwr instruction reads synci_step, which is not allowed by OpenBSD\nand is not available for ISA older than mips{32/64}r2.\n\nRestrict the rdhwr+synci to Linux on MIPS R6 and fall back to\n_flush_cache on all other MIPS targets including OpenBSD and pre-R6\nLinux.\n\nFix #219896.\n\nGitOrigin-RevId: cff0e6b5dc60cce76e85f0d9e9af537e76759315\n"
    }
  ],
  "next": "89e74665b7322d57b15c70af48fb5f7cf729e3f3"
}
