)]}'
{
  "log": [
    {
      "commit": "bfb3c565fd30f16f53ca4e235b8cdeadd41d59f3",
      "tree": "c6340159f606bda0966e653b845fd77adca80599",
      "parents": [
        "ae39ce7aee7993dd0e195604d0e5024a36bf5915"
      ],
      "author": {
        "name": "Jonas Devlieghere",
        "email": "jonas@devlieghere.com",
        "time": "Fri Apr 03 16:48:04 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 16:50:35 2026 -0700"
      },
      "message": "[lldb] Update dsym-python-script.test for #190407 (#190432)\n\nGitOrigin-RevId: 46411f384d68939f666c3464b63694dce5671a97\n"
    },
    {
      "commit": "ae39ce7aee7993dd0e195604d0e5024a36bf5915",
      "tree": "ec54bc41759c12e804c7b68f0b1e363663c078ad",
      "parents": [
        "308635d1f699a02d04d99b5528ff9ea888879c0d"
      ],
      "author": {
        "name": "Jonas Devlieghere",
        "email": "jonas@devlieghere.com",
        "time": "Fri Apr 03 15:11:35 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 15:15:43 2026 -0700"
      },
      "message": "[lldb] Keep the existing behavior for untrusted dSYMs (#190407)\n\nThis patch does two thing:\n\n- It reverts to the previous behavior of warning for untrusted dSYMs.\n- It includes whether a dSYM is trusted or untrusted in the warning\noutput.\n\nMy reasoning is that there\u0027s no tooling for automatically signing dSYMs\nand therefore we shouldn\u0027t change the behavior until this is more\ncommon. The inclusion of whether the dSYM is signed or not is the first\nstep towards advertising the existence of the feature.\n\nThis now also means the release note I added in #189444 is correct\n(again).\n\nGitOrigin-RevId: 52568a54d98b6c12b0cbc062ff24f5d7b986ffdc\n"
    },
    {
      "commit": "308635d1f699a02d04d99b5528ff9ea888879c0d",
      "tree": "bc5bf279f13164bb186837510bd39e523cfae38b",
      "parents": [
        "4ac2ddd0492a31e02f3690ba82043657ce481232"
      ],
      "author": {
        "name": "Jonas Devlieghere",
        "email": "jonas@devlieghere.com",
        "time": "Fri Apr 03 13:42:29 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 13:45:34 2026 -0700"
      },
      "message": "Revert \"[lldb/test] Codesign executables built with custom Makefile rules\" (#190398)\n\nReverts llvm/llvm-project#189902 because this seems to cause hangs.\n\nGitOrigin-RevId: 073284144047657f75121c59682f67601775370c\n"
    },
    {
      "commit": "4ac2ddd0492a31e02f3690ba82043657ce481232",
      "tree": "6f93ec8632c415d94e87112ad73b4313e3f8659a",
      "parents": [
        "fbc9b6b11ea684a8abec9f2f6bffe8af8477672b"
      ],
      "author": {
        "name": "Jonas Devlieghere",
        "email": "jonas@devlieghere.com",
        "time": "Fri Apr 03 13:40:06 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 13:45:24 2026 -0700"
      },
      "message": "[lldb] Fix the macOS builld after address size was removed from Stream (#190399)\n\nThis fixes the macOS build after #190375.\n\nGitOrigin-RevId: 1bbcc5ea51b17b402c75382dddf9cf1cd7dac3a1\n"
    },
    {
      "commit": "fbc9b6b11ea684a8abec9f2f6bffe8af8477672b",
      "tree": "66308b447084bd885dab28c18b93e7ee005e080f",
      "parents": [
        "fbcb7b83bf1a3fa0540e3dd8c5113e322967afd9"
      ],
      "author": {
        "name": "Sergei Barannikov",
        "email": "barannikov88@gmail.com",
        "time": "Fri Apr 03 21:36:52 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 11:40:30 2026 -0700"
      },
      "message": "[lldb][Utility] Remove address size from Stream class (NFC) (#190375)\n\nIt violates abstraction. Luckily, it was used only in two places, see\nDumpDataExtractor.cpp and CommandObjectMemory.cpp.\n\nGitOrigin-RevId: 85fb6ba2b794f948180f7b4c288b2d98468d0688\n"
    },
    {
      "commit": "fbcb7b83bf1a3fa0540e3dd8c5113e322967afd9",
      "tree": "cf532716f15dfdc638cd52a87553e76b318d345e",
      "parents": [
        "9d5646dd954526a2b8b4eb7630496c2b50828841"
      ],
      "author": {
        "name": "Jonas Devlieghere",
        "email": "jonas@devlieghere.com",
        "time": "Fri Apr 03 11:24:50 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 11:30:31 2026 -0700"
      },
      "message": "[lldb] Fix formatting in ModuleList (NFC) (#190382)\n\nI had auto-merge enabled in #189444 and since the formatter is\nnon-blocking it got merged despite the issue. Given I\u0027m already here, I\njust formatted the whole file.\n\nGitOrigin-RevId: b8ea714224daa13b0b74e2bfea3851ad25db14ea\n"
    },
    {
      "commit": "9d5646dd954526a2b8b4eb7630496c2b50828841",
      "tree": "a981c84447ea9adaa6593ceff0bf8fe0fe297d69",
      "parents": [
        "82df1ee81acac5797e1a4f9c2fe96d12a1c6d205"
      ],
      "author": {
        "name": "Jonas Devlieghere",
        "email": "jonas@devlieghere.com",
        "time": "Fri Apr 03 10:04:47 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 10:05:58 2026 -0700"
      },
      "message": "[lldb] Load scripts from code signed dSYM bundles (#189444)\n\nLLDB automatically discovers, but doesn\u0027t automatically load, scripts in\nthe dSYM bundle. This is to prevent running untrusted code. Users can\nchoose to import the script manually or toggle a global setting to\noverride this policy. This isn\u0027t a great user experience: the former\nquickly becomes tedious and the latter leads to decreased security.\n\nThis PR offers a middle ground that allows LLDB to automatically load\nscripts from trusted dSYM bundles. Trusted here means that the bundle\nwas signed with a certificate trusted by the system. This can be a\nlocally created certificate (but not an ad-hoc certificate) or a\ncertificate from a trusted vendor.\n\nGitOrigin-RevId: 271a08889b3e408037db15491b0390e472f003dc\n"
    },
    {
      "commit": "82df1ee81acac5797e1a4f9c2fe96d12a1c6d205",
      "tree": "b7544b27a77482eec8aff699c03a42755cd237de",
      "parents": [
        "12b1b5186286164489d2a1beb650197f8d727b91"
      ],
      "author": {
        "name": "Jonas Devlieghere",
        "email": "jonas@devlieghere.com",
        "time": "Fri Apr 03 09:11:23 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 09:15:50 2026 -0700"
      },
      "message": "[lldb] Remove unnecessary calls to ConstString::AsCString (NFC) (#190298)\n\nReplace calls to `ConstString::AsCString` with\n`ConstString::GetString(Ref)` where appropriate.\n\nAssisted-by: Claude Code\nGitOrigin-RevId: fd68fa98fc0d4b32011e636ff5cdf04a10db5d71\n"
    },
    {
      "commit": "12b1b5186286164489d2a1beb650197f8d727b91",
      "tree": "e75a88bf0c861f2cb442ac9ad24bba17c030e467",
      "parents": [
        "b1e59aafccde9e548e9987a120a595c76af9ddc5"
      ],
      "author": {
        "name": "Ilia Kuklin",
        "email": "ikuklin@accesssoftek.com",
        "time": "Fri Apr 03 18:27:57 2026 +0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 06:30:39 2026 -0700"
      },
      "message": "[lldb] Make command-dil-diagnostics.test UNSUPPORTED on Windows (#190341)\n\nThe test from #187680 passes on some Windows buildbots, but fails on\nothers.\n\nGitOrigin-RevId: d8d2e3358cf573f1ebcc3e0b24a3757c4a86a1ba\n"
    },
    {
      "commit": "b1e59aafccde9e548e9987a120a595c76af9ddc5",
      "tree": "925bb99b29a78c36f89b3e41e4b61cb5dcbf6a36",
      "parents": [
        "21785dad017f72eee5b18ef47082cfaa14aae604"
      ],
      "author": {
        "name": "Sergei Barannikov",
        "email": "barannikov88@gmail.com",
        "time": "Fri Apr 03 14:32:37 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 04:36:14 2026 -0700"
      },
      "message": "[lldb] Return 0 instead of false from a function returning size_t (NFC) (#190334)\n\nGitOrigin-RevId: f1d167123c6f3628db632c993df3f35c6c0fd164\n"
    },
    {
      "commit": "21785dad017f72eee5b18ef47082cfaa14aae604",
      "tree": "d73d8f6ff28a69577532bfec05cbecdf60e30ea3",
      "parents": [
        "a180ba7e36fc220df4eed16c9b948690a9e437ff"
      ],
      "author": {
        "name": "Ilia Kuklin",
        "email": "ikuklin@accesssoftek.com",
        "time": "Fri Apr 03 16:29:33 2026 +0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 04:30:33 2026 -0700"
      },
      "message": "[lldb] Fix DIL error diagnostics output (#187680)\n\n* Correctly return the result when used from the console, so that\n`DiagnosticsRendering` could use it to output the error.\n* Add location pointer to `DILDiagnosticError` internal formatting to\nshow diagnostics when called from the API.\n\nGitOrigin-RevId: e24936b7ad5c6b1fdcc35d98c682fa5bd745e65b\n"
    },
    {
      "commit": "a180ba7e36fc220df4eed16c9b948690a9e437ff",
      "tree": "0b0123782f13d2979e70d0c923e96651538161f3",
      "parents": [
        "c287bdd05cb4f2886c7c0a6d3d29f0ce6c7ee3f8"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Fri Apr 03 08:03:11 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 00:06:07 2026 -0700"
      },
      "message": "[lldb][Module] Only call LoadScriptingResourceInTarget via ModuleList (#190136)\n\nThis patch is motivated by\nhttps://github.com/llvm/llvm-project/pull/189943, where we would like to\nprint the \"these module scripts weren\u0027t loaded\" warning for *all*\nmodules batched together. I.e., we want to print the warning *after* all\nthe script loading attempts, not from within each attempt.\n\nTo do so we want to hoist the `ReportWarning` calls in\n`Module::LoadScriptingResourceInTarget` out into the callsites. But if\nwe do that, the callers have to remember to print the warnings. To avoid\nthis, we redirect all callsites to use\n`ModuleList::LoadScriptingResourceInTarget`, which will be responsible\nfor printing the warnings.\n\nTo avoid future accidental uses of\n`Module::LoadScriptingResourceInTarget` I moved the API into\n`ModuleList` and made it `private`.\n\nGitOrigin-RevId: f91124a55b365284ad0e8fd8169bfa3b041bbbd8\n"
    },
    {
      "commit": "c287bdd05cb4f2886c7c0a6d3d29f0ce6c7ee3f8",
      "tree": "4abaf7a0a39ba30c9bdfbe649cedeb6fc8e3bb6a",
      "parents": [
        "b6bbdd8a2ba8aebf091da669b12458aa053c4b8f"
      ],
      "author": {
        "name": "Jason Molenda",
        "email": "jmolenda@apple.com",
        "time": "Thu Apr 02 16:33:00 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 16:35:47 2026 -0700"
      },
      "message": "[lldb][kernel debug] Add a missing call to scan local fs for kexts (#190281)\n\nA kernel developer noticed that I missed a call to index the local\nfilesystem in one of our codepaths, and had a use case that depended on\nthat working.\n\nrdar://173814556\n\nGitOrigin-RevId: 124b0a8fbb540c85e3a47d235a8ce10c48d1c7ca\n"
    },
    {
      "commit": "b6bbdd8a2ba8aebf091da669b12458aa053c4b8f",
      "tree": "4be59acbbe327452dc8af29561b87227922cabed",
      "parents": [
        "465bd7f2be0a6e3dbe62f774924e81a4fad10f55"
      ],
      "author": {
        "name": "Dave Lee",
        "email": "davelee.com@gmail.com",
        "time": "Thu Apr 02 15:20:49 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 15:25:40 2026 -0700"
      },
      "message": "[lldb] Simplify some tests to run_to_source_breakpoint (NFC) (#190082)\n\nMany tests have ad hoc forms of the launch \u0026 break steps done by\n`lldbutil.run_to_source_breakpoint`. This changes some of those tests to\nuse `run_to_source_breakpoint` instead.\n\nAssisted-by: claude\nGitOrigin-RevId: 8fa4b3d601d80df4c8c01db4d62ed1f2c01f754e\n"
    },
    {
      "commit": "465bd7f2be0a6e3dbe62f774924e81a4fad10f55",
      "tree": "5c746c6bb376eab11862ae4fff759807c9dcd594",
      "parents": [
        "040616479ee45d1a6565facdaa2e60fa6809df92"
      ],
      "author": {
        "name": "Alex Langford",
        "email": "alangford@apple.com",
        "time": "Thu Apr 02 11:12:47 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 11:15:58 2026 -0700"
      },
      "message": "[lldb] Remove libc++ category from TestNavigateHiddenFrame.py (#190016)\n\nThis test technically does not require libc++. The test binary mimics\nlibc++\u0027s namespace layout to trigger some frame hiding logic in lldb,\nbut it does not require libc++ to function.\n\nGitOrigin-RevId: e0e439ce9fb8a64f1c9d61c937374fe9dd7527db\n"
    },
    {
      "commit": "040616479ee45d1a6565facdaa2e60fa6809df92",
      "tree": "afa3c00e0b56c20d8ba2fdffa023b4dda5507842",
      "parents": [
        "eccad649012c020b80c79f0bf9dec2c9f23e972f"
      ],
      "author": {
        "name": "Alex Langford",
        "email": "alangford@apple.com",
        "time": "Thu Apr 02 11:12:00 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 11:15:48 2026 -0700"
      },
      "message": "[lldb] Standardize TestVectorOfEnums.py as a C++ data formatter test (#189757)\n\nThis is explicitly marked as a libc++ test and functionally tests the\nformatter for a vector of enums. I put it in the generic directory\nbecause there\u0027s no reason this couldn\u0027t work for other c++ stdlibs.\n\nAdditionally, this should be using the custom libc++ like the other\ntests.\n\nGitOrigin-RevId: 343210656cf7c2b89336adf1c063d7e8a305be4b\n"
    },
    {
      "commit": "eccad649012c020b80c79f0bf9dec2c9f23e972f",
      "tree": "6afd4558363314499ca6ec226c988b99da6c029d",
      "parents": [
        "daf7162fc2a4dace0bff45de37b37228aedf6dcd"
      ],
      "author": {
        "name": "Charles Zablit",
        "email": "c_zablit@apple.com",
        "time": "Thu Apr 02 15:08:52 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 07:10:50 2026 -0700"
      },
      "message": "[lldb][windows] simplify the ConPTY draining subprocess (#190178)\n\nIn some environments like swiftlang, the `\u0027\u0027` causes the command used to\ndrain the init sequence of the ConPTY to fail. Replacing with a `cls`\ninvocation removes the need for quotation marks and works just as well.\n\nGitOrigin-RevId: 29c083a61f2e2d821e339d7b370d0d4e5e8d7594\n"
    },
    {
      "commit": "daf7162fc2a4dace0bff45de37b37228aedf6dcd",
      "tree": "e4d0f85d1e6af23ddcc4a8e15cd928988e047697",
      "parents": [
        "f02c2661ff53def73247e8da79a99b963e217ad6"
      ],
      "author": {
        "name": "Charles Zablit",
        "email": "c_zablit@apple.com",
        "time": "Thu Apr 02 14:46:00 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 06:50:26 2026 -0700"
      },
      "message": "[lldb][windows] fix duplicate OnLoadModule events (#189376)\n\nGitOrigin-RevId: aff601aed894dadd71ae8049502f964d0554173f\n"
    },
    {
      "commit": "f02c2661ff53def73247e8da79a99b963e217ad6",
      "tree": "6e4d95db0674d71c44e4c700ea422891604fb8a2",
      "parents": [
        "ac415fc7b752a24d555f45057e3164921e6be489"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Thu Apr 02 11:13:44 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 03:15:35 2026 -0700"
      },
      "message": "[lldb][test][NFC] Move register command tests (#190144)\n\nFor whatever reason we ended up with register/register but the first\nregister just had the second register folder in it.\n\nMove the files up one level so we have register/\u003ctest files\u003e.\n\nGitOrigin-RevId: c329cc59d91b3f9774383e5e933d812539f17d1e\n"
    },
    {
      "commit": "ac415fc7b752a24d555f45057e3164921e6be489",
      "tree": "e54e20f034ebea8d126611e0de1c225feff02808",
      "parents": [
        "50f72295723acc7e8b7069202259531893871ce9"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Thu Apr 02 09:29:34 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 01:30:31 2026 -0700"
      },
      "message": "[lldb][AArch64][Linux] Qualify uses of user_sve_header (#190130)\n\nFixes #165413. Where a build failure was reported:\n```\n/b/s/w/ir/x/w/llvm-llvm-project/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp:1182:9: error: unknown type name \u0027user_sve_header\u0027; did you mean \u0027sve::user_sve_header\u0027?\n 1182 |         user_sve_header *header \u003d\n      |         ^~~~~~~~~~~~~~~\n      |         sve::user_sve_header\n```\nTo fix this, add sve:: as we do for all other uses of this.\n\nThis is LLDB\u0027s copy of a structure that Linux also defines. I think the\nbuild worked on some machines because that version ended up being\nincluded, but with a more isolated build, it may not.\n\nWe have our own definition of it so we can be sure what we\u0027re using in\ncase Linux extends it later.\n\nGitOrigin-RevId: 5f6835daf481948f42740f5167221dba608a6493\n"
    },
    {
      "commit": "50f72295723acc7e8b7069202259531893871ce9",
      "tree": "12b715792ca9d1c583265ca476199878b2c71719",
      "parents": [
        "95547b4901e81d7fb51a077e64d055021be2e1da"
      ],
      "author": {
        "name": "Med Ismail Bennani",
        "email": "ismail@bennani.ma",
        "time": "Wed Apr 01 14:04:29 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 01 14:05:36 2026 -0700"
      },
      "message": "[lldb/test] Codesign executables built with custom Makefile rules (#189902)\n\nTests with custom a.out targets in their Makefile (i.e.\n`TestBSDArchives.py`) bypass the standard Makefile.rules linking step\nwhere `CODESIGN` is applied. This leaves the binary unsigned, causing\nthe process to get kill it on remote darwin devices.\n\nThis adds a codesigning step to the all target in Makefile.rules that\nsigns both $(EXE) and a.out if they exist. This ensures all test\nbinaries are signed regardless of how they were built.\n\nrdar://173840592\n\nSigned-off-by: Med Ismail Bennani \u003cismail@bennani.ma\u003e\nGitOrigin-RevId: 478a6abc0ceea812c9486d13fda4afbe876c670f\n"
    },
    {
      "commit": "95547b4901e81d7fb51a077e64d055021be2e1da",
      "tree": "564098e347d578f44615c774cd3fa66846e98e64",
      "parents": [
        "feaf2720ffe8999752d3bab8fd082603b80e179e"
      ],
      "author": {
        "name": "Jonas Devlieghere",
        "email": "jonas@devlieghere.com",
        "time": "Wed Apr 01 12:27:26 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 01 10:31:04 2026 -0700"
      },
      "message": "Revert \"[lldb] Increase timeout on lldbutil.wait_for_file_on_target\" (#190004)\n\nReverts llvm/llvm-project#189471 because it seems like this breaks the\nSanitized bots:\nhttps://github.com/llvm/llvm-project/pull/189471#issuecomment-4171688975\n\nGitOrigin-RevId: 66d1dc48ad7bc344e2656fcf3afb7470c70a9382\n"
    },
    {
      "commit": "feaf2720ffe8999752d3bab8fd082603b80e179e",
      "tree": "acebf73a20bba530265e9652c0d5ab4671a5debf",
      "parents": [
        "791e3adccefcf604e2eff9049a781a1c23455dfe"
      ],
      "author": {
        "name": "Dave Lee",
        "email": "davelee.com@gmail.com",
        "time": "Wed Apr 01 09:24:55 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 01 09:30:17 2026 -0700"
      },
      "message": "[lldb] Const some ASTContext pointers in TypeSystemClang (NFC) (#189975)\n\nGitOrigin-RevId: 015f864215e91d05199fc3c61ef0ee804975d57e\n"
    },
    {
      "commit": "791e3adccefcf604e2eff9049a781a1c23455dfe",
      "tree": "4bb9c52cc2dd82e609e2f33d26ffae3a8a6bfb70",
      "parents": [
        "1fc2292bff14ffc02b3cd0a5e93427a99f92cbc3"
      ],
      "author": {
        "name": "Charles Zablit",
        "email": "c_zablit@apple.com",
        "time": "Wed Apr 01 14:47:08 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 01 06:51:00 2026 -0700"
      },
      "message": "[lldb][windows] refactor FileAction (#179274)\n\nGitOrigin-RevId: d95292f67b48666be421afe0a3d919480458a6df\n"
    },
    {
      "commit": "1fc2292bff14ffc02b3cd0a5e93427a99f92cbc3",
      "tree": "9b67fe24ff066a2f8d81b260604eeab983e006bc",
      "parents": [
        "439dd374c75e42dca0ba86961c46eac958f6f8c9"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Wed Apr 01 14:03:51 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 01 06:05:08 2026 -0700"
      },
      "message": "[lldb][AArch64][Linux] Add tests for SME only support (#165414)\n\nThis PR is the tests for #138717. I have split it from implementation as\nthere is a lot of code, and the two don\u0027t really overlap. The tests are\nchecking what a user will see in LLDB, and only indirectly what happens\nin lldb-server.\n\nThere are two types of tests, the first is register access tests. These\nstart in a given mode, where a mode is a combination of the streaming\nmode on or off, ZA on or off, and a vector length.\n\nFor register access tests I have used two states:\n* Streaming mode, ZA on, default vector length\n* Non-streaming mode, ZA off, default vector length\n\n(changing mode and vector length is tested in existing SVE+SME tests and\nthe expression tests I\u0027m adding in this same PR)\n\nThe test program:\n* Sets up the requested mode.\n* Allocates a bunch of buffers for LLDB to write expected register\nvalues to.\n* Sets initial register values.\n\nThen LLDB looks for those expected values. Assuming they are present, it\nthen writes a new set of values to the registers, and to the buffers\nwithin the program. The program is then stepped, which runs an\nin-process function to check that it now sees those register values. If\nthat function fails, we have a bug. If it does not, LLDB then checks for\nthe same values.\n\nThis process repeats for several registers. Hence the repeated calls to\ncheck_register_values in the test program.\n\nIn this way we make sure that LLDB sends the correct values to ptrace by\nvalidating them in process. Also that LLDB does not write other\nregisters in the process of writing one register. Which happened to me\nseveral times during development.\n\nThe buffer writes are done with memory writes not expression evaluation\nbecuase at this stage we cannot trust that expressions work (the\nexpression tests will later prove that they do).\n\nThe second type of tests are expression state restoration tests. For\neach combination of states we check that we can restore to a given state\nif an expression takes us into the other state. This includes between\nthe same state, and adds an extra vector length to check expanding and\nshrinking SVE buffers. This produces roughly 64 tests.\n\nI have written them all as one test case in a loop because these take a\nlong time (~20 minutes on an FVP) and you almost always want it to fail\nfast. When tracing is enabled you\u0027ll see the current states logged.\n\nIt\u0027s possible that we could skip some of these tests as being very\nunlikely to ever happen, but in the spirit of\n\"There are Only Four Billion Floats–So Test Them All!\" I think it is\nsimpler to enumerate every possible state change.\n\nI have not added a test for executing an expression incompatible with\nthe current mode because this leads to SIGILL, which I know we already\nhandle. At this time LLDB makes no effort to make the expression\ncompatible with the current mode either.\n\nGitOrigin-RevId: 23d76784a5aa01140543881f2c27ace6a6545f98\n"
    },
    {
      "commit": "439dd374c75e42dca0ba86961c46eac958f6f8c9",
      "tree": "789b787fddda32fab8095844eb4742b138f238cc",
      "parents": [
        "9a78e2db22e133a4a745b192ad98c2aad7ce00af"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Wed Apr 01 13:59:09 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 01 06:00:30 2026 -0700"
      },
      "message": "[lldb][docs] Add documentation for AArch64 Linux SME only support (#165415)\n\nAs for other features, this is a mixture of user facing decisions and\ninternal design decisions.\n\nGitOrigin-RevId: bc36746ddfee3ca7724e00311f6371090a43754c\n"
    },
    {
      "commit": "9a78e2db22e133a4a745b192ad98c2aad7ce00af",
      "tree": "f49529fe154f1c0f70100a59facdd167a94588e1",
      "parents": [
        "673281d9b3e06f9169668c4c2f10fa80ef7caea4"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Wed Apr 01 13:30:25 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 01 05:35:30 2026 -0700"
      },
      "message": "[lldb][AArch64][Linux] Add support for SME only systems (#165413)\n\nThis is the implementation part of #138717, tests and documentation will\nbe in a separate PR.\n\nSME only systems have SME but not SVE. Previously we assumed that you\nwould either have SVE, SVE+SME, or neither. On an SME only system, the\nSVE register state exists only in streaming mode. SVE instructions may\nbe used, but only in streaming mode. The Linux kernel will report that\nsuch a processor has SME features but no SVE features.\n\nThis means that the non-streaming SVE ptrace register set is\ninaccessible (with one exception mentioned below). So the main change\nhere is around the management of FP registers.\n\n* In non-streaming mode, FP registers must be accessed via the FP\nregister set. Not the non-streaming SVE register set.\n* In streaming mode, FP registers are a subset of the streaming SVE\nregisters, accessed via the streaming SVE register set.\n\nThe one exception the kernel allows is:\n\u003e On systems that do not support SVE it is permitted to use SETREGSET to\nwrite SVE_PT_REGS_FPSIMD formatted data via NT_ARM_SVE, in this case the\nvector length should be specified as 0. This allows streaming mode to be\ndisabled on systems with SME but not SVE.\n\nhttps://docs.kernel.org/arch/arm64/sve.html\n\nThis is how we are able to restore to a non-streaming state when an\nexpression leaves us in streaming mode.\n\nThe major changes to LLDB are:\n* If we receive only SVG in the expedited registers, we now assume it\u0027s\nan SME only system and therefore VG \u003d\u003d SVG.\n* A new state SVEState::StreamingFPSIMD is added to mark the mode where\nwe are in FPSIMD mode on an SME only system (as opposed to the FPSIMD\nstate of an SVE or SVE+SME system).\n* CalculateFprOffset now returns different results depending on whether\nwe have only SIMD or we have streaming SVE. In the latter case, the\nstored register offsets are relative to the SVE registers, but actual\naccesses need to be relative to the ptrace FP register set.\n* In WriteAllRegisters, if we have an FP set to restore on an SME only\nsystem we assume we must have been in non-streaming mode at the time of\nthe save. So we restore it using the previously mentioned non-streaming\nSVE write.\n* GetSVERegSet and ConfigureRegisterContext were updated to handle the\nnew StreamingFPSIMDOnly state.\n\nGitOrigin-RevId: ed48aeadf37ad811f5fa999e2de07f1ae05d1e24\n"
    },
    {
      "commit": "673281d9b3e06f9169668c4c2f10fa80ef7caea4",
      "tree": "4c47c58269cfaee1cae135c895849c142c2095b8",
      "parents": [
        "334226ef785b18fcb6360c3b8e9ae2ab9ee158c3"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Wed Apr 01 09:26:02 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 01 01:31:03 2026 -0700"
      },
      "message": "[lldb] Replace OptionalBool with LazyBool (#189652)\n\nThe only difference between them is that OptionalBool\u0027s third state\nis \"unknown\" and LazyBool\u0027s is \"calculate\". We don\u0027t need to tell\nthe difference in a single context, so I\u0027ve made a new eLazyBoolDontKnow\nwhich is an alias of eLazyBoolCalculate.\n\nGitOrigin-RevId: 2e51fdaa774be8e0d6b4d6743a2f77cdb3a71e3c\n"
    },
    {
      "commit": "334226ef785b18fcb6360c3b8e9ae2ab9ee158c3",
      "tree": "2af797ba6e57d3fb97bea49ad3e26bf17efb6813",
      "parents": [
        "76803a5f5632839bf5f87a3e49fd4a717cd4f03e"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Tue Mar 31 23:24:00 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 15:26:22 2026 -0700"
      },
      "message": "[lldb][Platform] Handle LoadScriptFromSymFile per-module FileSpec (#189696)\n\nThis patch changes the `Platform::LocateXXX` to return a map from\n`FileSpec` to `LoadScriptFromSymFile` enum.\n\nThis is needed for https://github.com/llvm/llvm-project/pull/188722,\nwhere I intend to set `LoadScriptFromSymFile` per-module.\n\nBy default the `Platform::LocateXXX` set the value to whatever the\ntarget\u0027s current `target.load-script-from-symbol-file` is set to. In\nhttps://github.com/llvm/llvm-project/pull/188722 we\u0027ll allow overriding\nthis per-target setting on a per-module basis.\n\nDrive-by:\n* Added logging when we fail to load a script.\nGitOrigin-RevId: 89dec12692c7654455977932cf99d643e58b3157\n"
    },
    {
      "commit": "76803a5f5632839bf5f87a3e49fd4a717cd4f03e",
      "tree": "7221e9085a4058071b901034e231e352affdcdde",
      "parents": [
        "4628b0121935b149580eaebeb16942ee3bd3ac97"
      ],
      "author": {
        "name": "cmtice",
        "email": "cmtice@google.com",
        "time": "Tue Mar 31 14:13:48 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 14:15:49 2026 -0700"
      },
      "message": "[LLDB] Add allow_var_updates to DIL and CanUpdateVar to SetValueFromInteger (#186421)\n\nIn preparation for updating DIL to handle assignments, this adds a\nmember variable to the DIL Interpreter indicating whether or not\nupdating program variables is allowed. For invocations from the LLDB\ncommand prompt (through \"frame variable\") we want to allow it, but from\nother places we might not. Therefore we also add new StackFrame\nExpressionPathOption, eExpressionPathOptionsAllowVarUpdates, which we\nadd to calls from CommandObjectFrame, and which is checked in\nGetValueForVariableExpressionPath. Finally, we also add a parameter,\ncan_update_vars, with a default value of true, to\nValueObject::SetValueFromInteger, as that will be the main function used\nto by assignment in DIL.\nGitOrigin-RevId: f43ee18e988d923ef5529f1df3910bd2af09e825\n"
    },
    {
      "commit": "4628b0121935b149580eaebeb16942ee3bd3ac97",
      "tree": "dde31d160121b1dd47f1973ff27eb6cbc72ef364",
      "parents": [
        "23309921692bf008c4362fd3da7a14fbdce0d32f"
      ],
      "author": {
        "name": "Alex Langford",
        "email": "alangford@apple.com",
        "time": "Tue Mar 31 12:36:51 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 12:41:04 2026 -0700"
      },
      "message": "[lldb] Increase timeout on lldbutil.wait_for_file_on_target (#189471)\n\nI\u0027ve been tracking sporadic timeouts waiting for a file to appear on\nmacOS buildbots (and occasionally local development environments). I\nbelieve I\u0027ve tracked it down to a regression in process launch\nperformance in macOS.\n\nWhat I noticed is that running multiple test suites simultaneously\nalmost always triggered these failures and that the tests were always\nwaiting on files created by the inferior. Increasing this timeout no\nlonger triggers the failures on my loaded machine locally.\n\nThis timeout moves from about 16 seconds of total wait time to about 127\nseconds of total wait time. This may feel a bit extreme, but this is a\nperformance issue. While I was here, I cleaned up logging code I was\nusing to investigate the test failures.\n\nrdar://172122213\n\nGitOrigin-RevId: 626f942073b93b427e1c41e22c297becaa7bb9ae\n"
    },
    {
      "commit": "23309921692bf008c4362fd3da7a14fbdce0d32f",
      "tree": "bb9595aec230840d246228d6fb1038534ce17eb3",
      "parents": [
        "876731bff1e91973033a7cfb670f638c8fcd2c7d"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Tue Mar 31 18:52:13 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 10:55:49 2026 -0700"
      },
      "message": "[lldb][Module] Add logging when script import fails (#189695)\n\nWe already log the import attempt. This patch logs the failure to load\nthe script since otherwise the log may be misleading. Didn\u0027t think it\nwas worth adding a test-case for this.\n\nGitOrigin-RevId: 5c71351cf79471845aaa94fff187b9c9d0ac145f\n"
    },
    {
      "commit": "876731bff1e91973033a7cfb670f638c8fcd2c7d",
      "tree": "71d903e1f04e0d353bf2f4425edd152ab94eb280",
      "parents": [
        "800bd1caa2b55db4815c2a14b17e49745d819d24"
      ],
      "author": {
        "name": "Dave Lee",
        "email": "davelee.com@gmail.com",
        "time": "Tue Mar 31 09:46:09 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 09:50:22 2026 -0700"
      },
      "message": "[lldb][bytecode] Remove \"Generated with\" comment (#189704)\n\nIn most cases, some other script/tool will call the compiler, and it\u0027s\nthe invocation of that script that ought to be documented in the output.\n\nGitOrigin-RevId: f74f32b529c35531198621fd104cde5d2cf77e0c\n"
    },
    {
      "commit": "800bd1caa2b55db4815c2a14b17e49745d819d24",
      "tree": "b4ffdf373bc24280aef267dd9f4483de1f7c94eb",
      "parents": [
        "3fe54750445c51b209e9f0fd45cb1abb58dfa385"
      ],
      "author": {
        "name": "Dave Lee",
        "email": "davelee.com@gmail.com",
        "time": "Tue Mar 31 08:56:14 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 09:00:31 2026 -0700"
      },
      "message": "[lldb][bytecode] Add append mode for compiler output (#189693)\n\nGitOrigin-RevId: 4087c5f30d133087b7706db80e27b2d35dd334af\n"
    },
    {
      "commit": "3fe54750445c51b209e9f0fd45cb1abb58dfa385",
      "tree": "f00d63b2cb79d4835015ffb4f70de7bff4e45de3",
      "parents": [
        "2921af45edbd398636bd3fbdb8c2c5caa149497f"
      ],
      "author": {
        "name": "Dave Lee",
        "email": "davelee.com@gmail.com",
        "time": "Tue Mar 31 08:23:30 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 08:26:13 2026 -0700"
      },
      "message": "[lldb][bytecode] Improvements to compiler generated Swift (#189425)\n\nFollowing feedback from @benrimmington in\nhttps://github.com/apple/swift-collections/pull/607, this changes the\nfollowing:\n\n1. Uses `objectFormat()` compiler conditional instead of `os()` (see\n\"Cross-platform object file format support\" in\n[SE-0492](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0492-section-control.md#cross-platform-object-file-format-support))\n2. Uses a raw identifier for the generated Swift symbol name, instead of\nan escaped name (see\n[SE-0451](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0451-escaped-identifiers.md))\n\nGitOrigin-RevId: b66d98afb9e09864f5857ab17ec2e6ee344ee31d\n"
    },
    {
      "commit": "2921af45edbd398636bd3fbdb8c2c5caa149497f",
      "tree": "05622a3ba66cf9567d8af8fdfa2800595ef635fb",
      "parents": [
        "947c1ad28f7b7fe4ae8d32ba67c19b1d982089e0"
      ],
      "author": {
        "name": "John Harrison",
        "email": "harjohn@google.com",
        "time": "Tue Mar 31 06:41:35 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 06:43:44 2026 -0700"
      },
      "message": "[lldb-dap] Correct attaching by program basename. (#188886)\n\nFixes an issue where attaching by program would fail if the program name\nwas a partial name (e.g. \"foobar\" instead of \"/path/to/foobar\").\n\nWe failed to create the target which caused the attach to fail. Now we\nfallback to the dummy target and update to the real target after the\nattach completes.\n\nHere is an example launch configuration that fail:\n\n```\n{\n  \"type\": \"lldb-dap\",\n  \"name\": \"Attach (wait)\",\n  \"request\": \"attach\",\n  \"program\": \"foobar\",\n  \"waitFor\": true\n},\n```\n\nGitOrigin-RevId: e7483770c71dc502462fa717623b808161b47ad6\n"
    },
    {
      "commit": "947c1ad28f7b7fe4ae8d32ba67c19b1d982089e0",
      "tree": "f205acb49fe59a8a8970d5edb43d1aa175d17e8a",
      "parents": [
        "e52cdfa112fb867f0c5bbd82d520a5981b4902ae"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Tue Mar 31 13:04:47 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 05:10:56 2026 -0700"
      },
      "message": "[lldb] Remove \"flash\" and \"blocksize\" from MemoryRegionInfo constructor (#189636)\n\nThese are only set to non-default values after calling a constructor.\nRemoving them removes noise from many tests that make MemoryRegionInfos.\n\nGitOrigin-RevId: f14b865ff54d60901b43e7f7e96d91b9fa82ba9f\n"
    },
    {
      "commit": "e52cdfa112fb867f0c5bbd82d520a5981b4902ae",
      "tree": "63522392f2e74eb6c3dfc657a60727f7b6223e19",
      "parents": [
        "55553f18d6271174da6844c042219fab07e6b649"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Tue Mar 31 12:47:47 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 04:50:41 2026 -0700"
      },
      "message": "[lldb] Remove memory_tagged from MemoryRegionInfo (#189617)\n\nBy turning SetMemoryTagged into a builder method (returns a reference to\nself). Then only using that in the tests that need to change the default\nof \"don\u0027t know\".\n\nGitOrigin-RevId: c6b3da6b3eef3d49b5704950db052c10aabdcbf7\n"
    },
    {
      "commit": "55553f18d6271174da6844c042219fab07e6b649",
      "tree": "0795bc40fedbdf1c670d67440e8ad750682a03d8",
      "parents": [
        "06d1b3cff422d5276bf7f2f4496951be4b90abc4"
      ],
      "author": {
        "name": "Charles Zablit",
        "email": "c_zablit@apple.com",
        "time": "Tue Mar 31 12:09:52 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 04:16:41 2026 -0700"
      },
      "message": "[lldb] add getFullLibName to PlatformContext (#188772)\n\nThis patch introduces `PlatformContext.getFullLibName` which returns the\nfull dylib name for any platform based on the base name of the dylib.\n\nExample:\n```\n# Windows\nPlatformContext.getFullLibName(\"Foo\") -\u003e \"Foo.dll\"\n# Linux\nPlatformContext.getFullLibName(\"Foo\") -\u003e \"libFoo.so\"\n```\nGitOrigin-RevId: caecca035ab9fdccd1fd1b1b17452b415f89b366\n"
    },
    {
      "commit": "06d1b3cff422d5276bf7f2f4496951be4b90abc4",
      "tree": "b3abb598050e746f9650d1e75e17f7205a657522",
      "parents": [
        "7371a653b30b54fa0da24cd31216b9d7900ab459"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Tue Mar 31 11:17:06 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 03:20:51 2026 -0700"
      },
      "message": "[lldb] Remove stack_memory from MemoryRegionInfo constructor (#189580)\n\nNothing passes anything but the default value here. Code that wants to\nset it is starting with a default constructed info, and filling in the\nfields one by one (the gdb-remote client for example).\n\nGitOrigin-RevId: c6b255a693f042214e4f15dd7f69063d8315f0d7\n"
    },
    {
      "commit": "7371a653b30b54fa0da24cd31216b9d7900ab459",
      "tree": "596f99500515f4aee5cf4886a4224bd43aec790f",
      "parents": [
        "e4d2f47995a165f273550890a1d3074df4d26add"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Tue Mar 31 09:56:39 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 02:00:29 2026 -0700"
      },
      "message": "[lldb] Change MemoryRegionInfo::SetIsShadowStack into a \"builder\" method (#189565)\n\nMeaning a method on an object, which returns a reference to self.\n\nI am doing this because it was pointed out to me that MemoryRegionInfo\nhas lots of construction paramaters, and most of the time, we want the\ndefault value for most of the things.\n\nSo now we can do:\nMemoryRegionInfo(...); // Shadow stack is \"don\u0027t know\".\nMemoryRegionInfo(...).SetIsShadowStack(eNo) // Shadow stack is \"no\".\n\nWhich removes one parameter from every use of the constructor.\n\nAlong the way I realised that the shadow stack \"ss\" flag is only tested\nby the Guarded Control Stack tests, which only run on specific Arm\nhardware. I\u0027ve added a new \"ss\" test to LinuxProcMapsTest, which will\nrun on any system.\n\nGitOrigin-RevId: a8a659458d4ad9116d652ca4eccb77d6cd673883\n"
    },
    {
      "commit": "e4d2f47995a165f273550890a1d3074df4d26add",
      "tree": "8570f009c3db863f89be556a96bf26b27b79697d",
      "parents": [
        "882aa3f90c37c44d2f76a6e9767f7a09921006ae"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Tue Mar 31 09:33:44 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 01:36:04 2026 -0700"
      },
      "message": "[lldb] Only create RegisterTypeBuilderClang plugin once (#189393)\n\nThis plugin creates types based on information from target XML, which is\nparsed only once per session. It has internal logic to reuse created\ntypes, but the plugin itself was being remade every time a type was\nrequested.\n\nGitOrigin-RevId: 0f75ecf2326d70394026277d9b40f6e53434c6da\n"
    },
    {
      "commit": "882aa3f90c37c44d2f76a6e9767f7a09921006ae",
      "tree": "d33bb9eebf170a84d63e7702f6457447880b019f",
      "parents": [
        "ed2ab681015cedef40abe5202db447f3bec237a8"
      ],
      "author": {
        "name": "Jim Lin",
        "email": "jim@andestech.com",
        "time": "Tue Mar 31 08:15:24 2026 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 30 17:20:24 2026 -0700"
      },
      "message": "[lldb] Fix copy-paste error in SetPrivateRunLockToRunning (#189322)\n\nSetPrivateRunLockToRunning incorrectly delegated to\nSetPrivateRunLockToStopped instead of SetPrivateRunLockToRunning,\ncausing the private run lock to never transition to the running state on\nprocess resume.\n\nCo-authored-by: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\nGitOrigin-RevId: b255e78cb9bf40ecc4c4a28ab81887de68b8afc3\n"
    },
    {
      "commit": "ed2ab681015cedef40abe5202db447f3bec237a8",
      "tree": "db103a8e79dd62ed6756891db4592325e2f0589d",
      "parents": [
        "8bf9dbffecc7027a310356d0cce1d58e0580739f"
      ],
      "author": {
        "name": "Jason Molenda",
        "email": "jmolenda@apple.com",
        "time": "Mon Mar 30 15:01:33 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 30 15:05:44 2026 -0700"
      },
      "message": "[lldb][macOS] Recognize new layouts for DeviceSupport directories (#188646)\n\nWhen debugging a remote Darwin device (iOS, macOS, etc), lldb needs to\nfind a local copy of all the system libraries (the system\u0027s shared\ncache) so we don\u0027t need to read them over gdb-remote serial protocol at\nthe start of every debug session.\n\nXcode etc normally creates these expanded shared caches in\n~/Library/Developer/Xcode/\u003cOS\u003e DeviceSupport/\u003cOS VER\u003e (\u003cOS\nBUILD\u003e)/Symbols\n\nSo when lldb sees a file like /usr/lib/libSystem.B.dylib, it may find a\ncopy at in\n~/L/D/Xcode/iOS DeviceSupport/26.2\n(23B87)/Symbols/usr/lib/libSystem.B.dylib\n\nThere may be multiple expanded shared caches in these DeviceSupport\ndirectories, so we try to parse the \"os version\" and \"os build\" out of\nthe filepath name, and look in a directory that matches the target\ndevice\u0027s OS Version as an optimization, to avoid opening the given file\nin other DeviceSupport directories.\n\nThere is a new layout where the cpu arch exists as a subdirectory under\nthe \"\u003cOS VER\u003e (\u003cOS BUILD\u003e)\" directory. e.g.\n\n~/L/D/Xcode/iOS DeviceSupport/26.2 (23B87)/arm64e/Symbols/...\n\nand it is possible that we could have multiple arch names for a given\nbuild -- for instance, an Apple Watch that can have either arm64e or\narm64_32 shared caches.\n\nThe existing code also had a very simplistic way of parsing \"\u003cOS VER\u003e\n(\u003cOS BUILD\u003e)\" from the directory name that hasn\u0027t been kept up to date\nwith how the directory names have changed over the years. We have some\nlike \"Watch4,2 10.0 (21R329)\" or \"10.0 (21R329) universal\" which may not\nparse with the older parser.\n\nThis PR looks for target arch subdirs under the given directories,\npasses the os version/build version string separately because it may not\nbe the final component in the directory name any more, and updates the\ndirectory parser that finds the version and build numbers.\n\nrdar://171821410\n\nGitOrigin-RevId: 5b00cdf8e18354764c8cdd27a8ad3f858afd76bb\n"
    },
    {
      "commit": "8bf9dbffecc7027a310356d0cce1d58e0580739f",
      "tree": "69cc1cb4e79eb2616865293803042d5aaf2544df",
      "parents": [
        "69599404dc0a2484b129a1438b2e3284dfa4f184"
      ],
      "author": {
        "name": "John Harrison",
        "email": "harjohn@google.com",
        "time": "Mon Mar 30 11:13:49 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 30 11:15:29 2026 -0700"
      },
      "message": "[lldb] In python tests, call dumpSessionInfo(). (#188859)\n\nUpdates the lldb python test suite to ensure we call dumpSessionInfo()\nin the test result\u0027s stopTest() method. This will ensure that we get the\nsession info dumped for all tests, even those that don\u0027t have an\nexplicit call to dumpSessionInfo() in the test case.\n\nAdditionally, I updated the lldb-dap test case to mark the \u0027-dap.log\u0027 as\na log file, which will be recorded in the test output on failure.\n\nHere is an example test run with a failure:\n\n```\nPASS: LLDB (build/bin/clang-arm64) :: test_step (TestDAP_step.TestDAP_step)\nFAIL: LLDB (build/bin/clang-arm64) :: test_step_over_inlined_function (TestDAP_step.TestDAP_step)\nLog Files:\n - build/lldb-test-build.noindex/tools/lldb-dap/step/TestDAP_step/Failure.log\n - build/lldb-test-build.noindex/tools/lldb-dap/step/TestDAP_step/Failure-dap.log\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nFAIL: test_step_over_inlined_function (TestDAP_step.TestDAP_step)\n   Test stepping over when the program counter is in another file.\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \"llvm-project/lldb/test/API/tools/lldb-dap/step/TestDAP_step.py\", line 113, in test_step_over_inlined_function\n    self.assertFalse(\nAssertionError: True is not false : expect path ending with \u0027main.cpp\u0027.\nConfig\u003darm64-build/bin/clang\n----------------------------------------------------------------------\nRan 2 tests in 4.849s\n```\nGitOrigin-RevId: dd59a99cbf7cc1674689ca89504bf808727e8643\n"
    },
    {
      "commit": "69599404dc0a2484b129a1438b2e3284dfa4f184",
      "tree": "e5bc8274595501d566bea6716cbf5299a6b886c3",
      "parents": [
        "9beb9812fc3775dcaaf9c160f1e1ecf71a02130a"
      ],
      "author": {
        "name": "Charles Zablit",
        "email": "c_zablit@apple.com",
        "time": "Mon Mar 30 18:33:45 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 30 10:35:33 2026 -0700"
      },
      "message": "[lldb-dap][windows] don\u0027t use the ConPTY in internalConsole mode (#186472)\n\nIn `internalConsole` mode (especially in VSCode), lldb-dap should not\nuse the ConPTY to read the process\u0027 output. This is because the\ninternalConsole is not a real terminal, there is no reason to use\nterminal emulation, which will add arbitrary line returns to the output.\n\nInstead, this patch introduces the `eLaunchFlagUsePipes` flag in\nProcessLaunchInfo which tells ProcessLaunchWindows to use regular pipes\ninstead of a ConPTY to get the stdin and stdout of the debuggee.\n\nThe result is that output which is supposed to be on a single line is\nproperly rendered.\n\n---\n\nThe following example is when debugging a program through lldb-dap on\nWindows. The program prints the numbers 0 through 999 on a single line.\n\n# Before\n\u003cimg width\u003d\"2214\" height\u003d\"672\" alt\u003d\"Screenshot 2026-03-13 at 17 07 35\"\nsrc\u003d\"https://github.com/user-attachments/assets/26292d11-2288-46ee-a6d2-0b66bfa41288\"\n/\u003e\n\nThe line is split if it\u0027s longer than 80 characters (default terminal\nsize).\n\n# After\n\u003cimg width\u003d\"2215\" height\u003d\"689\" alt\u003d\"Screenshot 2026-03-13 at 17 12 39\"\nsrc\u003d\"https://github.com/user-attachments/assets/c9cad9af-b1ce-4c7b-91d5-f684e48e64ca\"\n/\u003e\n\nThe line is correctly printed as a single line.\n\nrdar://172491166\n\nGitOrigin-RevId: 87085a87051bf769eeadd848d695fea01f33e933\n"
    },
    {
      "commit": "9beb9812fc3775dcaaf9c160f1e1ecf71a02130a",
      "tree": "33ce6d1db133099907140117dcb642158745df57",
      "parents": [
        "dce207a22026470089864649fc9fae0da0321301"
      ],
      "author": {
        "name": "Sergei Barannikov",
        "email": "barannikov88@gmail.com",
        "time": "Mon Mar 30 19:27:51 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 30 09:29:39 2026 -0700"
      },
      "message": "[lldb] Use ArrayRef instead of pointer+size (NFC) (#189186)\n\nWhile here:\n* Move the constructor to the public section. Almost all ThreadPlan\nclasses have public constructors.\n* Use `std::make_shared()`. It is modern and more efficient.\n\nGitOrigin-RevId: acb3d81a932c094ee1e71bca6aa60e69cac43c65\n"
    },
    {
      "commit": "dce207a22026470089864649fc9fae0da0321301",
      "tree": "d41470409fbcbf95276bd5ace600e46d029f9aa0",
      "parents": [
        "dac44ca0870d2a67f7f4fcbaac899077461e79fa"
      ],
      "author": {
        "name": "Charles Zablit",
        "email": "c_zablit@apple.com",
        "time": "Mon Mar 30 17:01:40 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 30 09:04:08 2026 -0700"
      },
      "message": "[lldb-dap][windows] add integratedTerminal and externalTerminal support (#174635)\n\nGitOrigin-RevId: 1f0638cd3e53b394e31adb214a6ab12348cb722e\n"
    },
    {
      "commit": "dac44ca0870d2a67f7f4fcbaac899077461e79fa",
      "tree": "879df6446122f3ca4e5269d1ae8dbc55b67dd1ce",
      "parents": [
        "295de306c323166cf6fc92f39e80010fdd03e043"
      ],
      "author": {
        "name": "Sergei Barannikov",
        "email": "barannikov88@gmail.com",
        "time": "Mon Mar 30 18:45:36 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 30 08:47:38 2026 -0700"
      },
      "message": "[lldb] Fix a circular include dependency (NFC) (#188931)\n\n`lldb-private-types.h` includes `lldb-private.h`, which in turn includes\n`lldb-private-types.h`. Because of that, `lldb-public.h` included by\n`lldb-private.h` after `lldb-private-types.h` is not actually included.\n\nThe practical consequence of this is that types defined in\n`lldb-public-types.h` (for example, `addr_t` needed downstream) are not\navailable in `lldb-private-types.h`.\n\nFix this by \"including what you use\", which is `lldb-types.h`.\n\nGitOrigin-RevId: 4d7339a14df8519b48f236ea5d6439d04f00eec2\n"
    },
    {
      "commit": "295de306c323166cf6fc92f39e80010fdd03e043",
      "tree": "f11d2c2da053e448fd29f6153c02d93ec680c970",
      "parents": [
        "4b3362133c7ead7be7dee7f1a0effb0c2f3c7398"
      ],
      "author": {
        "name": "divVerent",
        "email": "divVerent@gmail.com",
        "time": "Mon Mar 30 11:37:45 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 30 02:40:56 2026 -0700"
      },
      "message": "Serialize `#pragma redefine_extname` into precompiled headers. (#186755)\n\nAlso deserialize them back again on reading.\n\nThe implementation is based on the existing implementation of `#pragma\nweak` serialization.\n\nFixes issue #186742.\n\n---------\n\nCo-authored-by: Chuanqi Xu \u003cyedeng.yd@linux.alibaba.com\u003e\nGitOrigin-RevId: 475f71e8fa15ee71f99e450a0e1c90d3961005f9\n"
    },
    {
      "commit": "4b3362133c7ead7be7dee7f1a0effb0c2f3c7398",
      "tree": "afb8108a9c9a688a1b5d171c034eef59836c4649",
      "parents": [
        "4cd230de4a3844367bb27cd92507b22157de5f6e"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Mon Mar 30 09:36:01 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 30 01:40:51 2026 -0700"
      },
      "message": "[lldb] Use AppendMessageWithFormatv instead of AppendMessageWithFormat (#185634)\n\nPart 4. This converts all the remaining simple uses (the ones that ended\nwith a newline).\n\nWhat remains in tree are the outliers that expect multiple ending\nnewlines, or are building a message in pieces.\n\nGitOrigin-RevId: 85446d41458319709333355745b8c8574c52d05f\n"
    },
    {
      "commit": "4cd230de4a3844367bb27cd92507b22157de5f6e",
      "tree": "aefdd95c19540bd83ad00f786bf03b4b3809f4f8",
      "parents": [
        "6b6078d457607ed95286351143ee61aa004a6460"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Mon Mar 30 08:39:52 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Mar 29 23:46:05 2026 -0700"
      },
      "message": "[lldb] Remove data_offset arg from GetModuleSpecifications (#188978)\n\n- it is always passed as zero\n- a lot of plugins aren\u0027t using it correctly\n- the data extractor class already has the capability to look at a\nsubset of bytes\n\nGitOrigin-RevId: 17491d91301a9b5576f87120fda607d9e73b1009\n"
    },
    {
      "commit": "6b6078d457607ed95286351143ee61aa004a6460",
      "tree": "4b46fcbcbb92dc750ef3928a76d8935c044c4a10",
      "parents": [
        "e347ac61397059716a31f38e819a8cf8d3e4d1a1"
      ],
      "author": {
        "name": "Minsoo Choo",
        "email": "minsoochoo0122@proton.me",
        "time": "Mon Mar 30 14:34:43 2026 +0900"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Mar 29 22:40:27 2026 -0700"
      },
      "message": "[lldb][FreeBSDKernel] Add missing error checks in DynamicLoader (#189250)\n\nAdd extra guards in case a call to function fails. For example, the\nresult of `ReadMemory()` cannot be trusted when `error.Fail()` is true,\nand this change ensures the code executes properly according to the\nvalue of the error.\n\nSigned-off-by: Minsoo Choo \u003cminsoochoo0122@proton.me\u003e\nGitOrigin-RevId: bbc515d115455b54e9e5864983f1d3ee331c2ec7\n"
    },
    {
      "commit": "e347ac61397059716a31f38e819a8cf8d3e4d1a1",
      "tree": "d6c0ad9975c12ff8aee479aef6dc951bdf4790bf",
      "parents": [
        "69bbf2139429312128f1525cb2ee9d639a3b8452"
      ],
      "author": {
        "name": "Sergei Barannikov",
        "email": "barannikov88@gmail.com",
        "time": "Mon Mar 30 08:13:32 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Mar 29 22:15:43 2026 -0700"
      },
      "message": "[lldb] Fix the return type of a function (NFC) (#189316)\n\nThe returned variable is of boolean type.\n\nGitOrigin-RevId: 0a01f09d04becfd7098ffe33b21a5b271edf5a07\n"
    },
    {
      "commit": "69bbf2139429312128f1525cb2ee9d639a3b8452",
      "tree": "1e48c50edd236a2265246589732d3732ae8e13b4",
      "parents": [
        "84a16b3dacb9f60e6ecbeec7197e7f8afb3b598b"
      ],
      "author": {
        "name": "Sergei Barannikov",
        "email": "barannikov88@gmail.com",
        "time": "Sat Mar 28 00:28:25 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 14:31:01 2026 -0700"
      },
      "message": "[lldb] Fix the order of arguments in the StackFrame constructor call (#189108)\n\n`pc` and `cfa` arguments were swapped.\n\nGitOrigin-RevId: 01768d3b95cb9c13dc2c531c7d66d68087518576\n"
    },
    {
      "commit": "84a16b3dacb9f60e6ecbeec7197e7f8afb3b598b",
      "tree": "1fd300eda5f7a0e0e1d9b9194b693f554135cce9",
      "parents": [
        "4a85a767492acdccad10adf12246a50f009e6b46"
      ],
      "author": {
        "name": "Sergei Barannikov",
        "email": "barannikov88@gmail.com",
        "time": "Sat Mar 28 00:14:15 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 14:16:07 2026 -0700"
      },
      "message": "[lldb] Use Address(section, offset) constructor in more places (NFC) (#189101)\n\nAfter this change, Address::SetSection() had only one use left (in a\nunit test) and was removed. Address::ClearSection() had no uses, now\nalso removed. (It is unlikely that someone needs to change the section\nwithout simultaneously changing the section offset, and for that we have\na constructor.)\n\nGitOrigin-RevId: eea4af4c295d5f84fdcedc720f1826f0cb653262\n"
    },
    {
      "commit": "4a85a767492acdccad10adf12246a50f009e6b46",
      "tree": "870536e51ae22eee438231417d0539804c2a9ec4",
      "parents": [
        "bed3410ace764f7e2e9646d907dc69ed794639d0"
      ],
      "author": {
        "name": "Sergei Barannikov",
        "email": "barannikov88@gmail.com",
        "time": "Sat Mar 28 00:12:46 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 14:15:54 2026 -0700"
      },
      "message": "[lldb] Use Address::Slide() to simplify code (NFC) (#189097)\n\nGitOrigin-RevId: 26af10f837ad5cac26331a07f15e55fea9270583\n"
    },
    {
      "commit": "bed3410ace764f7e2e9646d907dc69ed794639d0",
      "tree": "f792e7d825eaad082cdbb74e0903892bfd53dc6c",
      "parents": [
        "1202d95c7466f47f14e1bc477141da38ed766ecc"
      ],
      "author": {
        "name": "Jonas Devlieghere",
        "email": "jonas@devlieghere.com",
        "time": "Fri Mar 27 15:41:14 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 13:45:35 2026 -0700"
      },
      "message": "[lldb] Iterate over a copy of the ModuleList in SearchFilter (#189009)\n\nAvoid a potential deadlock caused by the search filter callback\nacquiring the target\u0027s module lock by iterating over a copy of the list.\n\nFixes #188766\n\nGitOrigin-RevId: ce1b12ee08133a983050e88c3c0303df973f3276\n"
    },
    {
      "commit": "1202d95c7466f47f14e1bc477141da38ed766ecc",
      "tree": "f9058040a18d073b06bd90551e24ac8baca2fdc1",
      "parents": [
        "f31ddf0ccdaad559baa6280afd36cd0dcf4b489f"
      ],
      "author": {
        "name": "Sergei Barannikov",
        "email": "barannikov88@gmail.com",
        "time": "Fri Mar 27 20:22:48 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 10:25:52 2026 -0700"
      },
      "message": "[lldb] Make single-argument Address constructor explicit (NFC) (#189035)\n\nThis is to highlight places where we (probably unintentionally)\nconstruct an `Address` object from an already resolved address, making\nit unresolved again.\nSee the changes in `DynamicLoaderDarwin.cpp` for a quick example.\n\nAlso, use this constructor instead of `Address(lldb::addr_t file_addr,\nconst SectionList *section_list)` when `section_list` is `nullptr`.\n\nGitOrigin-RevId: 22cfe6f39d432bd095e9a3638033f2bb99f83c8e\n"
    },
    {
      "commit": "f31ddf0ccdaad559baa6280afd36cd0dcf4b489f",
      "tree": "03df0c8e4c6e8992669441132ca7767145150c3e",
      "parents": [
        "82a1ffabe896d47775b598be144a30b847ed61b4"
      ],
      "author": {
        "name": "Jonas Devlieghere",
        "email": "jonas@devlieghere.com",
        "time": "Fri Mar 27 11:49:55 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 09:54:42 2026 -0700"
      },
      "message": "[lldb] Disable arm64e tests under ASan (#189052)\n\nTechnically ASan is supported, but we need an arm64e sanitizer runtime.\nIt\u0027s still enabled when the whole test suite runs as arm64e, assuming\nthat you need arm64e runtimes regardless.\n\nThis will fix\nhttps://ci.swift.org/view/all/job/llvm.org/job/lldb-cmake-sanitized-os-verification/\n\nrdar://173313715\n\nGitOrigin-RevId: 1a08f41281bff6ee35d6d904c702d7f2b819d7d8\n"
    },
    {
      "commit": "82a1ffabe896d47775b598be144a30b847ed61b4",
      "tree": "3a3eb55f3a80dfab713eec4d45f513aa90f9e0a7",
      "parents": [
        "c80d884c0ece540524c59a57933deccad6942004"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Fri Mar 27 16:02:18 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 09:05:45 2026 -0700"
      },
      "message": "[lldb][test] Disable part of TestInlineStepping.py on Windows on Arm (#189032)\n\nThis is flakey on the buildbot.\n\nhttps://lab.llvm.org/buildbot/#/builders/141/builds/16719 as reported on\n#188751.\n```\nFAIL: test_step_over_with_python_api_dwarf (TestInlineStepping.TestInlineStepping.test_step_over_with_python_api_dwarf)\n    Test stepping over and into inlined functions.\n---------------------------------------------------------------------- Traceback (most recent call last):\n  File \"C:\\Users\\tcwg\\llvm-worker\\lldb-aarch64-windows\\llvm-project\\lldb\\packages\\Python\\lldbsuite\\test\\lldbtest.py\", line 2019, in test_method\n    return attrvalue(self)\n           ^^^^^^^^^^^^^^^\n  File \"C:\\Users\\tcwg\\llvm-worker\\lldb-aarch64-windows\\llvm-project\\lldb\\test\\API\\functionalities\\inline-stepping\\TestInlineStepping.py\", line 25, in test_step_over_with_python_api\n    self.inline_stepping_step_over()\n  File \"C:\\Users\\tcwg\\llvm-worker\\lldb-aarch64-windows\\llvm-project\\lldb\\test\\API\\functionalities\\inline-stepping\\TestInlineStepping.py\", line 317, in inline_stepping_step_over\n    self.run_step_sequence(step_sequence)\n  File \"C:\\Users\\tcwg\\llvm-worker\\lldb-aarch64-windows\\llvm-project\\lldb\\test\\API\\functionalities\\inline-stepping\\TestInlineStepping.py\", line 152, in run_step_sequence\n    self.do_step(step_pattern[1], target_line_entry, test_stack_depth)\n  File \"C:\\Users\\tcwg\\llvm-worker\\lldb-aarch64-windows\\llvm-project\\lldb\\test\\API\\functionalities\\inline-stepping\\TestInlineStepping.py\", line 83, in do_step\n    self.fail(\nAssertionError: Failed to stop due to step into operation stepping to: C:\\Users\\tcwg\\llvm-worker\\lldb-aarch64-windows\\llvm-project\\lldb\\test\\API\\functionalities\\inline-stepping\\calling.cpp:46\n```\nGitOrigin-RevId: c413245aa52c2313ec4e5f942c8a2052d9350dce\n"
    },
    {
      "commit": "c80d884c0ece540524c59a57933deccad6942004",
      "tree": "834fcba4205cf8226abe059d850b09eceb1ec4d3",
      "parents": [
        "863616c669077572405adde4ba248091fe70d49c"
      ],
      "author": {
        "name": "Jonas Devlieghere",
        "email": "jonas@devlieghere.com",
        "time": "Fri Mar 27 09:31:02 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 07:35:11 2026 -0700"
      },
      "message": "[lldb] Add PlatformWebInspectorWasm (#188751)\n\nAdd a new PlatformWebInspectorWasm, which is a Wasm platform that\nautomatically connects to the WebInspector platform server.\n\nThe existing \"wasm\" platform handles WebAssembly generally and allows\nyou to configure a runtime to launch under. The \"webinspector-wasm\"\nplatform does the inverse, and only supports attaching to an already\nrunning WebAssembly instance in Safari. The workflow here is always\n`platform process list` followed by `platform process attach`. This\nexplains why you can only force create this platform and it\u0027s never\nautomatically selected when loading a Wasm target.\n\nGitOrigin-RevId: 7119610bc43fe4121c4f6341c5bcc9e9eef7deb6\n"
    },
    {
      "commit": "863616c669077572405adde4ba248091fe70d49c",
      "tree": "480934dedf4ff561a4a66c867e1677a3a89e74f8",
      "parents": [
        "cdad12264c5a2e97ae090f7734a4194673af0fec"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Fri Mar 27 14:25:16 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 07:28:22 2026 -0700"
      },
      "message": "[lldb][docs] Mention \"Python Install Manager\" in Windows build instructions (#188728)\n\nIt was reported to us that this new install manager does not, and\napparently will not, have an option to install a debug Python. Which we\nmust have to be able to build lldb in debug mode on Windows.\n\n(because the debug C runtime has a different ABI so everything in the\nbuild must use only that version)\n\nhttps://discourse.llvm.org/t/pythonx-d-lib-build-requirement/90285/1\n\nDevelopers will have to use the \"Windows installer\", or build thier own,\nso I\u0027ve linked to Python\u0027s documentation for that.\n\nGitOrigin-RevId: 53a8673f3d032d973d66435db0f4b9946001bbab\n"
    },
    {
      "commit": "cdad12264c5a2e97ae090f7734a4194673af0fec",
      "tree": "246be34efedbe876f20c6a6c2b6390c8c2cbbf5e",
      "parents": [
        "dfd1cd4e696dc63f4fd24575663b49c8928bbf30"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Fri Mar 27 12:20:44 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 04:26:05 2026 -0700"
      },
      "message": "[lldb] Make ObjectFile::GetModuleSpecifications *return* module specifications (#188509)\n\nFor consistency with #188276 (and better readability?).\n\nGitOrigin-RevId: 5ed2f6f46badfd80f464cf98c583c7ee2b4a7820\n"
    },
    {
      "commit": "dfd1cd4e696dc63f4fd24575663b49c8928bbf30",
      "tree": "144fd81efc91d1935beae606703f248e095985e0",
      "parents": [
        "f03445fb165834aa51a9845edb6ff879f76c3a26"
      ],
      "author": {
        "name": "Stefan Gränitz",
        "email": "stefan.graenitz@gmail.com",
        "time": "Fri Mar 27 09:39:39 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 01:43:14 2026 -0700"
      },
      "message": "[lldb] Let SymStore locator download PDBs to a temp file (#188798)\n\nThe cache path we get from the `llvm::sys::path::cache_directory()`\nlibrary function is not writeable on some Windows bots as they point us\nto the Default user\u0027s AppData: C:\\Users\\Default\\AppData\\Local\\lldb.\n\nThis patch avoids the problem and downloads into the temporary directory\nthat we query from `llvm::sys::path::system_temp_directory()`. Once we\nintroduce real caching, this would have changed anyway.\n\nGitOrigin-RevId: 621f03240bad90939aefcce09a4ad021471675de\n"
    },
    {
      "commit": "f03445fb165834aa51a9845edb6ff879f76c3a26",
      "tree": "eb0a582c66999081f40668e9f729c6ae483df22a",
      "parents": [
        "3c16a83396ee359d00609855a8938bb0c244e12c"
      ],
      "author": {
        "name": "Raphael Isemann",
        "email": "rise@apple.com",
        "time": "Fri Mar 27 07:38:13 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 00:41:29 2026 -0700"
      },
      "message": "[lldb][test] Don\u0027t treat \u0027xcrun clang\u0027 as a path for finding clang++ (#188235)\n\n[lldb][test] Don\u0027t treat \u0027xcrun clang\u0027 as a path for finding clang++\nTestPrintObjectArray.py uses `xcrun clang` as the test compiler.\nThis is because the test source requires some Objective-C features\nthat are only available in downstream clang:\n\n```\nself.build(dictionary\u003d[...], compiler\u003d\"xcrun clang\")\n```\n\nHowever, this currently just results in us running `clang++`\ninstead of `xcrun clang++` to compile test sources. If the downstream\n`clang++` in PATH is not Apple\u0027s downstream version, this then causes\nthe tests to fail with compilation errors:\n\n```\nclang++: error: unknown argument: \u0027-fno-constant-nsnumber-literals\u0027\nclang++: error: unknown argument: \u0027-fno-constant-nsarray-literals\u0027\nclang++: error: unknown argument: \u0027-fno-constant-nsdictionary-literals\u0027\n```\n\nWe end up in this situation as we treat this command as a path when\ntrying to assemble the `clang++` command. This patch just adds a\nspecial case for `xcrun` and we now first try the compiler (verbatim)\nbefore falling back to the inferred compiler type.\n\nGitOrigin-RevId: 552e68d6acec45a9628ec4db279c511adbde062a\n"
    },
    {
      "commit": "3c16a83396ee359d00609855a8938bb0c244e12c",
      "tree": "32428ed96edf92a9b5fa09bea6f267d5d76cc932",
      "parents": [
        "1dfc65c59b5a83302ca3842310c5faec46bb5f94"
      ],
      "author": {
        "name": "jimingham",
        "email": "jingham@apple.com",
        "time": "Thu Mar 26 16:37:41 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 16:40:53 2026 -0700"
      },
      "message": "This new flag depends both on the compiler version AND the linker (#188864)\n\nversion, and clang will say it supports the flag even if the linker\ncan\u0027t use its output.\nThe compiler actually has code to know whether the linker version is\nright, and sets it to the default if the stars align.\n\nSo I\u0027m going to just test whether whatever is the default method for the\ncompiler and linker works.\n\nGitOrigin-RevId: cdb4578edb33630f36d804e44a0d035d91f71c27\n"
    },
    {
      "commit": "1dfc65c59b5a83302ca3842310c5faec46bb5f94",
      "tree": "7f78894448a2a7e01e9a42a5972629337d7ac5be",
      "parents": [
        "1e07ee5a12898a59f1d5e9d9de3355ce481b9b6c"
      ],
      "author": {
        "name": "Dave Lee",
        "email": "davelee.com@gmail.com",
        "time": "Thu Mar 26 14:39:58 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 16:40:45 2026 -0700"
      },
      "message": "[lldb] Enable caching for BytecodeSyntheticChildren::FrontEnd::Update (#181199)\n\nUpdate `BytecodeSyntheticChildren` to support `ChildCacheState` return\nvalues from `@update` implementations.\n\nGitOrigin-RevId: 0d3e51479228b637f66a1db8727eadc2e7367be7\n"
    },
    {
      "commit": "1e07ee5a12898a59f1d5e9d9de3355ce481b9b6c",
      "tree": "f1e3f7ddc62efc7955f5ecf115a965816ee759d3",
      "parents": [
        "95296d73efe510b187a61a091742ec03e96b6e8f"
      ],
      "author": {
        "name": "Dave Lee",
        "email": "davelee.com@gmail.com",
        "time": "Thu Mar 26 14:39:18 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 14:40:53 2026 -0700"
      },
      "message": "[lldb][bytecode] Change compiler to require update return type decl (#188637)\n\nTo better ensure that bytecode `@update` implementations return a 0/1\nvalue (see https://github.com/llvm/llvm-project/pull/181199), this\nchanges the Python -\u003e formatter bytecode compiler to require that Python\n`update` methods be declared to return `bool`.\n\nA declaration like this will be a compiler error:\n\n```py\ndef update(self):\n    # implementation...\n```\n\nGitOrigin-RevId: 821c22a1be8ad907e2172982fc10449bf2235aa6\n"
    },
    {
      "commit": "95296d73efe510b187a61a091742ec03e96b6e8f",
      "tree": "1fbdbfd5ba662a0510f4e4ce5127b18ab6ff730e",
      "parents": [
        "44f8313be073220a1c0616aa51e07ab3a3b61663"
      ],
      "author": {
        "name": "satyanarayana reddy janga",
        "email": "satyajanga@fb.com",
        "time": "Thu Mar 26 13:28:15 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 13:30:41 2026 -0700"
      },
      "message": "[lldb] Fix missing return in NativeFile::SeekFromEnd stream path (#188596)\n\nThe stream path in NativeFile::SeekFromEnd was missing a `return result`\nstatement after the fseek block, causing it to fall through to the error\nhandler which overwrites the error status with \"invalid file handle\"\neven on success. Both SeekFromStart and SeekFromCurrent correctly return\nafter their stream blocks.\n\nwhile no active callers to this function, It is still worth fixing this.\n\nGitOrigin-RevId: 14321cc482877e7541693bba2393488194c093b4\n"
    },
    {
      "commit": "44f8313be073220a1c0616aa51e07ab3a3b61663",
      "tree": "ce7c707ae73d2d12fa71341a84024fa4aabbcfab",
      "parents": [
        "c0a3dd92c142fa87e1b5333077a7d890ee1de145"
      ],
      "author": {
        "name": "satyanarayana reddy janga",
        "email": "satyajanga@fb.com",
        "time": "Thu Mar 26 13:06:10 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 13:07:25 2026 -0700"
      },
      "message": "[lldb] Fix incorrect return value on error paths in FileCache (#188608)\n\nWriteFile and ReadFile return uint64_t with UINT64_MAX as the error\nsentinel, but two error paths incorrectly returned false (0), which\ncould be mistaken for a successful zero-byte operation.\n\nGitOrigin-RevId: 86475afa7d5c9965878ef93b5bc2d0c644152a23\n"
    },
    {
      "commit": "c0a3dd92c142fa87e1b5333077a7d890ee1de145",
      "tree": "662401ceb25fb7c603929e8cb2fa56791658031a",
      "parents": [
        "0b551e6ccc740e3f72a64120a527c45ec7554578"
      ],
      "author": {
        "name": "jimingham",
        "email": "jingham@apple.com",
        "time": "Thu Mar 26 09:37:50 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 09:40:47 2026 -0700"
      },
      "message": "Handle accelerated ObjC Class method dispatchs. (#188392)\n\nOn Darwin, clang added a new objc class method dispatch, turned on by\nthe flag: `-fobjc-msgsend-class-selector-stubs`. These stubs are like\nthe accelerated stubs added previously for method selectors. This patch\nadds support for stepping through them.\nI had previously handled the method stubs by figuring out the object -\u003e\nclass and then used the selector encoded in the stub name. But that\ndepended on all the stubs setting the object into arg1 before calling\nthe stub, which not all the stubs do anymore. Since all the stubs do\nsome work and then call objc_msgSend, instead of trying to predict what\nthe stub is going to do, I just let it run to the objc_msgSend and then\nfigure out how to go from there - at that point arg1 and arg2 are\ncorrectly set, so I can use the regular objc_msgSend trampoline for\nthat.\n\nThat change meant I was no longer using the \"find the implementation\"\nmethod that was passing in the selector string that we pulled from the\nstub name, so this patch also removes that.\n\nGitOrigin-RevId: 3c8e9499ac4caefce53ef43b752223fc70b67f55\n"
    },
    {
      "commit": "0b551e6ccc740e3f72a64120a527c45ec7554578",
      "tree": "e9f1dfbd99c3c1eb301f12568225b0fd164efc57",
      "parents": [
        "f100409cf4d0d9e4eb713dcfae34c386654767c5"
      ],
      "author": {
        "name": "Charles Zablit",
        "email": "c_zablit@apple.com",
        "time": "Thu Mar 26 14:47:44 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 07:50:26 2026 -0700"
      },
      "message": "[lldb][windows] fix invalid indexes in LLDB_LOG call (#188757)\n\nThis patch shifts the indexes of the `LLDB_LOG` call by -1 so that they\nstart at 0. Otherwise, the call expects 4 arguments.\n\nGitOrigin-RevId: f0d58d24428d8fb2b7213662ae1c390ceae78931\n"
    },
    {
      "commit": "f100409cf4d0d9e4eb713dcfae34c386654767c5",
      "tree": "88cbb74b880095238c3c4af986c5f083a7415edc",
      "parents": [
        "f772e92b025b955556af8a79f8c1f91714b1353b"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Thu Mar 26 13:33:28 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 06:36:21 2026 -0700"
      },
      "message": "Revert \"[lldb][DWARFASTParserClang] Handle pointer-to-member-data non-type template\" (#188744)\n\nReverts llvm/llvm-project#187598\n\nIt was causing test failures on Windows bots:\nhttps://github.com/llvm/llvm-project/pull/187598#issuecomment-4124925013\n\nand causing another assertion\nhttps://github.com/llvm/llvm-project/pull/187598#issuecomment-4128783696\n(fix attempted at https://github.com/llvm/llvm-project/pull/188632)\n\nGitOrigin-RevId: ba6c69e65746142213a4f9820aa2dc18c717cad4\n"
    },
    {
      "commit": "f772e92b025b955556af8a79f8c1f91714b1353b",
      "tree": "24b719fbd535dc223b9c0dab09b458f48a7e96e4",
      "parents": [
        "dfa29d49d7e6e57ca43f1e230c34715218837acc"
      ],
      "author": {
        "name": "Med Ismail Bennani",
        "email": "ismail@bennani.ma",
        "time": "Thu Mar 26 03:00:32 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 03:06:28 2026 -0700"
      },
      "message": "[lldb/test] Remove stale arm Linux expectedFailure decorators (NFC)\n\nThese tests no longer fail on arm Linux after the frame provider\nre-entrancy fixes, so remove the decorators.\n\nXPASS: https://lab.llvm.org/buildbot/#/builders/18/builds/25348\n\nSigned-off-by: Med Ismail Bennani \u003cismail@bennani.ma\u003e\nGitOrigin-RevId: 45d243df43ee57e68804862e3b37b2ac16be139e\n"
    },
    {
      "commit": "dfa29d49d7e6e57ca43f1e230c34715218837acc",
      "tree": "6a818d0dc07c66e70f5f6ab677e45af009c81134",
      "parents": [
        "9f375ced97d97009cd6d4ae199e391a0d758baab"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Thu Mar 26 09:42:52 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 02:45:42 2026 -0700"
      },
      "message": "[lldb][Module][NFC] Extract script loading logic into helper (#188712)\n\nPlanning on re-using this within the same function. Extracting into\nhelper makes that slightly more readable.\n\nGitOrigin-RevId: 465f96927df37e8dd90bf05ebd84b45cf71285db\n"
    },
    {
      "commit": "9f375ced97d97009cd6d4ae199e391a0d758baab",
      "tree": "1a66a7161d9500c2e0301d4d99ad03f6deca5afb",
      "parents": [
        "076db66a1fda1299a4eab19276e29f189528c6c3"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Thu Mar 26 09:29:57 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 02:35:46 2026 -0700"
      },
      "message": "[lldb][Module][NFC] Remove redundant FileSpec validity check (#188708)\n\nWe already do the validity check inside of\n`FileSystem::Instance().Exists`.\n\nGitOrigin-RevId: 948a91429e770f546129f1f88034ed96b1940179\n"
    },
    {
      "commit": "076db66a1fda1299a4eab19276e29f189528c6c3",
      "tree": "dd2324d8e06aef4f8898f336cf7bb8b4c484269d",
      "parents": [
        "9acc4002876b1a4c895a476f9ed3975100a92e1a"
      ],
      "author": {
        "name": "Med Ismail Bennani",
        "email": "ismail@bennani.ma",
        "time": "Wed Mar 25 23:08:46 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 23:25:29 2026 -0700"
      },
      "message": "[lldb] Protect frame provider construction from re-entrant frame access\n\nWhen a scripted frame provider calls HandleCommand or other\nframe-accessing APIs during __init__, GetStackFrameList() re-enters\nwithout the re-entrancy guard, causing infinite recursion. On Windows\n(1MB default stack), this results in a stack overflow (0xC00000FD)\nbefore Python\u0027s recursion limit can intervene.\n\nThe existing PushProviderFrameList/PopProviderFrameList guard only\nprotected GetFrameAtIndex calls in FetchFramesUpTo. This wraps the\nCreateInstance call in LoadScriptedFrameProvider with the same guard\nso that provider construction is also protected.\n\nSigned-off-by: Med Ismail Bennani \u003cismail@bennani.ma\u003e\nGitOrigin-RevId: f2f94597671f897dc939facd756f0be58fdf017e\n"
    },
    {
      "commit": "9acc4002876b1a4c895a476f9ed3975100a92e1a",
      "tree": "c61ed7f8ebeee6d53e1a5382e8a2d9ea5bd368df",
      "parents": [
        "af18cbff237540a627a0e1bbd2647d16e0d88dc2"
      ],
      "author": {
        "name": "Anshul Nigham",
        "email": "nigham@google.com",
        "time": "Wed Mar 25 18:42:30 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 18:45:38 2026 -0700"
      },
      "message": "[LLDB] Use shared_ptr for m_current_private_state_thread (#188542)\n\nAvoids manual memory management.\n\nUses `shared_ptr` instead of `unique_ptr` because we store references to\nthe current thread in a backup variable.\n\nSimplifies the private thread `is_secondary` semantics by providing a\nbackup storage for the current thread instead of a boolean value with a\ncontract to manage the backup separately.\n\nGitOrigin-RevId: b95b902bb7dd8875efe75a6955a8a4b4c7063d25\n"
    },
    {
      "commit": "af18cbff237540a627a0e1bbd2647d16e0d88dc2",
      "tree": "b457da254f1b9b833d2c9506e72a8a49402b11d5",
      "parents": [
        "7528e40b0a7871755dd3563bb1948ecf7d6a1bb4"
      ],
      "author": {
        "name": "Med Ismail Bennani",
        "email": "ismail@bennani.ma",
        "time": "Wed Mar 25 18:21:05 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 18:26:01 2026 -0700"
      },
      "message": "[lldb/test] Remove stale Windows expectedFailure decorators (NFC)\n\nThe @expectedFailureAll decorators for Windows (llvm.org/pr24778) are no\nlonger needed on test_circular_dependency_handle_command_in_init and\ntest_provider_receives_parent_frames.\n\nSigned-off-by: Med Ismail Bennani \u003cismail@bennani.ma\u003e\nGitOrigin-RevId: bdbe816cee6311b5baa26601854ad0769d01481e\n"
    },
    {
      "commit": "7528e40b0a7871755dd3563bb1948ecf7d6a1bb4",
      "tree": "1c86c0d3c411583d5688b12195474de2fe7b97b3",
      "parents": [
        "37568f909eb0ef04df8f5cb9913531e2e7eb4bc3"
      ],
      "author": {
        "name": "Med Ismail Bennani",
        "email": "ismail@bennani.ma",
        "time": "Wed Mar 25 16:22:25 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 16:26:00 2026 -0700"
      },
      "message": "[lldb] Fix circular dependency and deadlock in scripted frame providers (#187411)\n\nWhen a scripted frame provider calls back into the thread\u0027s frame\nmachinery (e.g. via HandleCommand or EvaluateExpression), two problems\narise:\n\n1. GetStackFrameList() re-enters the SyntheticStackFrameList\n construction, causing infinite recursion.\n2. ClearStackFrames() tries to read-lock the StackFrameList\u0027s\n shared_mutex that is already write-locked by GetFramesUpTo,\n causing a deadlock.\n\nThis patch fixes those issues by tracking when a provider is actively\nfetching frames via a per-host-thread map (m_provider_frames_by_thread)\nkeyed by HostThread. The map is pushed/popped in\nSyntheticStackFrameList::FetchFramesUpTo before calling into the\nprovider. GetStackFrameList() checks it to route re-entrant calls:\n\n- The provider\u0027s own host thread gets the parent frame list, preventing\ncircular dependency when get_frame_at_index calls back into\nGetFrameAtIndex.\n- The private state thread also gets the parent frame list, preventing\ndeadlock when a provider calls EvaluateExpression (which needs the\nprivate state thread to process events).\n- Other host threads proceed normally and block on the frame list mutex\nuntil the provider finishes, getting the correct synthetic result.\n\nClearStackFrames() returns early if any provider is active, since the\nframe state is shared and tearing it down while a provider is\nmid-construction is both unnecessary and unsafe.\n\nrdar://171558394\n\nSigned-off-by: Med Ismail Bennani \u003cismail@bennani.ma\u003e\nGitOrigin-RevId: e1cd55879b5f92c9167e6363fd20dc21d4a3a4ee\n"
    },
    {
      "commit": "37568f909eb0ef04df8f5cb9913531e2e7eb4bc3",
      "tree": "6dc32a58009fbde1d2f164d92d62257c0e079422",
      "parents": [
        "b3ef766eeca935db4db3d58e2cb07628fc348990"
      ],
      "author": {
        "name": "satyanarayana reddy janga",
        "email": "satyajanga@fb.com",
        "time": "Wed Mar 25 15:24:01 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 15:25:46 2026 -0700"
      },
      "message": "[lldb] Fix wrong arguments in MergeSections address mismatch warning (#188610)\n\nThe warning message intended to print the mismatched file addresses, but\nwas passing GetByteSize() instead of GetFileAddress() for both the\nexpected and actual values.\n\nGitOrigin-RevId: 6b90f70a8c51ea8aa6ef9bc7949b704f30e5e474\n"
    },
    {
      "commit": "b3ef766eeca935db4db3d58e2cb07628fc348990",
      "tree": "d4c93fe6963667134796dc302a81a3c7fb0b5320",
      "parents": [
        "981c1b0cd9cd271ff8c2b4282124f289c601d3bf"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Thu Mar 26 00:02:45 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 15:25:34 2026 -0700"
      },
      "message": "Revert \"[lldb] [windows] Fix warning about unused static functions\" (#188626)\n\nReverts llvm/llvm-project#188531.\n\nThat change broke some buildbots, e.g.\nhttps://lab.llvm.org/buildbot/#/builders/141/builds/16639.\n\nEven though one of the static functions, `GetPathToExecutable`, only was\nused by the function `AddPythonDLLToSearchPath` below, it turns out that\n`GetModulePath` is used in another place as well, guarded by a different\nifdef.\n\nGitOrigin-RevId: ff769811eeac3093cc2e3a8f01e31be66ceabde9\n"
    },
    {
      "commit": "981c1b0cd9cd271ff8c2b4282124f289c601d3bf",
      "tree": "3e8aab01ccd7a972969e01ebaf044e68bcfa46b5",
      "parents": [
        "c5c79b2326549f5a3a8f4cf5c8676a525c1855eb"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Wed Mar 25 23:38:04 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 14:41:34 2026 -0700"
      },
      "message": "[lldb] [windows] Fix warnings in ConnectionConPTYWindows (#188528)\n\nThis fixes the following warnings, when building in mingw mode:\n\n    llvm-project/lldb/source/Host/windows/ConnectionConPTYWindows.cpp:47:7: warning: field \u0027m_pty\u0027 will be initialized after base \u0027ConnectionGenericFile\u0027 [-Wreorder-ctor]\n       47 |     : m_pty(pty), ConnectionGenericFile(pty-\u003eGetSTDOUTHandle(), false) {};\n          |       ^~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n          |       ConnectionGenericFile(pty-\u003eGetSTDOUTHandle(), false) m_pty(pty)\n    llvm-project/lldb/source/Host/windows/ConnectionConPTYWindows.cpp:47:74: warning: extra \u0027;\u0027 outside of a function is incompatible with C++98 [-Wc++98-compat-extra-semi]\n       47 |     : m_pty(pty), ConnectionGenericFile(pty-\u003eGetSTDOUTHandle(), false) {};\n          |                                                                          ^\n\nGitOrigin-RevId: 22779ff652ce6eb41ef7ae67f40613be89e50be1\n"
    },
    {
      "commit": "c5c79b2326549f5a3a8f4cf5c8676a525c1855eb",
      "tree": "4f5608cd12ee66224efb9dd420c01f39666cfb8b",
      "parents": [
        "9d7304e523c57c6280b0da4944099ff0e485f4c0"
      ],
      "author": {
        "name": "Dave Lee",
        "email": "davelee.com@gmail.com",
        "time": "Wed Mar 25 14:37:20 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 14:41:22 2026 -0700"
      },
      "message": "[lldb] Disallow SHARED_BUILD_TESTCASE for non-default self.build() (#188523)\n\nChange `self.build(...)` to assert if called with arguments of any kind,\nfor tests which have `SHARED_BUILD_TESTCASE` enabled (the default).\n\nThis also changes all tests that began asserting with this change, tests\nwhich call `self.build(...)` with arguments.\n\n---------\n\nCo-authored-by: Adrian Prantl \u003cadrian.prantl@gmail.com\u003e\nGitOrigin-RevId: f72a150db0de6cfaefed3237f86b215570a68ffd\n"
    },
    {
      "commit": "9d7304e523c57c6280b0da4944099ff0e485f4c0",
      "tree": "464282abd9571d593f9acd2323fb2f568830ec4f",
      "parents": [
        "2c463fb5d6d8b13916701412ed704ceebca816fc"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Wed Mar 25 23:36:46 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 14:41:08 2026 -0700"
      },
      "message": "[lldb] [windows] Fix warning about unused static functions (#188531)\n\nThis fixes warnings about unused static functions, if building without\nLLDB_PYTHON_DLL_RELATIVE_PATH defined.\n\nThese two static functions are only used by the non-static function\nAddPythonDLLToSearchPath below; include them in the ifdef enclosing it.\n\nGitOrigin-RevId: 5677bddef10e203b97c54221a07eabb2d51b530a\n"
    },
    {
      "commit": "2c463fb5d6d8b13916701412ed704ceebca816fc",
      "tree": "c6437981267b5384c9eb397fbfac11d84c46856f",
      "parents": [
        "0d2bc39ae71ef9d6254d206f35ee8a595b8464d7"
      ],
      "author": {
        "name": "Dave Lee",
        "email": "davelee.com@gmail.com",
        "time": "Wed Mar 25 13:26:52 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 13:31:00 2026 -0700"
      },
      "message": "[lldb] Remove references to llvm-gcc (#188582)\n\nA couple of leftovers that weren\u0027t removed in e0a79eeca2 (#120225)\n\nGitOrigin-RevId: 40949770b71ba58cad517d11e96d601d4f826c16\n"
    },
    {
      "commit": "0d2bc39ae71ef9d6254d206f35ee8a595b8464d7",
      "tree": "b0359ee0f9143b49ea4b19e839d432f5676901bd",
      "parents": [
        "f4d41d885ad7b9cfc9095fb7a381e3836f27f115"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Wed Mar 25 20:11:23 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 13:15:41 2026 -0700"
      },
      "message": "[lldb][CommandObjectType] Add --wants-dereference option to `type synthetic add` (#188512)\n\nThis patch exposes the `TypeSynthetic::SetFrontEndWantsDereference` via\nthe `type synthetic add` command.\n\nThe motivation for this is moving the various STL data-formatters to\nPython. Those currently set this flag programmatically so that pointers\nand references get formatted using the pointee synthetic provider.\n\nPatch that makes use of this new option is:\nhttps://github.com/llvm/llvm-project/pull/187677\n\nClaude helped with writing the test code. Reviewed and cleaned it up\nmyself\n\nGitOrigin-RevId: b8b4804d1785784933f8945334d9c8bcd2443417\n"
    },
    {
      "commit": "f4d41d885ad7b9cfc9095fb7a381e3836f27f115",
      "tree": "c8b74b25c290d3b3e3711b83ef40467f6a47d07a",
      "parents": [
        "88381a7be609dbfdc0970db8f2196b653dd66553"
      ],
      "author": {
        "name": "Jonas Devlieghere",
        "email": "jonas@devlieghere.com",
        "time": "Wed Mar 25 12:08:02 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 10:10:56 2026 -0700"
      },
      "message": "[lldb] Support arm64e C++ vtable pointer signing (#187611)\n\nWhen targeting arm64e, vtable pointers are signed with a discriminator\nthat incorporates the object\u0027s address\n(PointerAuthVTPtrAddressDiscrimination) and class type\n(PointerAuthVTPtrTypeDiscrimination).\n\nI had to make a small change to clang, specifically in\ngetPointerAuthDeclDiscriminator(). Previously, that was computing the\ndiscriminator based on getMangledName(). The latter returns the\nAsmLabelAttr, which for functions imported by lldb, is prefixed with\n`$__lldb_func`, causing a different discriminator to be generated.\n\nGitOrigin-RevId: 4fe46edf8d9e301c5669250c943377aa1f55fb45\n"
    },
    {
      "commit": "88381a7be609dbfdc0970db8f2196b653dd66553",
      "tree": "3e15a51cabc1cb13087b57f1cd5151c2cbe44670",
      "parents": [
        "19520500add202126990ebfa7786efade95fc0cb"
      ],
      "author": {
        "name": "satyanarayana reddy janga",
        "email": "satyajanga@fb.com",
        "time": "Wed Mar 25 09:19:46 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 09:20:49 2026 -0700"
      },
      "message": "[lldb][NFC] Remove unused variables (#188385)\n\nRemove unused local variable `s` in\nGDBRemoteCommunication::CheckForPacket and unused member\n`m_step_thread_idx` in CommandObjectThreadUntil.\nGitOrigin-RevId: 7e44db92c51cce1ddfe344473bed7aa6e83592d3\n"
    },
    {
      "commit": "19520500add202126990ebfa7786efade95fc0cb",
      "tree": "6d0d20c098ebb15deef07efc4a5b81af05bc0181",
      "parents": [
        "56597e7ef3a6b345259bc7f65d34a9c011078091"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Wed Mar 25 15:55:04 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 08:01:02 2026 -0700"
      },
      "message": "[lldb] Clear up GetModuleSpecifications return value confusion (#188276)\n\nSome plugins were returning the number of specifications they have\nadded, while others were returning the total final number. Particularly\ndevious plugins (Minidump) were clearing the specification list\naltogether. This resulted in nondeterministic failures (depending on\nplugin ininitialization order) in TestSBModule.\n\nThis PR defines the problem away by having each plugin only return the\nspecifications it is responsible for. If the caller wants to merge them,\nit is free to do so. This *might* be slighly less efficient, but this is\nhardly hot code.\n\nI\u0027m not touching the ObjectFile::GetModuleSpecifications function (the\ncaller of all these functions) as the PR is big enough, although the\nsame approach might be warranted there as well.\n\nFixes https://github.com/llvm/llvm-project/issues/178625.\n\nGitOrigin-RevId: 08c94c0ac3b503dd4971da8935001aba01918688\n"
    },
    {
      "commit": "56597e7ef3a6b345259bc7f65d34a9c011078091",
      "tree": "71e2a80a0bbc8bb4de68109bb827815925654a95",
      "parents": [
        "c6300b1dc7177f167d7ffc116caaa1b9f1e3da00"
      ],
      "author": {
        "name": "Minsoo Choo",
        "email": "minsoochoo0122@proton.me",
        "time": "Wed Mar 25 20:18:59 2026 +0900"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 04:20:55 2026 -0700"
      },
      "message": "[lldb][Process/FreeBSDKernelCore] Rework plugin destruction (#188426)\n\nDestroy the plugin classes similar to `ProcessElfCore`, another process\nplugin derived from `PostMortemProcess` class. After clearing thread\nlist, invoke `Finalize()` to cleanup resources properly. `Finalize()`\nwill call `DoDestroy()` which releases `m_kvm` via `kvm_close()`.\n\n---------\n\nSigned-off-by: Minsoo Choo \u003cminsoochoo0122@proton.me\u003e\nGitOrigin-RevId: 0cefe6358f38d99e9e70cb242af5b5f8e9fe4e32\n"
    },
    {
      "commit": "c6300b1dc7177f167d7ffc116caaa1b9f1e3da00",
      "tree": "dc7f9a52b48f19dcf7c437ce086b1fc342be68e0",
      "parents": [
        "5a71f91a739f593ac92d87cf45a202d94e64394f"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Wed Mar 25 11:04:17 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 04:06:00 2026 -0700"
      },
      "message": "[lldb] Correct spelling of \"language\" (#188456)\n\nGitOrigin-RevId: 64e75b1026e635b7d0d42d1551a8ad983b8a1997\n"
    },
    {
      "commit": "5a71f91a739f593ac92d87cf45a202d94e64394f",
      "tree": "37219af9b5a8bab1522ed62a9da34bae8222b3f0",
      "parents": [
        "9ea41d57bd0cd66c9c52f360f26197f6e6b5b4eb"
      ],
      "author": {
        "name": "Raphael Isemann",
        "email": "rise@apple.com",
        "time": "Wed Mar 25 08:34:57 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 01:41:17 2026 -0700"
      },
      "message": "[lldb] Print correct thread plan in logging code of Thread::ShouldReportRun (#188198)\n\nThis code accesses the completed thread plan (even if it\u0027s private one).\nHowever, the logging code does not pass `skip_private\u003dfalse` and instead\naccesses only the public completed thread plan. In case there is no\npublic thread plan, the logging code could also crash.\n\nThis is just some minor refactoring that ensures we use the same thread\nplan in the logging code.\n\nGitOrigin-RevId: 4e7274dd4ae6ded0bdb8e79b58e33359d4cbfa79\n"
    },
    {
      "commit": "9ea41d57bd0cd66c9c52f360f26197f6e6b5b4eb",
      "tree": "64c0a61c65bbdc45b3735eeb6a8c014503097da4",
      "parents": [
        "6419a4db8a7c8aa43700b6f7bd32299cb0ba5bb9"
      ],
      "author": {
        "name": "Charlie Li",
        "email": "git@vishwin.info",
        "time": "Tue Mar 24 18:49:09 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 24 15:51:19 2026 -0700"
      },
      "message": "[lldb] use the Py_REFCNT() macro instead of directly accessing member (#188161)\n\n[PyObject members are not to be accessed\ndirectly](https://docs.python.org/3/c-api/structures.html#c.PyObject),\nbut rather through macros, in this case `Py_REFCNT()`.\n\nIn most, ie Global Interpreter Lock-enabled, CPython cases,\n`Py_REFCNT()` expands to accessing `ob_refcnt` anyway. However, in a\nfree-threaded CPython, combined with disabling the limited API (since it\nrequires the GIL for now), the direct member does not exist, causing the\nbuild to fail. The macro expands to the correct access method in the\nfree-threaded configuration.\n\nGitOrigin-RevId: 2a7b0f06d2060dbab8fa38fae7689f2d9048fa9d\n"
    },
    {
      "commit": "6419a4db8a7c8aa43700b6f7bd32299cb0ba5bb9",
      "tree": "e05a11c37c56782c8ab130fcab9e8bb634afb414",
      "parents": [
        "7b6c2a4855036df2150f7ad0103b74e6dd56a50b"
      ],
      "author": {
        "name": "Zyn",
        "email": "103019185+zyn-li@users.noreply.github.com",
        "time": "Tue Mar 24 15:26:41 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 24 15:31:06 2026 -0700"
      },
      "message": "[lldb][DWARFASTParserClang] Handle pointer-to-member-data non-type template (#187598)\n\n## Description\n\n### Problem\nMakeAPValue in DWARFASTParserClang.cpp did not handle\npointer-to-member-data non-type template parameters (e.g., template \u003cint\nS::*P\u003e), causing LLDB to produce incorrect results or crash.\n\nDWARF encodes pointer-to-member-data NTTPs as\n`DW_TAG_template_value_parameter` with a `DW_AT_const_value`\nrepresenting the byte offset of the member within the containing struct.\nMakeAPValue is responsible for converting this value into a clang\nAPValue, but it only handled integer/enum and floating-point types. For\npointer-to-member types, it returned `std::nullopt`.\n\nThis caused the caller (ParseTemplateDIE) to fall back to creating a\ntype-only TemplateArgument (kind\u003dType) instead of a value-carrying one.\nWhen two specializations differ only by which member they point to\n(e.g., MemberData\u003c\u0026S::x\u003e / MemberData\u003c\u0026S::y\u003e), both produce identical\nTemplateArguments. Clang\u0027s\n[findSpecialization](https://github.com/llvm/llvm-project/blob/3bc216c29cb42c7d94b617943b1d44afce605588/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp#L1674-L1677)\nthen treats the second as a duplicate, so only one specialization exists\nin the AST. The second variable becomes unresolvable.\n\n(See Debugger Evidence section below)\n\nIn more complex cases, this triggers an assertion failure in\n[clang::CXXRecordDecl::setBases():\ncast()](https://github.com/llvm/llvm-project/blob/3bc216c29cb42c7d94b617943b1d44afce605588/clang/lib/AST/DeclCXX.cpp#L219)\nargument of incompatible type.\n\n## Fix\nMakeAPValue: Added `IsMemberDataPointerType()` to the integral type\ncheck so that pointer-to-member byte offsets produce distinct APValues.\nAlso replaced the silent return `std::nullopt` for unsupported types\nwith `lldbassert` so unknown type classes are caught during development.\n\n`ResolveMemberDataPointerToFieldDecl`: New method that follows the DWARF\nchain to resolve the byte offset to the actual FieldDecl, creating\nTemplateArgument(Declaration) matching clang\u0027s own AST:\n\nDW_TAG_template_value_parameter (DW_AT_type)\n  → DW_TAG_ptr_to_member_type (DW_AT_containing_type)\n    → DW_TAG_structure_type → match DW_TAG_member by byte offset\n\nIf resolution fails at any step, falls through to the integer APValue\npath as a safe fallback.\n\nVerified by comparing clang\u0027s AST (clang -Xclang -ast-dump) with LLDB\u0027s\nreconstructed AST (image dump ast) — both now produce TemplateArgument\ndecl \u0027\u0026S::x\u0027 referencing the correct FieldDecl.\n\n## Test Plan\nAdded `lldb/test/API/lang/cpp/non-type-template-param-member-ptr/` with\na test that creates two specializations (MemberData\u003c\u0026S::x\u003e and\nMemberData\u003c\u0026S::y\u003e) and verifies both are resolvable with correct type\nnames.\n\n```\n| |-ClassTemplateSpecializationDecl 0x234e2314800 \u003cline:18:1, line:21:1\u003e line:19:8 struct MemberData definition instantiated_from 0x234e2314110 implicit_instantiation\n| | |-DefinitionData pass_in_registers empty aggregate standard_layout trivially_copyable pod trivial literal has_constexpr_non_copy_move_ctor can_const_default_init\n| | | |-DefaultConstructor exists trivial constexpr defaulted_is_constexpr\n--\n| | |-TemplateArgument decl \u0027\u0026S::x\u0027\n| | | `-Field 0x234e2313ed0 \u0027x\u0027 \u0027int\u0027\n| | |-CXXRecordDecl 0x234e2314ac0 \u003ccol:1, col:8\u003e col:8 implicit struct MemberData\n--\n| `-ClassTemplateSpecializationDecl 0x234e25b5968 \u003cline:18:1, line:21:1\u003e line:19:8 struct MemberData definition instantiated_from 0x234e2314110 implicit_instantiation\n|   |-DefinitionData pass_in_registers empty aggregate standard_layout trivially_copyable pod trivial literal has_constexpr_non_copy_move_ctor can_const_default_init\n|   | |-DefaultConstructor exists trivial constexpr defaulted_is_constexpr\n--\n|   |-TemplateArgument decl \u0027\u0026S::y\u0027\n|   | `-Field 0x234e2313f38 \u0027y\u0027 \u0027int\u0027\n|   |-CXXRecordDecl 0x234e25b5bd8 \u003ccol:1, col:8\u003e col:8 implicit struct MemberData\n--\n| |-ClassTemplateSpecializationDecl 0x234e25b7080 \u003cline:27:1, line:30:1\u003e line:28:8 struct MaybeNull definition instantiated_from 0x234e25b6b50 implicit_instantiation\n| | |-DefinitionData pass_in_registers empty aggregate standard_layout trivially_copyable pod trivial literal has_constexpr_non_copy_move_ctor can_const_default_init\n| | | |-DefaultConstructor exists trivial constexpr defaulted_is_constexpr\n--\n| `-ClassTemplateSpecializationDecl 0x234e25b80c0 \u003cline:27:1, line:30:1\u003e line:28:8 struct MaybeNull definition instantiated_from 0x234e25b6b50 implicit_instantiation\n|   |-DefinitionData pass_in_registers empty aggregate standard_layout trivially_copyable pod trivial literal has_constexpr_non_copy_move_ctor can_const_default_init\n|   | |-DefaultConstructor exists trivial constexpr defaulted_is_constexpr\n--\n|   |-TemplateArgument decl \u0027\u0026g1\u0027\n|   | `-Var 0x234e25b69b8 \u0027g1\u0027 \u0027int\u0027\n|   |-CXXRecordDecl 0x234e25b8338 \u003ccol:1, col:8\u003e col:8 implicit struct MaybeNull\n```\n\n```\nlldb a.out -o \"type lookup MemberData\u003c\u0026S::x\u003e\" -o \"type lookup MemberData\u003c\u0026S::y\u003e\" -o quit\n(lldb) target create \"a.out\"\nCurrent executable set to \u0027a.out\u0027 (x86_64).\n(lldb) type lookup MemberData\u003c\u0026S::x\u003e\ntemplate\u003c\u003e struct MemberData\u003c\u0026S::x\u003e {\n    int get(S \u0026);\n}\n(lldb) type lookup MemberData\u003c\u0026S::y\u003e\ntemplate\u003c\u003e struct MemberData\u003c\u0026S::y\u003e {\n    int get(S \u0026);\n}\n```\n\n## **Debugger Evidence**\nCollected at two `DW_TAG_template_value_parameter` DIEs during\nParseTemplateDIE, both with name\u003d\"PtrToMember\" and `type_class\u003d256`\n(eTypeClassMemberPointer): DIE `0xcb: uval64\u003d8`; DIE `0x1e9 : uval64\u003d24`\n\nThese correspond to two members of Fiber:\n```\nDW_TAG_member \"listHook_\"        DW_AT_data_member_location(0x08)  ← uval64\u003d8\nDW_TAG_member \"globalListHook_\"  DW_AT_data_member_location(0x18)  ← uval64\u003d24\n```\nClang\u0027s ground truth AST correctly produces TemplateArgument decl\n(kind\u003dDeclaration) with distinct FieldDecl references for each\nspecialization.\n```\n22:| | |-ClassTemplateSpecializationDecl 0x36d785b7cc0 \u003cline:43:1, line:56:1\u003e line:44:8 struct mhtraits definition instantiated_from 0x36d785b4238 implicit_instantiation\n23-| | | |-DefinitionData pass_in_registers empty aggregate standard_layout trivially_copyable pod trivial literal has_constexpr_non_copy_move_ctor can_const_default_init\n24-| | | | |-DefaultConstructor exists trivial constexpr defaulted_is_constexpr\n25-| | | | |-CopyConstructor simple trivial has_const_param implicit_has_const_param\n26-| | | | |-MoveConstructor exists simple trivial\n27-| | | | |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param\n28-| | | | |-MoveAssignment exists simple trivial needs_implicit\n29-| | | | `-Destructor simple irrelevant trivial\n30-| | | |-TemplateArgument type \u0027intrusive::Fiber\u0027\n31-| | | | `-RecordType 0x36d785b3fb0 \u0027intrusive::Fiber\u0027 canonical\n32-| | | |   `-CXXRecord 0x36d78344850 \u0027Fiber\u0027\n33-| | | |-TemplateArgument type \u0027intrusive::list_member_hook\u003c\u003e\u0027\n34-| | | | `-RecordType 0x36d785b3c20 \u0027intrusive::list_member_hook\u003c\u003e\u0027 canonical\n35-| | | |   `-ClassTemplateSpecialization 0x36d78344b48 \u0027list_member_hook\u0027\n36-| | | |-TemplateArgument decl \u0027\u0026intrusive::Fiber::listHook_\u0027\n37-| | | | `-Field 0x36d785b3e70 \u0027listHook_\u0027 \u0027list_member_hook\u003c\u003e\u0027:\u0027intrusive::list_member_hook\u003c\u003e\u0027\n38-| | | |-CXXRecordDecl 0x36d785b93a0 \u003ccol:1, col:8\u003e col:8 implicit struct mhtraits\n39-| | | |-TypeAliasDecl 0x36d785b9470 \u003cline:45:3, col:22\u003e col:9 referenced value_type \u0027intrusive::Fiber\u0027\n40-| | | | `-SubstTemplateTypeParmType 0x36d785b9430 \u0027intrusive::Fiber\u0027 sugar typename depth 0 index 0 T\n41-| | | |   |-ClassTemplateSpecialization 0x36d785b7cc0 \u0027mhtraits\u0027\n42-| | | |   `-RecordType 0x36d785b3fb0 \u0027intrusive::Fiber\u0027 canonical\n--\n78:| | `-ClassTemplateSpecializationDecl 0x36d785b8210 \u003cline:43:1, line:56:1\u003e line:44:8 struct mhtraits definition instantiated_from 0x36d785b4238 implicit_instantiation\n79-| |   |-DefinitionData pass_in_registers empty aggregate standard_layout trivially_copyable pod trivial literal has_constexpr_non_copy_move_ctor can_const_default_init\n80-| |   | |-DefaultConstructor exists trivial constexpr defaulted_is_constexpr\n81-| |   | |-CopyConstructor simple trivial has_const_param implicit_has_const_param\n82-| |   | |-MoveConstructor exists simple trivial\n83-| |   | |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param\n84-| |   | |-MoveAssignment exists simple trivial needs_implicit\n85-| |   | `-Destructor simple irrelevant trivial\n86-| |   |-TemplateArgument type \u0027intrusive::Fiber\u0027\n87-| |   | `-RecordType 0x36d785b3fb0 \u0027intrusive::Fiber\u0027 canonical\n88-| |   |   `-CXXRecord 0x36d78344850 \u0027Fiber\u0027\n89-| |   |-TemplateArgument type \u0027intrusive::list_member_hook\u003c\u003e\u0027\n90-| |   | `-RecordType 0x36d785b3c20 \u0027intrusive::list_member_hook\u003c\u003e\u0027 canonical\n91-| |   |   `-ClassTemplateSpecialization 0x36d78344b48 \u0027list_member_hook\u0027\n92-| |   |-TemplateArgument decl \u0027\u0026intrusive::Fiber::globalListHook_\u0027\n93-| |   | `-Field 0x36d785b3f60 \u0027globalListHook_\u0027 \u0027list_member_hook\u003c\u003e\u0027:\u0027intrusive::list_member_hook\u003c\u003e\u0027\n94-| |   |-CXXRecordDecl 0x36d785be080 \u003ccol:1, col:8\u003e col:8 implicit struct mhtraits\n95-| |   |-TypeAliasDecl 0x36d785be150 \u003cline:45:3, col:22\u003e col:9 referenced value_type \u0027intrusive::Fiber\u0027\n96-| |   | `-SubstTemplateTypeParmType 0x36d785be110 \u0027intrusive::Fiber\u0027 sugar typename depth 0 index 0 T\n97-| |   |   |-ClassTemplateSpecialization 0x36d785b8210 \u0027mhtraits\u0027\n98-| |   |   `-RecordType 0x36d785b3fb0 \u0027intrusive::Fiber\u0027 canonical\n```\n\n### **Full Paste**\n```\n$ llvm-dwarfdump --debug-info\u003d0x000000cb repro.dwp -c -p\nrepro.dwp:\tfile format elf64-x86-64\n.debug_info.dwo contents:\n0x00000014: DW_TAG_compile_unit\n              DW_AT_producer\t(\"clang version 22.1.20 ...)\n              DW_AT_language\t(DW_LANG_C_plus_plus_14)\n              DW_AT_name\t(\"repro.cpp\")\n              DW_AT_dwo_name\t(\"repro-repro.dwo\")\n0x0000001a:   DW_TAG_namespace\n                DW_AT_name\t(\"intrusive\")\n0x000000b9:     DW_TAG_structure_type\n                  DW_AT_calling_convention\t(DW_CC_pass_by_value)\n                  DW_AT_name\t(\"mhtraits\u003cintrusive::Fiber, intrusive::list_member_hook\u003c(intrusive::link_mode_type)2\u003e, \u0026intrusive::Fiber::listHook_\u003e\")\n                  DW_AT_byte_size\t(0x01)\n                  DW_AT_decl_file\t(0x00)\n                  DW_AT_decl_line\t(44)\n0x000000cb:       DW_TAG_template_value_parameter\n                    DW_AT_type\t(0x0000022d \"intrusive::list_member_hook\u003c(intrusive::link_mode_type)2\u003e intrusive::Fiber::*\")\n                    DW_AT_name\t(\"PtrToMember\")\n                    DW_AT_const_value\t(8)\n```\nlldb prints:\n```\np name\n(const char *) 0x000055f44554c4ca \"PtrToMember\"\np uval64\n(uint64_t) 8\np (unsigned)clang_type.GetTypeClass()\n(unsigned int) 256\n```\n```\n$ llvm-dwarfdump --debug-info\u003d0x000001e9 repro.dwp -c -p\nrepro.dwp:\tfile format elf64-x86-64\n.debug_info.dwo contents:\n0x00000014: DW_TAG_compile_unit\n              DW_AT_producer\t(\"clang version 22.1.20\")\n              DW_AT_language\t(DW_LANG_C_plus_plus_14)\n              DW_AT_name\t(\"repro.cpp\")\n              DW_AT_dwo_name\t(\"repro-repro.dwo\")\n0x0000001a:   DW_TAG_namespace\n                DW_AT_name\t(\"intrusive\")\n0x000001d7:     DW_TAG_structure_type\n                  DW_AT_calling_convention\t(DW_CC_pass_by_value)\n                  DW_AT_name\t(\"mhtraits\u003cintrusive::Fiber, intrusive::list_member_hook\u003c(intrusive::link_mode_type)2\u003e, \u0026intrusive::Fiber::globalListHook_\u003e\")\n                  DW_AT_byte_size\t(0x01)\n                  DW_AT_decl_file\t(0x00)\n                  DW_AT_decl_line\t(44)\n0x000001e9:       DW_TAG_template_value_parameter\n                    DW_AT_type\t(0x0000022d \"intrusive::list_member_hook\u003c(intrusive::link_mode_type)2\u003e intrusive::Fiber::*\")\n                    DW_AT_name\t(\"PtrToMember\")\n                    DW_AT_const_value\t(24)\n```\nlldb prints:\n```\n p name\n(const char *) 0x000055f44554c4ca \"PtrToMember\"\np uval64\n(uint64_t) 24\np (unsigned)clang_type.GetTypeClass()\n(unsigned int) 256\n```\nGitOrigin-RevId: 303afa0899357b21a6a325115068108aa5e71a4f\n"
    },
    {
      "commit": "7b6c2a4855036df2150f7ad0103b74e6dd56a50b",
      "tree": "43e4b464c594a53a226d4dedb44254892a04ab2c",
      "parents": [
        "0c401b7665d0a1fad8b4a41be4577e52f7e5ef38"
      ],
      "author": {
        "name": "Dave Lee",
        "email": "davelee.com@gmail.com",
        "time": "Tue Mar 24 15:12:09 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 24 15:13:51 2026 -0700"
      },
      "message": "[lldb] Mark lldbtest.build() parameters as keyword-only (#188327)\n\nThis reinforces what is already true in the codebase: all uses of\n`build()` use keyword arguments.\n\nWith this change, it will be an error to call `build` using positional\narguments:\n\n```\nTypeError: build() takes 1 positional argument but 2 were given\n```\nGitOrigin-RevId: 2975451a70fbd4b35cc790294ee7ed46970a253b\n"
    },
    {
      "commit": "0c401b7665d0a1fad8b4a41be4577e52f7e5ef38",
      "tree": "9edb92a12fe9c8232afa26c7cf79f382c3aff1dd",
      "parents": [
        "49ddbceebdba7d0a349888f3bc058bcc25b49129"
      ],
      "author": {
        "name": "satyanarayana reddy janga",
        "email": "satyajanga@fb.com",
        "time": "Tue Mar 24 14:22:23 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 24 14:24:31 2026 -0700"
      },
      "message": "[lldb] Fix immediately-destroyed ScopedTimeout in KillProcess (#188333)\n\nThe ScopedTimeout was created as a temporary, causing it to be destroyed\nimmediately and the timeout to have no effect. Give it a name so it\nlives until the end of the function scope.\n\nGitOrigin-RevId: 674cb9e3f18a6e428d611f39e7f5a99537afb5b6\n"
    },
    {
      "commit": "49ddbceebdba7d0a349888f3bc058bcc25b49129",
      "tree": "7a77790f6847395b6925cefaee4fa015568d2b86",
      "parents": [
        "7fdd51261f839f4258be1388a59f54ead5a01979"
      ],
      "author": {
        "name": "Jordan Rupprecht",
        "email": "rupprecht@google.com",
        "time": "Tue Mar 24 15:39:04 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 24 13:41:02 2026 -0700"
      },
      "message": "[lldb][trace] Ensure ProcessTrace plugin can be re-registered (#188336)\n\nInitialize makes sure that it calls RegisterPlugin only once, but\nTerminate always calls UnregisterPlugin. This is a problem for tests\nthat call Initialize/Terminate before and after each test case: the\nsecond case will fail because the trace plugin won\u0027t be loaded.\n\nThis fixes a test failure introduced by #187768, which adds a test case\nthat passes on its own but fails when run after the previous test case.\n\nGitOrigin-RevId: 6ef30612ee6d69d0a5658ec0d2f78b6a09a4aa0d\n"
    },
    {
      "commit": "7fdd51261f839f4258be1388a59f54ead5a01979",
      "tree": "f082bee2818ae980632ae2be1b711f45e678ab92",
      "parents": [
        "361922a37b597aef510931ec0b72d114593d0ea5"
      ],
      "author": {
        "name": "Tom Hewitt",
        "email": "tom@tom-hewitt.com",
        "time": "Tue Mar 24 18:09:03 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 24 11:10:43 2026 -0700"
      },
      "message": "[lldb] Fix trace load hang (#187768)\n\n#179799 removed the `SetPrivateState(eStateStopped)` call in\n`ProcessTrace::DidAttach()`. This makes the call to\n`WaitForProcessToStop` hang forever, causing the `trace load` command to\nhang.\n\nThis fix reintroduces the `SetPrivateState` call so a postmortem trace\nprocess will \"stop\" after being loaded, matching the logic used in\n`Process::LoadCore()`.\n\nGitOrigin-RevId: 68edb9f3c0dcb79a6222afc92d31bded7fba8449\n"
    }
  ],
  "next": "361922a37b597aef510931ec0b72d114593d0ea5"
}
