)]}'
{
  "log": [
    {
      "commit": "058c23f04d56417fceefbdb21fdd31ac1aeb028f",
      "tree": "2f83db047c3cf3fef04aea2c4676aba709b82d26",
      "parents": [
        "b88fbdd86260fc59b892d9e21054c5388c473b0d"
      ],
      "author": {
        "name": "Victor Campos",
        "email": "victor.campos@arm.com",
        "time": "Sun Nov 01 13:33:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Nov 01 13:37:42 2026"
      },
      "message": "[libc] Fix maybe unused warnings in Arm 32-bit no-FP baremetal builds (#237257)\n\nIn configurations without floating-point, some variables end up not\nused, hence warnings are shown because of this.\n\nThis patch adds `[[maybe_unused]]` to the definitions affected by this.\n\nThe ultimate goal is to re-enable `-Werror` in no-FP builds.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4497566c7ca6b1d958fe27678f541308b948f6c2\n"
    },
    {
      "commit": "b88fbdd86260fc59b892d9e21054c5388c473b0d",
      "tree": "1cfeac3cc4ecdd456898be2fd49908fa533043c5",
      "parents": [
        "89c4ddfc044a53bcc2cd12efcb2a3eaafd8d6aff"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Sat Oct 31 14:49:15 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 31 14:53:55 2026"
      },
      "message": "[libc][docs] Update `index.md` for float80 and double_double functions (#236675)\n\nThis removed the long_double column, replacing it with the float80 and\ndouble_double functions.\n( Assisted using : Gemini )\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 46be2fa731cf2c4e8d1faa66f7707888b5ab762c\n"
    },
    {
      "commit": "89c4ddfc044a53bcc2cd12efcb2a3eaafd8d6aff",
      "tree": "09e07451ea2e189cc1be687ef79d53347e04aef0",
      "parents": [
        "39d7f928243e66f52abe693c4000673678c8d71e"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Sat Oct 31 14:49:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 31 14:53:15 2026"
      },
      "message": "[libc] Add fdim functions for float80 type (#236417)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: df13cd932b1a57a7670513609b4f0bee1e5d0c84\n"
    },
    {
      "commit": "39d7f928243e66f52abe693c4000673678c8d71e",
      "tree": "3a03fbad2e6aed4e0ae00f310dea103b4d50672d",
      "parents": [
        "465e9d3106a7fbde540dedbc0ee6ca893e580b7a"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Sat Oct 31 14:49:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 31 14:52:44 2026"
      },
      "message": "[libc] Add fmaximum_mag_num/fminimum_mag_num functions for float80 type (#236415)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 923c39724462818802c5cd5dfea8d9e12036c67d\n"
    },
    {
      "commit": "465e9d3106a7fbde540dedbc0ee6ca893e580b7a",
      "tree": "7df8e6428a7c0d4641c5005729e503cee49a522b",
      "parents": [
        "f3fbbaab224178fe104d06189360654a545478dc"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Sat Oct 31 14:49:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 31 14:52:15 2026"
      },
      "message": "[libc] Add fmaximum_mag/fminimum_mag functions for float80 type  (#236411)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: eb8f4f21abd763c3736c098c1309ffe5f1bef0e7\n"
    },
    {
      "commit": "f3fbbaab224178fe104d06189360654a545478dc",
      "tree": "9d0b96a0923e7ce45426a9062483451c59068cde",
      "parents": [
        "2986c2169d510f7c8f23de779d15015d25a9c643"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Sat Oct 31 13:59:28 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 31 14:02:04 2026"
      },
      "message": "[libc] Add fmaximum_num/fminimum_num functions for float80 type (#236401)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 24ea9d257831ee5d6f827511b35ddb09036859b8\n"
    },
    {
      "commit": "2986c2169d510f7c8f23de779d15015d25a9c643",
      "tree": "1064fcaa5ab4d1e66c50ebd9aac310a55dd2453c",
      "parents": [
        "e80d7aa6b1785ea27b6bd8d502157c614fdd2b64"
      ],
      "author": {
        "name": "Chen Miao",
        "email": "chenmiao.ku@gmail.com",
        "time": "Sat Oct 31 07:51:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 31 07:58:36 2026"
      },
      "message": "[libc][stdlib] Avoid scanning values during environment lookup (#228633)\n\nConstructing a string_view for each environment entry scans the entire\nvalue to determine its length, even when the name does not match. This\nmakes lookups unnecessarily expensive for long values such as PATH.\n\nFilter entries by their first character, then compare the remaining name\nup to a mismatch or null terminator. Require a following \u0027\u003d\u0027 to match\nthe complete key, preserving support for empty names in putenv.\n\nCloses #196016\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 00cbe8231c064558a28b740ea2603301c3d649af\n"
    },
    {
      "commit": "e80d7aa6b1785ea27b6bd8d502157c614fdd2b64",
      "tree": "157f4a2edf85e28cf02f38a51de8c4d1921993eb",
      "parents": [
        "cc010a6ff6e7a8657907f54fc504e15107e010a8"
      ],
      "author": {
        "name": "Manuel Drehwald",
        "email": "git@manuel.drehwald.info",
        "time": "Fri Oct 30 18:15:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 18:22:00 2026"
      },
      "message": "Replace python 3.9 dict | operator to support older python versions (#236599)\n\nI\u0027m experimenting with providing libc-for-gpu as part of Rust\u0027s\n`std::offload`, to make debugging nicer and experiment with how much of\nstd we could support.\nhttps://github.com/rust-lang/rust/pull/161565/changes\n\nWe noticed we need to add pyyaml for libc ( or rather hdrgen), which\nwe\u0027re fine with adding. There are 3 more lines not supported by our CI\nversion of Python (3.6). The used dict features were\n[introduced](https://docs.python.org/3/whatsnew/3.9.html#dictionary-merge-update-operators)\nin Python 3.9. Given how small the diff is, I hope no one minds this\nchange to support older Pythons for a bit longer.\n\ncc @michaelrj-google\n\nLLM disclosure: I asked an llm to look at features not supported by\npython 3.6, and suggest identical alternatives that work with 3.6. I had\nassumed to encounter more cases. I checked the Python changes.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bf07a5e575d65df9da02b54a45dc93f55a22b83d\n"
    },
    {
      "commit": "cc010a6ff6e7a8657907f54fc504e15107e010a8",
      "tree": "2367c744023e6f3a28c2c96eb26376b192205c97",
      "parents": [
        "3c2f6207d6e7cf7828a8bc689edb140a14c19df1"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Fri Oct 30 17:46:20 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 17:52:48 2026"
      },
      "message": "[libc] Clean up redundant libc_errno includes and dependencies. (#237273)\n\n- Replace `src/__support/libc_errno.h` with `hdr/errno_macros.h` in\npthread, spawn, stdio, threads, time, and test files that only use errno\nconstants.\n- Remove unused `libc_errno.h` includes and\n`libc.src.__support.libc_errno` dependencies from err, stdio,\nsyscall_wrappers, and tests.\n- Remove redundant `libc.src.errno.errno` / `:errno` dependencies from\nmath, unistd, mman, test, and fuzzer targets in CMake and Bazel.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 433c1279314515da8e0ada89932baa4a16ba889d\n"
    },
    {
      "commit": "3c2f6207d6e7cf7828a8bc689edb140a14c19df1",
      "tree": "6891bf828f9be1fb22f8465cfc5d17ee6bf3bac3",
      "parents": [
        "014c4907a3394a3790fd667fcc776ba4f0ad61e9"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Oct 30 17:19:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 17:24:59 2026"
      },
      "message": "[libc] Add a placeholder for POSIX sys/shm.h header (#237283)\n\n`\u003csys/shm.h\u003e` is a POSIX header providing the functionality to use the\nXSI shared memory facility. Provide this header in LLVM-libc, and\npopulate a handful of types and macros as required by the latest POSIX\nspec in\nhttps://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_shm.h.html:\n* forward-include `\u003csys/ipc.h\u003e` header\n* provide type definitions for several types: pid_t, size_t, time_t,\nintptr_t. Also define shmatt_t.\n* Define a few `SHM_*` symbolic constants used in `schmat` flags.\n\nNo functions provided in the header yet - those would be added in\nsubsequent PRs.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8ed6058b84327a89cf6f18cd7edc657dcea3319c\n"
    },
    {
      "commit": "014c4907a3394a3790fd667fcc776ba4f0ad61e9",
      "tree": "2c70b8c8215b532de8cda454e8a17cdddcd07902",
      "parents": [
        "f05a9d72ec1fc34631df2ca7b3416adc4264a6b4"
      ],
      "author": {
        "name": "Victor Campos",
        "email": "victor.campos@arm.com",
        "time": "Fri Oct 30 17:15:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 17:24:30 2026"
      },
      "message": "[libc] Add truncation casts to avoid warnings in `file_test.cpp` (#237262)\n\n`file_test.cpp` has code that mixes `size_t` and `off_t`.\n\nIn 64-bit platforms this doesn\u0027t cause warnings, but in 32-bit the two\ntypes have different bitwidths: `size_t` is 32 whereas `off_t` is still\n64. This makes clang emit a `-Wshorten-64-to-32` warning.\n\nThis patch adds explicit castings to silence the warnings. Mixing\ndifferent bitwidths and even different signedness like this is brittle,\nas it can cause integer wrapping and unwanted behaviour. However, within\nthe constraints of the test, the code is ok.\n\nBut one call to `seek()` had an obvious unsigned underflow in its\nargument. This is fixed.\n\nThe ultimate goal is to re-enable `-Werror` in 32-bit builds.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 28c49b805642fc9695b265a3dc8a995b12847e58\n"
    },
    {
      "commit": "f05a9d72ec1fc34631df2ca7b3416adc4264a6b4",
      "tree": "a9449eba7477bbea5508632ebf5b9dc21157c35a",
      "parents": [
        "bb47421ffbeb48030a20ceef3e54b3b35ff6972d"
      ],
      "author": {
        "name": "Victor Campos",
        "email": "victor.campos@arm.com",
        "time": "Fri Oct 30 17:12:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 17:18:39 2026"
      },
      "message": "[libc] Fix uninitialized variable warning in FrexpTest.h (#237263)\n\nIn Arm baremetal no-FP builds, some variables in `FrexpTest.h` cause\nuninitialized variable warnings. In some cases it may be false positives\nthat Clang can\u0027t reason accurately, but still warns.\n\nIn any case, this patch initializes these variables to avoid the\nwarnings altogether.\n\nThe ultimate goal is to re-enable `-Werror` in no-FP builds.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 468910ed0d6116516da20641db18088c5d79360d\n"
    },
    {
      "commit": "bb47421ffbeb48030a20ceef3e54b3b35ff6972d",
      "tree": "147ca510f54e562b20a0b9ad85dc38bec348444d",
      "parents": [
        "ba0dd4308c6b45045030faf7ff7938f696c9661c"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Fri Oct 30 15:45:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 15:52:15 2026"
      },
      "message": "[libc] Clean up libc_errno implementation, dependencies, and add __errno_location alias (#235421)\n\nCleanup errno\u0027s dependency issues.\n\n- Inline `Errno` methods in `libc_errno.h` and make `libc_errno` an\ninline constexpr variable.\n- Add `LIBC_COPT_PROVIDE_GNU_ALIASES` config option (enabled on Linux)\nto provide `__errno_location` as an alias of `__llvm_libc_errno`.\n- Fix `LIBC_ERRNO_MODE` fallback for `libc/shared/libc_common.h`.\n- Clean up `libc.src.errno.errno` dependencies in `src/__support/` and\nlink it automatically in test rules.\n- Add developer documentation on `errno` and `libc_errno` usage.\n\nImmediate followup from this PR: clean up errno dependency.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5165cd89b849564003112a332b7b54323fe42e87\n"
    },
    {
      "commit": "ba0dd4308c6b45045030faf7ff7938f696c9661c",
      "tree": "e8834128fc320672768375de5b5b8dd39be92b3d",
      "parents": [
        "910771e1c161ec622ccf0b33d0ce74ea39250e3f"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Oct 30 14:37:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 14:44:24 2026"
      },
      "message": "[libc][sys/eventfd] Add eventfd_read / eventfd_write convenience functions. (#236819)\n\nImplement GNU extensions `eventfd_read` and `eventfd_write` that\nsimplify read/write operations\non eventfd descriptor created by eventfd functions. These functions\nsimply wrap read/write\nsyscalls and ensure the correct number of bytes (stored in `eventfd_t`\ntype) is passed around.\n\nAssisted by: Gemini, human-verified\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1935768ea95cb63901cc9d4e1fafd24e66e18926\n"
    },
    {
      "commit": "910771e1c161ec622ccf0b33d0ce74ea39250e3f",
      "tree": "5c4428bb8ca4ae5f8014b873cbd1fe99de1540ad",
      "parents": [
        "bfed92cad86545e44646635d31dc1f17e817a68e"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Oct 30 14:18:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 14:23:22 2026"
      },
      "message": "[libc][unistd] Add getgroups syscall wrapper. (#237020)\n\nUnlike `initgroups` and `setgroups`, `getgroups` is standardized in\nPOSIX.1-2024, and should\nbe provided by `\u003cunistd.h\u003e` header. Implement it as a simple syscall\nwrapper around `getgroups32` syscall,\nsimilar to `setgroups`. Since it\u0027s a getter function, it doesn\u0027t need\nsetxid propagation across threads,\nand thus can be added to regular (non-experimental) entrypoints list on\nvarious Linux platforms.\n\nAssisted by: Gemini, human-verified.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 79413f5118d434523e70d4942a6c0aad850a4369\n"
    },
    {
      "commit": "bfed92cad86545e44646635d31dc1f17e817a68e",
      "tree": "a7904c763da8971ef5d6bd482a15bc6fa62199da",
      "parents": [
        "5b6f42e9ef72351dafef02597a07f93eedcc5a98"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Fri Oct 30 09:01:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 09:08:37 2026"
      },
      "message": "[libc] Use a syscall wrapper for semop (#236723)\n\nThis PR move semop behind the centralized syscall wrappers, following\nlibc/docs/dev/syscall_wrapper_refactor.md.\n\n---\n\n\u003csub\u003eStack created with \u003ca\nhref\u003d\"https://github.com/github/gh-stack\"\u003eGitHub Stacks CLI\u003c/a\u003e • \u003ca\nhref\u003d\"https://gh.io/stacks-feedback\"\u003eGive Feedback 💬\u003c/a\u003e\u003c/sub\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: cc19bbefce1b5817b63f9faf8c78a586569a6e22\n"
    },
    {
      "commit": "5b6f42e9ef72351dafef02597a07f93eedcc5a98",
      "tree": "2454307c67f92b08e82f1464a87fd1bedcba79e4",
      "parents": [
        "dbda39f3c148a5a92c45cd0e3651b89dd5f4fd1a"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Fri Oct 30 09:01:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 09:08:09 2026"
      },
      "message": "[libc] Use a syscall wrapper for semget (#236722)\n\nThis PR move semget behind the centralized syscall wrappers, following\nlibc/docs/dev/syscall_wrapper_refactor.md.\n\n---\n\n\u003csub\u003eStack created with \u003ca\nhref\u003d\"https://github.com/github/gh-stack\"\u003eGitHub Stacks CLI\u003c/a\u003e • \u003ca\nhref\u003d\"https://gh.io/stacks-feedback\"\u003eGive Feedback 💬\u003c/a\u003e\u003c/sub\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6f5c94aa642348c7a3a0443dafc62b21bb2b7740\n"
    },
    {
      "commit": "dbda39f3c148a5a92c45cd0e3651b89dd5f4fd1a",
      "tree": "af6347c774572ddfb04570bbe8c1f091f9a4e5a3",
      "parents": [
        "2a93a34430ad6471031aa95dc5fc2c533e2710c3"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Fri Oct 30 09:01:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 09:07:38 2026"
      },
      "message": "[libc] Use a syscall wrapper for semctl (#236721)\n\nThis PR move semctl behind the centralized syscall wrappers, following\nlibc/docs/dev/syscall_wrapper_refactor.md.\n\n---\n\n\u003csub\u003eStack created with \u003ca\nhref\u003d\"https://github.com/github/gh-stack\"\u003eGitHub Stacks CLI\u003c/a\u003e • \u003ca\nhref\u003d\"https://gh.io/stacks-feedback\"\u003eGive Feedback 💬\u003c/a\u003e\u003c/sub\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f7dee5c1f7ce3b6fc96ce702f33961b27d46388a\n"
    },
    {
      "commit": "2a93a34430ad6471031aa95dc5fc2c533e2710c3",
      "tree": "0967c25ee4a38419cf67b9c8323e8553b649f0f3",
      "parents": [
        "04465f5e0b2979427b5e3490849676a112ded82e"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Fri Oct 30 08:03:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 08:06:21 2026"
      },
      "message": "[libc] Reset fatal signal handlers in death test subprocesses (#236679)\n\nDeath tests (EXPECT_DEATH/ASSERT_DEATH) run the callback in a forked\nchild and check that the child was killed by a signal. If the test runs\nunder a runtime that installs its own handlers for fatal signals, the\nchild may not die from the signal at all. For example, on x86-64, ASan\nwith `handle_sigill\u003d1` catches the SIGILL raised by `__builtin_trap()`,\nprints an error report and calls `_exit()` (with the default\n`abort_on_error\u003d0` on Linux), so the test fails with:\n\nExpected [] { optional\u003cint\u003e opt_empty; (void)opt_empty.value(); } to be\nkilled by a signal\n  But it exited normally!\n\nThis is what happens to the death tests in optional_test and\nexpected_test, as well as the null-check death tests, when run with\n`ASAN_OPTIONS\u003dhandle_sigill\u003d1`. ASan handles SIGSEGV, SIGBUS and SIGFPE\nby default, so tests expecting those fail even with default options.\nThat\u0027s why pkey_test and the libgen death tests are not built under\nLLVM_USE_SANITIZER, and most likely why mprotect_test isn\u0027t either.\nraise_test works around it by using SIGKILL.\n\nRestore the default disposition of SIGABRT, SIGBUS, SIGFPE, SIGILL,\nSIGSEGV and SIGTRAP (the signals sanitizers can install handlers for) in\nthe child before invoking the callback, so that the child dies the same\nway it would in a plain process. This also avoids printing a sanitizer\nreport for a crash the test expects. EXPECT_EXITS goes through the same\ncode, so it gets this too. With that, I\u0027m removing the\nLLVM_USE_SANITIZER checks for mprotect_test, pkey_test and the libgen\ndeath tests.\n\nSanitizers can\u0027t be used in full build mode (the tests are statically\nlinked against our own startup code), but I\u0027m resetting the handlers\nthere as well, so that handlers installed by the test itself are treated\nthe same way in both modes. This makes the full build test framework\ndepend on signal(), which didn\u0027t have a Bazel target yet, so I\u0027m adding\ntargets for signal and sigaction.\n\nNotes:\n- Only these signals are reset. Other dispositions are still inherited\nfrom the parent, e.g. sigaction_test relies on the child inheriting\n`SIG_IGN` for SIGUSR1.\n- With `handle_\u003csignal\u003e\u003d2` (or `allow_user_segv_handler\u003d0`), the\nsanitizer signal() interceptor ignores the request, so the reset has no\neffect there. HWASan doesn\u0027t intercept signal(), so the reset does\nremove its SIGTRAP handler.\n- Errors that sanitizers detect through instrumentation rather than\nthrough a signal are still reported, as before.\n\nAssisted-by: Claude\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0f60508faba5b200434a06790b55e8fdfbabc035\n"
    },
    {
      "commit": "04465f5e0b2979427b5e3490849676a112ded82e",
      "tree": "ea7a8ce31e70dee674a0cbda30535a2c73616d40",
      "parents": [
        "f95f56b46c39ccb0e4f35f6262d3e052deb692d2"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Fri Oct 30 06:40:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 06:47:47 2026"
      },
      "message": "[libc] Fix race condition in wait_status_test (#237029)\n\nIn `stopped_and_continued()`, after the parent sends `SIGCONT`, the\nchild can wake up and call `exit(0)` before the parent calls\n`waitpid(pid, \u0026status, WCONTINUED)`. Because `waitpid` always implies\n`WEXITED`, the kernel reaps the exited zombie first and returns `0`\n(`WIFEXITED`) instead of `0xffff` (`WIFCONTINUED`), making the test\nflaky under load.\n\nBlock the child on a pipe after `raise(SIGSTOP)` until the parent has\nobserved `WIFCONTINUED(status)` and closed the write end. Also switch\nthe test from public `\u003csignal.h\u003e`/`\u003csys/wait.h\u003e` headers to internal and\nproxy headers.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 95425c95490b7b6c5a5ab94f7b1bcbc2e897a38f\n"
    },
    {
      "commit": "f95f56b46c39ccb0e4f35f6262d3e052deb692d2",
      "tree": "80fc9757386d497fdde596ebcb6409124fd008db",
      "parents": [
        "432c4abc874ea2fa76e901469dcb15571982cf74"
      ],
      "author": {
        "name": "Caroline Rodewig",
        "email": "16093297+carodewig@users.noreply.github.com",
        "time": "Thu Oct 29 20:11:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 20:17:36 2026"
      },
      "message": "[libc] Avoid large stack buffer in regex matcher_test (#235871)\n\n`StarMatchingAndStabilization` (added in #233980) declares a 10,000-byte\ninput buffer on the stack. This overflows the stack when the test runs\non NVPTX and makes the test fail with:\n\n```\nerror in cuMemcpyDtoHAsync: an illegal memory access was encountered\n```\n\nMake the buffer static, as 7cb6e6bced8c did for `SortingTest.h`.\n\nAssisted-by: Devin\n\nCo-authored-by: Devin \u003c158243242+devin-ai-integration[bot]@users.noreply.github.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: cf13f9b9e2ca16ee232f575771eead3a6b9a0e89\n"
    },
    {
      "commit": "432c4abc874ea2fa76e901469dcb15571982cf74",
      "tree": "43fc62def11bf9d392f4c52f157846ea6b1fa38e",
      "parents": [
        "16433092d3a35651507629b11390e63628662af2"
      ],
      "author": {
        "name": "Mike Lothian",
        "email": "mike@fireburn.co.uk",
        "time": "Thu Oct 29 20:08:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 20:16:45 2026"
      },
      "message": "[libc] Make the sys/time.h timer macros single statements (#236519)\n\ntimerisset ended in a semicolon, so the only way it is ever used, as the\ncondition of an if, did not compile. timerclear, timeradd and timersub\nwere each more than one statement with nothing holding them together, so\na caller writing \"if (c) timeradd(...); else\" silently took only the\nfirst line of the macro, or did not compile\n\nMake timerisset and timerclear single expressions and wrap timeradd and\ntimersub in do while so each is one statement. The arithmetic is\nunchanged. Add tests for the results and for using each macro in an if\nand else\n\nAI disclosure: this patch was written with Claude Code. I reviewed the\nchange and ran the new test; it fails to build without the fix and\npasses with it\n\nAssisted-by: Claude\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3e737ec2742cfa234d77e4475b9da2a16e8b7fa7\n"
    },
    {
      "commit": "16433092d3a35651507629b11390e63628662af2",
      "tree": "6d51f6baade249a35b17d5b1f5e48a2aee598f99",
      "parents": [
        "8019e5160f27921e7466ca963509bbf464afe253"
      ],
      "author": {
        "name": "sriramshastry",
        "email": "52648132+sriramshastry@users.noreply.github.com",
        "time": "Thu Oct 29 18:18:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 18:24:45 2026"
      },
      "message": "[libc][math] Return a floating NaN from the cbrtf16 signaling path (#236478)\n\nReturn a floating quiet NaN from cbrtf16\u0027s signaling-NaN path instead of\nnumerically converting the integer NaN encoding. Use conditional\nFE_INVALID\nreporting and add a regression checking NaN quietness, flags and errno.\nThe ordinary cube-root approximation is unchanged.\n\nTests: two smoke configurations per compiler with GCC 13 and Clang 18 on\nx86-64 Linux.\n\nAssisted-by: GitHub Copilot\n\nSigned-off-by: sriramshastry \u003csriramshastry@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0a533ad5576758e692f7bdca6b16691f11d49a56\n"
    },
    {
      "commit": "8019e5160f27921e7466ca963509bbf464afe253",
      "tree": "e7d4495ed41bc98061e4a7db2509c814fb7350de",
      "parents": [
        "c881ebb29439e73216831b89e745fc5421054528"
      ],
      "author": {
        "name": "Sam",
        "email": "49108786+user1342234@users.noreply.github.com",
        "time": "Thu Oct 29 17:56:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 18:04:24 2026"
      },
      "message": "[libc] Make ffma functions constexpr (#226872)\n\nMake ffma functions constexpr along with tests\n\n---------\n\nCo-authored-by: Zorojuro \u003csawantsukumar@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a3c61818e35e126f8cd2b8d0114624d79bfe0350\n"
    },
    {
      "commit": "c881ebb29439e73216831b89e745fc5421054528",
      "tree": "87c810b77a821e141dee2f13db865cec3e39f88b",
      "parents": [
        "235a1455c5362f83fe310fbb7ec832b1df123bf6"
      ],
      "author": {
        "name": "Mike Lothian",
        "email": "mike@fireburn.co.uk",
        "time": "Thu Oct 29 17:50:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 17:58:49 2026"
      },
      "message": "[libc] Fix the values of TCOFLUSH and TCIOFLUSH (#236513)\n\ntcflush passes its argument straight to the TCFLSH ioctl, so the values\nmust be the kernel\u0027s, which are 0 for TCIFLUSH, 1 for TCOFLUSH and 2 for\nTCIOFLUSH. The last two were swapped, so a caller asking to discard\nunsent output also discarded the input it had not read yet\n\nAdd a test that leaves a line of input waiting on a pseudoterminal and\nchecks which of the three flushes drops it\n\nAI disclosure: this patch was written with Claude Code. I reviewed the\nchange and ran the new test; it fails without the fix and passes with it\n\nAssisted-by: Claude\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c88708ea8e617eef102e0e6390f88adcc6fe3a5f\n"
    },
    {
      "commit": "235a1455c5362f83fe310fbb7ec832b1df123bf6",
      "tree": "bdd75217b9d7f37746b50ba4ead8b35aed3e456b",
      "parents": [
        "997430a741f4fe49f0c864bb697b41f20ebec61e"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Thu Oct 29 17:43:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 17:47:43 2026"
      },
      "message": "[libc] Add fmaximum/fminimum functions for float80 type (#236393)\n\npart of https://github.com/llvm/llvm-project/issues/219707\noriginal work ref from https://github.com/llvm/llvm-project/pull/217390\n( Automated tooling for repeated works like entrypoint additions,etc. )\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4eb8bdd8a14806134c548cd926b88847540a526f\n"
    },
    {
      "commit": "997430a741f4fe49f0c864bb697b41f20ebec61e",
      "tree": "c692d55a05a22f76d498b53160006a82a45a78be",
      "parents": [
        "cd4a720a30ca05eb60017c0b7cc61e9833c4f4e9"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Thu Oct 29 17:43:28 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 17:47:16 2026"
      },
      "message": "[libc] Add fmax/fmin functions for float80 type (#236387)\n\npart of https://github.com/llvm/llvm-project/issues/219707\noriginal work ref from https://github.com/llvm/llvm-project/pull/216575\n( Automated tooling for repeated works like entrypoint additions,etc. -\nThis would be for the whole stack of PRs)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1ff9fc8fdd8f62c796d703db2b36a59064d9a222\n"
    },
    {
      "commit": "cd4a720a30ca05eb60017c0b7cc61e9833c4f4e9",
      "tree": "fcc92387abe62f4a80b1eb9e15bf2b1c1880e5a2",
      "parents": [
        "b6441a541d92ca4af2fe6e87552538d21893a460"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Thu Oct 29 10:32:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 10:38:37 2026"
      },
      "message": "Revert \"[libc][cmake] Respect the configured optimization level for the Linux thread and TLS objects\" (#236604)\n\nReverts llvm/llvm-project#234382\n\nSee discussion in the PR thread - removing `-O3` from TLS initialization\nand thread exiting code leads to crashes (from callee functions that are\nbuild with stack protection enabled, or from accessing the local\nvariables after the stack is unmapped).\n\nCo-authored-by: Prabhu Rajasekaran \u003cprabhukrllvm@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 94c12484c59df6007e79d47960be247e82d56436\n"
    },
    {
      "commit": "b6441a541d92ca4af2fe6e87552538d21893a460",
      "tree": "42d056c407fca2670e2fd11d93dd9ac9fe5923d0",
      "parents": [
        "0268096a765319011a43decb7aa42b6eaa3e62c5"
      ],
      "author": {
        "name": "Mike Lothian",
        "email": "mike@fireburn.co.uk",
        "time": "Thu Oct 29 10:06:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 10:26:52 2026"
      },
      "message": "[libc] Give struct sockaddr its full sa_data (#236518)\n\nsa_data was one byte, with a comment saying it stood in for a longer\narray, which made sizeof(struct sockaddr) four rather than sixteen. Code\nsizes address buffers against that: the kernel\u0027s sockaddr_vm computes\nits padding by subtracting the known fields from sizeof(struct\nsockaddr), which underflowed to an array of 2^64 elements\n\nA real address is passed as one of the per-family structures, so the\narray only has to fix the size. Fourteen bytes is the size the kernel\nand every other libc give it\n\nAI disclosure: this patch was written with Claude Code. I reviewed the\nchange. There is no test since this is a type definition\n\nAssisted-by: Claude\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1ef05d039f4853b19e28558617189d0e3749c598\n"
    },
    {
      "commit": "0268096a765319011a43decb7aa42b6eaa3e62c5",
      "tree": "c0fea83b266e917e776c6808dd574b889b2818d6",
      "parents": [
        "8b797f21d94d799ce9518c765b6e0a9eae9a8f53"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Thu Oct 29 09:23:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 09:27:19 2026"
      },
      "message": "[libc] Implement ether_aton and ether_aton_r (#235886)\n\nThe format is simple enough that I\u0027m parsing it by hand. strtointeger is\nnot a particularly great fit as it also accepts leading whitespace and a\nsign.\n\nA few implementation notes:\n- each octet can have one or two hex digits, so the output of ether_ntoa\n(\"1:2:a:...\") can be parsed back\n- following musl (but unlike glibc), the address must not be followed by\nany trailing characters, not even whitespace. glibc accepts trailing\nwhitespace (and ignores anything after it), and even garbage directly\nafter a two-digit final octet (e.g. \"...:abfoo\").\n- the internal function does not take a string_view, as that would\nrequire us to scan the entire string needlessly (we stop at the first\ninvalid character). In the worst case, the string might not be\nterminated, and we\u0027d crash trying to find the end.\n- the output struct is not modified if parsing fails (glibc can leave it\npartially written)\n- like ether_ntoa, ether_aton uses a thread-local static buffer\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a5337f92321806c2e8602dfe93d59ee7f80c02c6\n"
    },
    {
      "commit": "8b797f21d94d799ce9518c765b6e0a9eae9a8f53",
      "tree": "929a1b1667a164b6a4c0b80a32ecfb5a9c0226cb",
      "parents": [
        "5a85ff02632ff4cb469fb45a93acf6a29b1c576b"
      ],
      "author": {
        "name": "Mike Lothian",
        "email": "mike@fireburn.co.uk",
        "time": "Thu Oct 29 07:51:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 07:57:35 2026"
      },
      "message": "[libc] Fix WIFSIGNALED and WIFSTOPPED for stopped and continued children (#235759)\n\nWIFSIGNALED treated any non-zero termination signal as a signal, so it\nwas also true for a stopped child, whose low byte is 0x7f, and for a\ncontinued one (0xffff). WIFSTOPPED masked with 0x7f instead of 0xff, so\nit was also true for a continued child.\n\nMake each macro true for exactly one kind of status, as glibc and musl\ndo, and add tests for exited, signalled, stopped and continued statuses.\n\nAI disclosure: this patch was written with Claude Code. I reviewed the\nchange and ran the new test; it fails without the fix and passes with\nit.\n\nAssisted-by: Claude\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fda4724ce92b99e4d7b90af9ee264d7650a63b32\n"
    },
    {
      "commit": "5a85ff02632ff4cb469fb45a93acf6a29b1c576b",
      "tree": "b23bbd5ec2cc31baff07580525d759c180f353f3",
      "parents": [
        "01e24b51cd1eb2a63c04db45aa43b4332a075ea1"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Thu Oct 29 07:47:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 07:54:04 2026"
      },
      "message": "[libc] Add TCP socket options to \u003cnetinet/tcp.h\u003e (#236121)\n\nThis patch adds SOL_TCP and the TCP level socket option macros\n(TCP_MAXSEG, TCP_CORK, TCP_KEEPIDLE, etc.), as well as the constants\nused as values for TCP_REPAIR and TCP_REPAIR_QUEUE.\n\nThe values are Linux-specific, so I\u0027ve moved them (along with the\nexisting TCP_NODELAY definition) out of the yaml file into a new\nllvm-libc-macros header with an OS-specific subheader.\n\nI\u0027ve left out the options which need a struct to be useful (TCP_INFO,\nTCP_MD5SIG, TCP_REPAIR_WINDOW, TCP_ZEROCOPY_RECEIVE, TCP_AO_*, etc.).\nI\u0027m leaving those for separate patch(es).\n\nglibc and linux define the TCP_*_QUEUE constants as an enum. I\u0027ve made\nthem macros instead, since they live in a macro header. This means our\nheader will not play nicely with \u003clinux/tcp.h\u003e, but that\u0027s true of\nglibc\u0027s header as well.\n\nI\u0027ve also added a test which sets a couple of options on a TCP socket.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: cc10bd553c42bb5563c19a3e6a0a49b6e1d5059f\n"
    },
    {
      "commit": "01e24b51cd1eb2a63c04db45aa43b4332a075ea1",
      "tree": "e5014bd5434f434edf5a868def1bd7f8aebb8bae",
      "parents": [
        "8dfc8d390d7fbd00138892752b9417d733dca52b"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Thu Oct 29 07:36:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 07:46:34 2026"
      },
      "message": "[libc] Rename cpp::function to cpp::function_ref (#236108)\n\nThe class does not own the callable, so the old name (suggesting\nstd::function) was misleading. While renaming it, I also made it behave\nmore like the C++26 std::function_ref:\n\n- remove the default and nullptr constructors and operator bool. A\nstd::function_ref is never empty, and nobody was using these anyway.\n- add a constructor for function pointers, which stores the pointer\nitself. Previously, `function\u003cvoid()\u003e f \u003d \u0026foo;` would store the address\nof the temporary pointer object and dangle as soon as the statement\nended.\n- delete assignment from anything other than function_ref and function\npointers, to prevent `f \u003d [\u0026] {...};`, which dangles for the same\nreason. Like std::function_ref, this also rejects lvalue callables\n(which would not dangle). These can still be assigned by wrapping them\nexplicitly: `f \u003d function_ref\u003cvoid()\u003e(callable);`.\n\nI also fixed a bug where binding a non-void callable to a function_ref\nwith a void return type failed to compile, even though the constructor\nexplicitly allowed it.\n\nThere was no test for this class, so I\u0027m adding one.\n\nSome differences from std::function_ref remain (e.g. no support for\nconst and noexcept signatures, nontype_t constructors or constexpr). I\u0027m\nnot addressing those here.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b5a20db623e74e7941ef76472b85847f6409ac77\n"
    },
    {
      "commit": "8dfc8d390d7fbd00138892752b9417d733dca52b",
      "tree": "894b578b31f3a62a563454f38c0a5a3319965357",
      "parents": [
        "cbc6f2f3d4ec1efee7363f5ce933f6614770c40d"
      ],
      "author": {
        "name": "Mike Lothian",
        "email": "mike@fireburn.co.uk",
        "time": "Wed Oct 28 21:18:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 21:22:18 2026"
      },
      "message": "[libc] Declare tcsetattr\u0027s termios as const (#236514)\n\nPOSIX takes a const struct termios pointer in tcsetattr, and the\nimplementation already does. Only the declaration in termios.yaml\ndisagreed, so the generated header rejected a call passing a const\npointer\n\nAI disclosure: this patch was written with Claude Code. I reviewed the\nchange and checked the declaration against the implementation. There is\nno test since only the generated declaration changes\n\nAssisted-by: Claude\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5a4ba2c1e3448635c2349ab0cf78166815bd9ca9\n"
    },
    {
      "commit": "cbc6f2f3d4ec1efee7363f5ce933f6614770c40d",
      "tree": "f20fd3cb46266c873bfc006f527ddb4ef106a86d",
      "parents": [
        "fdbdc7b709f4d1ff5f9f6fe682d6d86a5531d199"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Wed Oct 28 20:15:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 20:26:23 2026"
      },
      "message": "[libc][math] Implement double precision tanh correctly rounded to all rounding modes. (#235618)\n\n- Evaluate `tanh(x) \u003d 1 - (2 * m) / (e^u + m)` for `|x| \u003e\u003d 2^-3` using\nshared exp range reduction and lookup tables from `exp_utils.h` and\n`exp2_accurate_128.h`\n- For `2^-27 \u003c |x| \u003c 2^-3`, use a degree-5 minimax polynomial in `x^2`\nwith exact leading cubic split in the fast pass, and a degree-11 minimax\npolynomial in Frac128 in the accurate pass.\n- Add a no-LUT (N \u003d 0) sinh(x) / cosh(x) evaluation when\n`LIBC_MATH_HAS_SKIP_ACCURATE_PASS` is enabled.\n\nAssisted-by: Gemini for analysis and refactoring.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ff9ad993c2b90a78f23b988333e05accae1147df\n"
    },
    {
      "commit": "fdbdc7b709f4d1ff5f9f6fe682d6d86a5531d199",
      "tree": "daa90c8496559c0b5d7b86c2247fe1c8f1645979",
      "parents": [
        "d8f2045008e230f3c5f50095d918c11f1997e477"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Wed Oct 28 16:00:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 20:25:11 2026"
      },
      "message": "[libc] Use a syscall wrapper for `epoll_pwait` (#236382)\n\nThis PR move `epoll_pwait` behind the centralized syscall wrappers,\nfollowing `libc/docs/dev/syscall_wrapper_refactor.md`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6060ce9dcac20a7a51beefdb4d9cbabaff31d878\n"
    },
    {
      "commit": "d8f2045008e230f3c5f50095d918c11f1997e477",
      "tree": "b86b82d24a466ca1fbb1738a3f09e9bf2372c5da",
      "parents": [
        "b370731ff5fba4412563e8566db573ab4beb1a3e"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Wed Oct 28 15:59:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 16:03:23 2026"
      },
      "message": "[libc] Use a syscall wrapper for `epoll_create` (#236381)\n\nThis PR move `epoll_create` behind the centralized syscall wrappers,\nfollowing `libc/docs/dev/syscall_wrapper_refactor.md`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5fd50ec8e07abb94e203933017e8d6e40fb51824\n"
    },
    {
      "commit": "b370731ff5fba4412563e8566db573ab4beb1a3e",
      "tree": "a47e3c5db18870e4aabc15ea7efaa94962c00e0e",
      "parents": [
        "867380b2e4bcddac63960507f96241cc93652cbb"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Wed Oct 28 15:17:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 15:23:35 2026"
      },
      "message": "[libc] Always-inline syscall_impl and syscall_checked. (#236255)\n\nForce `syscall_checked` and `syscall_impl` wrappers to be inlined into\nimplementations of individual syscall wrappers (even at `-O0`\noptimization level).\n\nThis is required to fix Debug builds of LLVM-libc after 60f47a7aa5af,\nwhich stopped\napplying `-O3` to application startup code automatically. Without this\nchange,\n`init_tls` ends up invoking out-of-line `syscall_impl` specialization\n(e.g. for getrandom syscall), and an earlier object file compiled with\n`-fstack-protector-strong` can otherwise win COMDAT selection, and\nattempt\nto check thread stack before its pointer is even set (see commit message\nfor 4057f8e45b7f as well).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ba6c664c0e133a5f92d54316de603e6b2d9d810e\n"
    },
    {
      "commit": "867380b2e4bcddac63960507f96241cc93652cbb",
      "tree": "fc7cea325f958016caeaa47886db57ca2ee78ff6",
      "parents": [
        "085509a323db659d71ff3104515c1567453c54d5"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Wed Oct 28 14:49:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 15:22:55 2026"
      },
      "message": "[libc] Fix the type of pthread_barrier_init\u0027s count argument (#236178)\n\nPOSIX declares it as `unsigned`, which is also what our implementation\nuses, but pthread.yaml (and hence the generated header) said `int`.\nNothing caught the mismatch because the entrypoint never sees the public\ndeclaration.\n\nWhile in there, add the missing `__restrict` to the first argument of\nthe internal declaration.\n\nAssisted-by: Claude\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f7088e6ebdfa25bd33e7c1c0989b961e30aa9bd0\n"
    },
    {
      "commit": "085509a323db659d71ff3104515c1567453c54d5",
      "tree": "c5c10263325758ffc5ab7819ba107af586566d11",
      "parents": [
        "3f53c227509e2a3f7eee834194080e222aebc05f"
      ],
      "author": {
        "name": "Mike Lothian",
        "email": "mike@fireburn.co.uk",
        "time": "Wed Oct 28 14:49:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 14:53:50 2026"
      },
      "message": "[libc] Fix the values of GRND_NONBLOCK and GRND_RANDOM (#235760)\n\nThe two flags were swapped. getrandom passes its flags to the kernel\nunchanged, so a caller asking not to block got the blocking random pool,\nand a caller asking for that pool was told not to block. The kernel\u0027s\nvalues, in include/uapi/linux/random.h, are 0x0001 for GRND_NONBLOCK and\n0x0002 for GRND_RANDOM.\n\nThe test relies on the kernel rejecting GRND_INSECURE together with\nGRND_RANDOM and accepting it together with GRND_NONBLOCK.\n\nAI disclosure: this patch was written with Claude Code. I reviewed the\nchange and ran the new test; it fails without the fix and passes with\nit.\n\nAssisted-by: Claude\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 98ee3aa92ab6c59b6d63b4537e23cb6973103906\n"
    },
    {
      "commit": "3f53c227509e2a3f7eee834194080e222aebc05f",
      "tree": "b36475a6f8d38b39a0f8feffdba6a9b018741f8c",
      "parents": [
        "2d29bf82a411e62351bc0719a7fe9583b6a9f625"
      ],
      "author": {
        "name": "Mike Lothian",
        "email": "mike@fireburn.co.uk",
        "time": "Wed Oct 28 14:43:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 14:49:37 2026"
      },
      "message": "[libc] Return 0 from uname on success (#235758)\n\nuname returned 1 on success. POSIX only requires a non-negative value,\nbut glibc, musl and bionic all return 0, and callers compare the result\nagainst 0: lvm2, for example, treats 1 as a failure.\n\nTighten the test to expect 0.\n\nAI disclosure: this patch was written with Claude Code. I reviewed the\nchange and ran the new test; it fails without the fix and passes with\nit.\n\nAssisted-by: Claude\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 00dc0b882bd3a168374e9eed3855224202a3909f\n"
    },
    {
      "commit": "2d29bf82a411e62351bc0719a7fe9583b6a9f625",
      "tree": "9d53f3224bb1272bd649a67f5a2aaa482c483a27",
      "parents": [
        "9507bea31966c581d8b1c157f8d6805c14a539ce"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Wed Oct 28 13:52:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 13:58:53 2026"
      },
      "message": "[libc][regex] Add \u0027+\u0027 and \u0027?\u0027 ERE quantifiers (#236364)\n\nIn POSIX Extended Regular Expressions (ERE), the \u0027+\u0027 quantifier matches\none or more occurrences of the preceding atom and \u0027?\u0027 matches zero or\none occurrence. Quantifiers with no preceding repeatable atom, following\nan anchor, or chained directly after another quantifier without grouping\nmust be rejected with REG_BADRPT.\n\nLower \u0027r+\u0027 to Concat(r, Star(r)) and \u0027r?\u0027 to Alt(EmptyStr, r) in\nparse_quantified_atom. Because both references to \u0027r\u0027 in Concat(r,\nStar(r)) share the same interned ExprId handle, \u0027+\u0027 adds at most two\nExprPool nodes and \u0027?\u0027 adds one node regardless of subexpression\ncomplexity, without introducing new AST node kinds.\n\nExternal compliance suites: Henry Spencer suite passes 218/456 (+50)\nboolean/error cases and 73/456 (+8) full-position cases; AT\u0026T testregex\npasses 333/400 (+81) ERE boolean/error cases and 335/473 (+81) overall\nboolean/error cases with 0 regressions.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: adb80317aa28758c25207de48962af704e2e0cac\n"
    },
    {
      "commit": "9507bea31966c581d8b1c157f8d6805c14a539ce",
      "tree": "fefc59c4a7364422aea76383025efee572f9aa79",
      "parents": [
        "fc2cc74fbb4ad7074487d99fda1f457747a50a71"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Wed Oct 28 09:06:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 09:13:24 2026"
      },
      "message": "[libc][regex] Add alternation, grouping, and subexpression counting (#235943)\n\nIn POSIX Extended Regular Expressions (ERE), alternation \u0027|\u0027 has the lowest precedence and separates alternative branches, while grouping \u0027()\u0027 overrides precedence and delimits subexpressions. POSIX specifies that unmatched \u0027)\u0027\nat top level is treated as an ordinary character, empty subexpressions \u0027()\u0027 are valid, and unclosed \u0027(\u0027 or empty alternation branches must be rejected. Uncontrolled recursive parsing of deeply nested parentheses also presents a stack exhaustion risk that standard libraries must defend against.\n\nImplement alternation and parenthesized subexpressions in regex_parser via recursive descent with an explicit nesting cap of 128 levels (MAX_GROUP_DEPTH) returning REG_ESPACE upon overflow. Share a single ParsedAtomStack across recursive frames and fold both concatenation and alternation branches right-to-left so canonical right-associated AST construction remains O(1) per branch without per-frame buffers or orphaned intermediate nodes.  Treat unmatched \u0027)\u0027 at nesting depth 0 as a literal character per POSIX.1-2024\n9.4.3, enforce REG_EPAREN on unclosed parentheses, reject empty alternation branches with REG_BADPAT, and populate preg-\u003ere_nsub with the count of parenthesized subexpressions upon successful compilation.\n\nExternal compliance suites: Henry Spencer suite passes 168/456 (+42) boolean/error cases and 65/456 (+10) full-position cases; AT\u0026T testregex passes 252/400 (+178) ERE boolean/error cases and 254/473 (+178) overall\nboolean/error cases with 0 regressions.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ad46922aac460ed74e4572622131c0021e983fc7\n"
    },
    {
      "commit": "fc2cc74fbb4ad7074487d99fda1f457747a50a71",
      "tree": "ddb90a016364b2e13cce8cfb88d29227f8d82f2e",
      "parents": [
        "679db64998be721a13ee90bb459ea5a8f3dc8954"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Wed Oct 28 06:05:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 06:12:19 2026"
      },
      "message": "[libc][math] Implement double precision cosh correctly rounded to all rounding modes. (#235181)\n\nUse shared `exp(x) +- exp(-x)` evaluations with `sinh` from\nhttps://github.com/llvm/llvm-project/pull/235097.\n\nAssisted-by: Gemini for analysis and refactoring.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 075a6cb1402543bc3a1dd87a8720807d35c1eacc\n"
    },
    {
      "commit": "679db64998be721a13ee90bb459ea5a8f3dc8954",
      "tree": "4165ff37140c84a28281017def20c70f7a729af2",
      "parents": [
        "eff07436d26d11e34543133aca2133c8bc276d31"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Wed Oct 28 06:05:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 06:11:58 2026"
      },
      "message": "[libc][math] Implement double precision sinh correctly rounded for all rounding modes. (#235097)\n\n- Extend even/odd polynomial evalutions of exp(x) +- exp(-x) from single\nprecision to double-double and 128-bit fixed point.\n- Optimize range reduction using the trick from previous exp\nimplementation, combining with the new fp-bitwise operations, and\nreapply it to exp and exp2.\n\nAssisted-by: Gemini for analysis and refactoring.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1866d4cc5634d9edb54d703f191981093b3ca51b\n"
    },
    {
      "commit": "eff07436d26d11e34543133aca2133c8bc276d31",
      "tree": "b9c0504e9e09f6c29cd6a9d92aa17b4d82218462",
      "parents": [
        "fddd158e6024bd167b4067746e9527b9c0584e29"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Wed Oct 28 02:15:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 02:23:17 2026"
      },
      "message": "[libc][math] Fix `sinpif` and `sinpif16` error handling (#235780)\n\nFollow up of https://github.com/llvm/llvm-project/pull/235296, tested\nboth functions with CORE-MATH\u0027s exhaustive checker in all four rounding\nmodes. With `CORE_MATH_SUPPORT_ERRNO` and `CORE_MATH_CHECK_INEXACT`\nenabled.\n\n- Set ERANGE for underflow in sinpif and sinpif16.\n- Raise missing underflow exceptions in sinpif16.\n- Return exact half-integer results in sinpif16 without raising\nFE_INEXACT.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b6a34fc9f1181df2cfb7629bed11ed19ab3e2734\n"
    },
    {
      "commit": "fddd158e6024bd167b4067746e9527b9c0584e29",
      "tree": "7d859c16a5be6505ed86606141409a0a8c351f6d",
      "parents": [
        "9d025d12f727c41870fa9437376fa3730de2342a"
      ],
      "author": {
        "name": "Muhammad Haris Awan",
        "email": "an25mbbs026.student@fui.edu.pk",
        "time": "Tue Oct 27 18:38:34 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 18:42:42 2026"
      },
      "message": "[libc] Make totalorder functions use the emulated float128 type (#221085)\n\nPart of #216576.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: eb228512abebb4937c9683d49f4c75c6623fe181\n"
    },
    {
      "commit": "9d025d12f727c41870fa9437376fa3730de2342a",
      "tree": "165b4ba1b82d85a4d4939caf949ab1c722aab7ec",
      "parents": [
        "96ad9cae4d4b13fab32b3f5fdee0c05a510e395a"
      ],
      "author": {
        "name": "Mohammed Sohail",
        "email": "mohd.sohail.biz@gmail.com",
        "time": "Tue Oct 27 16:55:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 17:02:02 2026"
      },
      "message": "[libc] Make exponent decomposition f128 functions use emulated Float128 (#229855)\n\nfixes https://github.com/llvm/llvm-project/issues/219757\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 28700d67f38721e5a2388f6c4501ce1029232cc3\n"
    },
    {
      "commit": "96ad9cae4d4b13fab32b3f5fdee0c05a510e395a",
      "tree": "76ee0709e0406113eea319451fa188dff6e16421",
      "parents": [
        "59f340f03539d9222eb248bc609456b89a74cec7"
      ],
      "author": {
        "name": "Paul Walker",
        "email": "paul.walker@arm.com",
        "time": "Tue Oct 27 16:48:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 16:52:22 2026"
      },
      "message": "[NFC] Fix misspellings of \"extension\". (#236139)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 39a9f47f5f1d0e76ce8138614657d520f2d1eaa0\n"
    },
    {
      "commit": "59f340f03539d9222eb248bc609456b89a74cec7",
      "tree": "b60016f327f0486dbe92185fc347c9252ef56be8",
      "parents": [
        "80aa29770ed123a2ae93472bd9ab78fe61ff1f1a"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Oct 27 15:43:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 15:49:05 2026"
      },
      "message": "[libc] Move \u003cnet/if.h\u003e code and tests to net/if subdirectories (#236126)\n\nThis aligns the directory structure with other two-level headers like\n\u003carpa/inet.h\u003e and \u003cnetinet/ether.h\u003e (which live in src/arpa/inet and\nsrc/netinet/ether, respectively). It also makes docgen happy, as it\nlooks for function implementations in src/\u003cheader\u003e (src/net/if here).\nPreviously, it would report all net/if functions as unimplemented.\n\nThe test suite is renamed to libc-net-if-tests, to match the directory\nname (similar to libc-arpa-inet-tests).\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a51490d9f9f3ecfba83681c2751524f33385e280\n"
    },
    {
      "commit": "80aa29770ed123a2ae93472bd9ab78fe61ff1f1a",
      "tree": "e5c9eb8e1ba7fa8c7c6d82b88613627a4b9362e4",
      "parents": [
        "e8e7a251741254f07192c80b8437b07e69c36b1c"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Oct 27 15:43:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 15:48:14 2026"
      },
      "message": "Reapply \"[libc] Assert non-nullness in cpp::unique_ptr dereference operators\" (#236083)\n\nReverts llvm/llvm-project#235768, re-applying #235658. Allocator\nmismatches under asan have been fixed by #235777.\n\nThe original commit message was:\n\nAdd LIBC_ASSERTs to operator*, operator-\u003e and (for the array version)\noperator[]. Dereferencing an empty unique_ptr is UB, so we might as well\ncatch it in debug builds.\n\nThe death test is a bit awkward because LIBC_ASSERT fails differently\ndepending on the build mode. In full builds it exits with 0xFF, while in\noverlay builds (or with LIBC_COPT_USE_C_ASSERT) it calls the system\nassert, which raises SIGABRT. I\u0027ve added a small helper macro to the\ntest to handle both cases.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3b9677ba2c09474e308b917b967135f1086f1d5f\n"
    },
    {
      "commit": "e8e7a251741254f07192c80b8437b07e69c36b1c",
      "tree": "1b99be2fb04e7d5e2705e3f33661a8cab74401bb",
      "parents": [
        "7a072c141dfbc93f8787180e1112d94b172112a4"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Tue Oct 27 15:25:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 15:32:54 2026"
      },
      "message": "[libc] Make sign functions use the emulated float80 type  (#235073)\n\nadds following functions\n- `fabsf80`\n- `copysignf80`\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 32ed21c9acac1791ff573344c6992dc5d53db747\n"
    },
    {
      "commit": "7a072c141dfbc93f8787180e1112d94b172112a4",
      "tree": "21d69a85f9d618fa07957242b97df5278397a708",
      "parents": [
        "f8bfed0366745fa545db06a30027b000a04a7821"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Tue Oct 27 12:11:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 12:29:26 2026"
      },
      "message": "[libc] Use a syscall wrapper for `epoll_wait` (#236063)\n\nThis PR move `epoll_wait` behind the centralized syscall wrappers,\nfollowing `libc/docs/dev/syscall_wrapper_refactor.md`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 683603dda2bbb4a65c01bf464bacee515167a801\n"
    },
    {
      "commit": "f8bfed0366745fa545db06a30027b000a04a7821",
      "tree": "a7260fa22eaa53304ca05031484c0d853420d7b8",
      "parents": [
        "3ec12dab66cdc4903c37d4a80c5b5edad30bdcbc"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Oct 27 10:33:32 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 10:39:19 2026"
      },
      "message": "Recommit \"[libc] Remove full header dependencies from proxy header targets\" (#235752)\n\nReverts llvm/llvm-project#234668, reapplying #234150. The intermittent\ngcc build error has been fixed by #234150.\n\nThe original commit message was:\n\nIn full-build mode, the proxy headers in libc/hdr/types/ only include\nthe granular type headers (include/llvm-libc-types/*.h), not the top-\nlevel public headers (which are only included in overlay mode). Having\nFULL_BUILD_DEPENDS point at libc.include was unnecessary and forced full\nheader generation before building internal targets that only needed a\nsingle type.\n\nSimilarly, the function proxy headers in libc/hdr/func/ only include\ninclude/__llvm-libc-common.h in full-build mode, so I\u0027ve replaced their\ndependency on libc.include.stdlib with libc.include.llvm_libc_common_h.\n\nRemoving these uncovered a few missing or broken dependencies that were\npreviously satisfied transitively:\n\n- atexithandler_t depended on the non-existent target\nlibc.include.llvm-libc-types.atexithandler_t instead of\nlibc.include.llvm-libc-types.__atexithandler_t (masked by\nlibc.include.stdlib)\n- hsearch_r.h directly included \u003csearch.h\u003e for struct hsearch_data\n(masked by the ACTION and ENTRY proxy headers), which I\u0027ve replaced with\nthe granular struct_hsearch_data.h header\n- faccessat_test, select_ui_test, and select_failure_test directly\nincluded \u003cfcntl.h\u003e and \u003csys/select.h\u003e without declaring dependencies on\nthem (masked by the mode_t and fd_set proxy headers), which I\u0027ve\nswitched to use the corresponding proxy headers\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b87685fc2ae3d189a8737fd96a27cd26bbda93b0\n"
    },
    {
      "commit": "3ec12dab66cdc4903c37d4a80c5b5edad30bdcbc",
      "tree": "de5cc609c77bb9d1622c149875e5910027f2a9fe",
      "parents": [
        "f91590d2de625aecf189d986326270027aaf9971"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Mon Oct 26 19:50:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 20:00:31 2026"
      },
      "message": "[libc][regex] Add POSIX character classes and shorthands (#234991)\n\nPOSIX ERE character class expressions like [:alpha:] and [:digit:] allow\nportable character classifications inside bracket expressions, while\ncommon escape shorthands (\\d, \\D, \\s, \\S, \\w, \\W) provide concise\nalternatives for character classes. In POSIX regular expressions,\ncharacter classes inside brackets must correctly reject unknown class\nnames with REG_ECTYPE, reject range endpoints involving classes with\nREG_ERANGE, and integrate with negated bracket sets and REG_NEWLINE.\n\nAdd regex_charclass.h containing lookup_posix_class to map all 12 POSIX\nclasses (alnum, alpha, blank, cntrl, digit, graph, lower, print, punct,\nspace, upper, xdigit) to constexpr 256-bit bitsets in the POSIX/C\nlocale. Support operator|\u003d in bitset.h for bitset composition. In\nparse_bracket_expr, recognize [:name:] sequences, enforce REG_ECTYPE on\ninvalid names, reject class endpoints with REG_ERANGE, and reserve word\nboundary anchors [[:\u003c:]] and [[:\u003e:]] with REG_BADPAT until word anchor\nsupport lands. Support shorthands \\d, \\D, \\s, \\S, \\w, and \\W in\nparse_quantified_atom, clearing newlines on negated shorthands when\nREG_NEWLINE is set.\n\nExternal compliance suites: Henry Spencer suite passes 126/456 (+10)\nboolean/error cases and 55/456 (+9) full-position cases; AT\u0026T testregex\npasses 74/400 (+3) ERE boolean/error cases and 76/473 (+5) overall\nboolean/error cases with 0 regressions.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9cfb4172ad103eb91b9d5d8abc6ef450cf01aa3b\n"
    },
    {
      "commit": "f91590d2de625aecf189d986326270027aaf9971",
      "tree": "7444a20eebefe79e39ead5bf6acba7b9baf2c18b",
      "parents": [
        "f3f13748edadd04f215491560f67a24dd3785316"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Mon Oct 26 14:38:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 14:45:44 2026"
      },
      "message": "[libc] Use cpp::function in death test executors and FPExceptMatcher (#235777)\n\nInstead of the hand-rolled FunctionCaller classes, which had to be\nheap-allocated and then manually deleted (on every exit path in the case\nof invoke_in_subprocess), pass the callable as a cpp::function. This\nlets us remove the createCallable/getFunctionCaller helpers and all the\n`delete func` statements.\n\ncpp::function does not own the callable, but that\u0027s fine here as the\ncallable (a temporary created by the test macro) outlives the call.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a4b7bcc9882f3964a7598eae0ddc7a3b117fea57\n"
    },
    {
      "commit": "f3f13748edadd04f215491560f67a24dd3785316",
      "tree": "bdaf8064a73c50220f6e41f396c5a9164520b375",
      "parents": [
        "567c143bea85f11d15702a120561a8e51f46f02c"
      ],
      "author": {
        "name": "Aman Maurya",
        "email": "amanmaurya9209@gmail.com",
        "time": "Mon Oct 26 13:52:07 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 13:58:31 2026"
      },
      "message": "[libc] Implement getresuid and getresgid in unistd (#235274)\n\nImplement the standard Linux extension functions `getresuid` and\n`getresgid` in `\u003cunistd.h\u003e`.\n\nFixes #235268.\n\nAssisted by Antigravity and reviewed by Aman Maurya.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 867097d2546adcf9ccfc78d21c54bf100c1d7887\n"
    },
    {
      "commit": "567c143bea85f11d15702a120561a8e51f46f02c",
      "tree": "c71c3dbe982a3d420251baae1d13ebf581c9b835",
      "parents": [
        "6ea4350272f3c542e6ff34c0fa8093140d5c7ab2"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Mon Oct 26 13:32:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 13:39:18 2026"
      },
      "message": "Revert \"[libc] Assert non-nullness in cpp::unique_ptr dereference operators\" (#235768)\n\nReverts llvm/llvm-project#235658: breaks under ASAN.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8ac612dcb3841653c9221f5f3f9fe20c2de450ed\n"
    },
    {
      "commit": "6ea4350272f3c542e6ff34c0fa8093140d5c7ab2",
      "tree": "ccd84d8be5d820aa690bcb37bd9d868929c03805",
      "parents": [
        "df20310bd15488104510e4fd28f330466079729e"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Mon Oct 26 13:16:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 13:23:04 2026"
      },
      "message": "[libc][math] Fix `tanpif` and `tanpif16` error handling (#235296)\n\nRelates to\nhttps://github.com/llvm/llvm-project/pull/147192#issuecomment-5726874002.\n\n- Set ERANGE when tanpif and tanpif16 underflow.\n- Set ERANGE instead of EDOM at half-integer poles.\n- Raise underflow and inexact exceptions explicitly in tanpif16.\n- Return exact results for odd multiples of one quarter without raising\ninexact.\n\nTested both functions with CORE-MATH\u0027s exhaustive checker in all four\nrounding modes. With `CORE_MATH_SUPPORT_ERRNO` and\n`CORE_MATH_CHECK_INEXACT` enabled.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9fde1dd2d709c0a4226a5192c4396f20d0989a78\n"
    },
    {
      "commit": "df20310bd15488104510e4fd28f330466079729e",
      "tree": "9056d13afda3c86ee31ffe78bf84464d167c5510",
      "parents": [
        "3da86bd5f0b8c11b6901463d69502414e141067d"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Mon Oct 26 12:51:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 12:57:41 2026"
      },
      "message": "[libc] Use a syscall wrapper for `epoll_pwait2` (#235701)\n\nThis PR move `epoll_pwait2` behind the centralized syscall wrappers,\nfollowing `libc/docs/dev/syscall_wrapper_refactor.md`.\n\nAnd slightly make the cmake and bazel target more sorted.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 015748372360f92ddb85c7e76be2b64c12189950\n"
    },
    {
      "commit": "3da86bd5f0b8c11b6901463d69502414e141067d",
      "tree": "7195d643a65a13b288ceac31166b7c7544a73738",
      "parents": [
        "476d9112b884d002e075de84077670a373f33e2a"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Mon Oct 26 11:00:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 11:09:43 2026"
      },
      "message": "[libc] Use a syscall wrapper for `epoll_create1` (#234907)\n\nThis PR move `epoll_create1` behind the centralized syscall wrappers,\nfollowing `libc/docs/dev/syscall_wrapper_refactor.md`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c70802edb39662f6d890e841b36c71dd796c4fab\n"
    },
    {
      "commit": "476d9112b884d002e075de84077670a373f33e2a",
      "tree": "afe79ec99850f04e93e7f8025ab87535ede32e1b",
      "parents": [
        "bda420260ed86c5309b59f552c5c616521a50511"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Mon Oct 26 09:52:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 09:57:11 2026"
      },
      "message": "[libc] Assert non-nullness in cpp::unique_ptr dereference operators (#235658)\n\nAdd LIBC_ASSERTs to operator*, operator-\u003e and (for the array version)\noperator[]. Dereferencing an empty unique_ptr is UB, so we might as well\ncatch it in debug builds.\n\nThe death test is a bit awkward because LIBC_ASSERT fails differently\ndepending on the build mode. In full builds it exits with 0xFF, while in\noverlay builds (or with LIBC_COPT_USE_C_ASSERT) it calls the system\nassert, which raises SIGABRT. I\u0027ve added a small helper macro to the\ntest to handle both cases.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3cc611bd820a424170a5cbb9b4f0d0cbacd43192\n"
    },
    {
      "commit": "bda420260ed86c5309b59f552c5c616521a50511",
      "tree": "2ea303df3b33b32016383974a28fbfecabbfabaa",
      "parents": [
        "631cc29c6dde5bafcf4b22674af6ecad67147977"
      ],
      "author": {
        "name": "Aman Maurya",
        "email": "amanmaurya9209@gmail.com",
        "time": "Mon Oct 26 08:59:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 09:06:28 2026"
      },
      "message": "[libc] Implement thrd_sleep and thrd_yield in threads (#232919)\n\nImplement the standard C11/C23 thread functions `thrd_sleep` and\n`thrd_yield` in `\u003cthreads.h\u003e`.\n\nFixes #232378.\n\nAssisted by Antigravity and reviewed by Aman Maurya.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bfe364d01eb44ac4eb896583dc009bbbdb69945d\n"
    },
    {
      "commit": "631cc29c6dde5bafcf4b22674af6ecad67147977",
      "tree": "cbb34144ab5ff9ab38774894c0c7b1c667b64722",
      "parents": [
        "50877e3284041b2d2d2cbcbd705ae930a455fb56"
      ],
      "author": {
        "name": "Popie",
        "email": "86546258+Popie52@users.noreply.github.com",
        "time": "Sat Oct 24 20:18:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 24 20:23:58 2026"
      },
      "message": "[libc] Modify NaN/payload functions for emulated float128 type (#221946)\n\nUpdated `nanf128`, `getpayloadf128`, `setpayloadf128`, and\n`setpayloadsigf128` for emulated `float128`, including shared headers,\nentrypoints, CMake/Bazel dependencies, wrappers, and tests.\n\ncloses #221574\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e312addd710b80a4dd14389b71c649594fccedd0\n"
    },
    {
      "commit": "50877e3284041b2d2d2cbcbd705ae930a455fb56",
      "tree": "efb7f0be6a5a8a79065e909e7fa9803e2378ca86",
      "parents": [
        "e3dd88ae903a4ea0fce258a52710a5a477438b42"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Fri Oct 23 19:58:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 20:05:08 2026"
      },
      "message": "[libc] Suppress GCC\u0027s \u003cmm_malloc.h\u003e in freestanding builds (#234863)\n\nUnlike Clang, GCC\u0027s \u003cxmmintrin.h\u003e (included via \u003cimmintrin.h\u003e)\nunconditionally includes \u003cmm_malloc.h\u003e even with -ffreestanding, which\nin turn includes \u003cstdlib.h\u003e.\n\nIn full-build mode, targets that use x86 intrinsics (such as op_x86.h)\ndon\u0027t declare a dependency on libc.include.stdlib (and they don\u0027t really\nneed it). If these targets are built before our stdlib.h header is\ngenerated, this will end up including the system stdlib.h -- and fail\nmiserably because of mixing of standard libraries. This can happen\nalready, but the problem gets more acute if we remove (#234150)\ntransitive full-header dependencies from the proxy headers (as it lets\nus build these targets much sooner).\n\nSince we don\u0027t use _mm_malloc or _mm_free, I\u0027m suppressing \u003cmm_malloc.h\u003e\nby defining its include guard (_MM_MALLOC_H_INCLUDED) on x86/x86_64 GCC\nfull builds.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ffea91bfcff6ba858661698311c66dd8618527ce\n"
    },
    {
      "commit": "e3dd88ae903a4ea0fce258a52710a5a477438b42",
      "tree": "e61ea3745b0b810d71ee7f492b1ba7c7200d96cb",
      "parents": [
        "c73f6556f38c9ed3be7735c8b056c548c1ef2388"
      ],
      "author": {
        "name": "DylanFleming-arm",
        "email": "85629460+DylanFleming-arm@users.noreply.github.com",
        "time": "Fri Oct 23 19:05:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 19:15:43 2026"
      },
      "message": "[libc][mathvec] Add macro for vector PCS (#235009)\n\nAdds LIBC_VECTOR_PCS as a macro to mathvec, which allows target specific\nvector procedure call standards to be added as function attributes, such\nas aarch64_vector_pcs for AdvSIMD.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7baaab1014df6741ebaad32952e26ce5d82f85e3\n"
    },
    {
      "commit": "c73f6556f38c9ed3be7735c8b056c548c1ef2388",
      "tree": "ee922da4e6eaeaa84a1681add3ab19c0aae9e89c",
      "parents": [
        "89179d40ec545c8025565e0f9bc0cbced9f19bde"
      ],
      "author": {
        "name": "Prabhu Rajasekaran",
        "email": "prabhukr@google.com",
        "time": "Fri Oct 23 18:43:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 18:56:06 2026"
      },
      "message": "[libc][uefi][NFC] Update file headers to the current format (#235032)\n\nReplace the legacy titled separator comments across the UEFI sources and\ntype headers with the Doxygen file header block. This brings the UEFI\nfiles in line with the current LLVM coding standards.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 11445be4b2e9573474a27335c7bcb8aa66e28323\n"
    },
    {
      "commit": "89179d40ec545c8025565e0f9bc0cbced9f19bde",
      "tree": "1eb9d6d03f2dc169b8d04dcd3dda9f6e13e5cf41",
      "parents": [
        "d5a492451602f0d9219a22fff20b7d9028cb404d"
      ],
      "author": {
        "name": "Prabhu Rajasekaran",
        "email": "prabhukr@google.com",
        "time": "Fri Oct 23 17:21:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 18:55:06 2026"
      },
      "message": "[libc][uefi] Fix the UEFI exit implementation (#234501)\n\nThe UEFI implementation of `internal::exit()` included a non-existent\n`config/uefi.h` header and referenced a global that only the startup\nobject defined, so the `uefi_util` object library never compiled once\nanything pulled it in.\n\nUse the `AppProperties` captured by `crt1` instead, and hand the exit\nstatus\nto the firmware as a proper `EFI_STATUS`: zero is `EFI_SUCCESS` and any\nother\nvalue is reported as `EFI_ABORTED` rather than being misinterpreted as\nan\nunrelated EFI status or warning code. Drop the unused duplicate globals\nfrom `crt1` accordingly.\n\nAssisted-by: Claude\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1cc8435442c4d7c654cbfdeec52689a80dfabef2\n"
    },
    {
      "commit": "d5a492451602f0d9219a22fff20b7d9028cb404d",
      "tree": "3eff611c7ce789335bba19d4a0dfaba2cc083bf3",
      "parents": [
        "c40dc3c809cbfd23b3611e3d9fe6faf9601b90a2"
      ],
      "author": {
        "name": "Chen Miao",
        "email": "chenmiao.ku@gmail.com",
        "time": "Fri Oct 23 16:17:23 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 16:22:57 2026"
      },
      "message": "[libc][stdbit] Support compound literals in type-generic macros (#228721)\n\nCalls such as the following fail because the preprocessor treats the\ncomma in the initializer as a macro argument separator:\n\n``` c\nstruct PairUI { unsigned int first, second; };\nstdc_count_ones((struct PairUI){ 2U, 3U }.first);\n```\n\nUse variadic macros so `__VA_ARGS__` preserves all argument tokens,\nincluding the separating commas, reconstructing the original expression.\n\nFixes #81503.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ad2f9ea37af6213588a4289ab12fc2dfba8c5564\n"
    },
    {
      "commit": "c40dc3c809cbfd23b3611e3d9fe6faf9601b90a2",
      "tree": "28270e0adb9b3d1139e63a0018fa47247b470642",
      "parents": [
        "d881fff5f1f41b0196496f4a2c1a0ff79d2bedb8"
      ],
      "author": {
        "name": "hulxv",
        "email": "hulxxv@gmail.com",
        "time": "Fri Oct 23 15:26:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 15:34:35 2026"
      },
      "message": "[compiler-rt][builtins] libc-backed float16 extend/truncate builtins (#211882)\n\nadd libc-backed bfloat16 extend/truncate builtins\n\ndepends on:\n   - #209984\n\nPart of #197824\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 421ef1fb76e9d66c2c781ebf045202bcb5489411\n"
    },
    {
      "commit": "d881fff5f1f41b0196496f4a2c1a0ff79d2bedb8",
      "tree": "a1799075031ec0bef3f6b68b7e0840bd3d60193f",
      "parents": [
        "e025a044f470684e7cafdedb0164fccce38b9c90"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Fri Oct 23 14:56:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 15:01:46 2026"
      },
      "message": "[libc][cmake] Fold add_integration_test into add_libc_test and clean up test options. (#234712)\n\n- Add `INTEGRATION_TEST` to `LLVM_LIBC_OPTIONAL_ARGS` in\n`LibcParseArguments.cmake`.\n- Fold `add_integration_test` into `add_libc_test` / `create_libc_test`,\nkeeping `add_integration_test` as a thin convenience wrapper forwarding\n`INTEGRATION_TEST` and `FULL_BUILD_ONLY`.\n- Consolidate `_get_hermetic_test_compile_options_impl` and\n`_get_hermetic_test_compile_options` into\n`_get_common_test_compile_options_impl` and\n`_get_common_test_compile_options`, precomputing mode-aware defaults\nonce at module load time.\n- Precompute `LIBC_COMMON_TEST_LINK_OPTIONS` once via\n`_get_common_test_link_options_impl` and cleanly separate compile\noptions from link options across `create_libc_test` and\n`_link_libc_hermetic_test`, removing `_link_libc_overlay_test`.\n- Explicitly pass `LINK_OPTIONS -mno-wavefrontsize64` and `LINK_OPTIONS\n-mwavefrontsize64` alongside `COMPILE_OPTIONS` in\n`libc/test/integration/startup/gpu/CMakeLists.txt`.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a7b347ec208ad35ca83ad1dd314bea9d0c6c844a\n"
    },
    {
      "commit": "e025a044f470684e7cafdedb0164fccce38b9c90",
      "tree": "8f208800e3188b10518c826244ef626b84f3cce8",
      "parents": [
        "f7dcd6d2eebd2b6dded3de41a3fa12cf902f2a42"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Fri Oct 23 14:36:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 14:42:37 2026"
      },
      "message": "[libc][math][c23] Fix signed zeros in `tanpif` and `tanpif16` (#230371)\n\nFixes\nhttps://github.com/llvm/llvm-project/pull/147192#issuecomment-5727303853.\n\n- Use shared integer and parity checks to return the correct zero sign\nfor integer inputs.\n- Add regression tests and update CMake and Bazel dependencies.\n\nref: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1946.pdf\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 48f56e847fca82700dd4283de183ff0584acecca\n"
    },
    {
      "commit": "f7dcd6d2eebd2b6dded3de41a3fa12cf902f2a42",
      "tree": "a23c9ac7540b6b5fba81e07f2d17a9c9cf917c43",
      "parents": [
        "c77c15143fd2c23194a14dc10a7747e2d91e2000"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Fri Oct 23 14:29:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 14:39:35 2026"
      },
      "message": "[libc][regex] Add bracket expressions and character ranges (#234895)\n\nImplement POSIX bracket expressions in parse_ere, compiling character\nlists, character ranges, and negated sets into canonical ByteSet nodes.\nIn POSIX regular expressions, bracket expressions support literal right\nbrackets when placed first, literal hyphens when placed at the start or\nend of a list, and character range endpoints. Negated bracket\nexpressions must exclude the NUL byte and exclude newlines when\nREG_NEWLINE is specified.\n\nAdd parse_bracket_expr and parse_coll_elem to parse single bytes,\nranges, and collating elements into a 256-bit bitset. This\nimplementation intentionally covers 8-bit byte values and US-ASCII\nranges, with multi-byte UTF-8 range compilation scheduled for a\nsubsequent patch. Enforce POSIX error reporting for unclosed brackets\n(REG_EBRACK), reversed or chained ranges (REG_ERANGE), and unknown\nmulti-character collating symbols outside the POSIX locale\n(REG_ECOLLATE). Guard POSIX character class prefixes with REG_BADPAT\nuntil subsequent class support lands.\n\nExternal compliance suites: Henry Spencer suite passes 116/456 (+45)\nboolean/error cases and 46/456 (+17) full-position cases; AT\u0026T testregex\npasses 71/395 (+17) ERE boolean/error cases and 71/465 (+17) overall\nboolean/error cases with 0 regressions.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5232f9903b53a45a399a27c1692224290f62c2b3\n"
    },
    {
      "commit": "c77c15143fd2c23194a14dc10a7747e2d91e2000",
      "tree": "9bed90bd61eb50f5651958e300713181d4b8d620",
      "parents": [
        "99ace0e4ec15cb0f09523bc67da4ec502cbbc3b3"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Fri Oct 23 14:24:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 14:27:17 2026"
      },
      "message": "[libc] Trap on invalid expected and optional value() (#232812)\n\nStandard std::expected::value and std::optional::value throw an\nexception when no value is present, distinguishing them from unchecked\noperator* access. Because LLVM-libc compiles with -fno-exceptions,\ncpp::expected::value and cpp::optional::value previously behaved\nidentically to operator* and silently read the inactive union member on\nerror or empty states.\n\nGuard value() in both cpp::expected and cpp::optional with a !NDEBUG\ncheck that calls __builtin_trap() when a value is not present. Using\n__builtin_trap() directly avoids a circular header dependency between\nexpected.h, libc_assert.h, and the Linux syscall ErrorOr wrappers while\npreserving constexpr evaluation.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: caf5d0049bdf199ac50118d063c6e84bc9477f7a\n"
    },
    {
      "commit": "99ace0e4ec15cb0f09523bc67da4ec502cbbc3b3",
      "tree": "18609502a12fec3ad75071a2e4a2f4608ce7154e",
      "parents": [
        "cd069ab9a10cb7ad8439b6f32a7f9fc5b54f92a4"
      ],
      "author": {
        "name": "Aman Maurya",
        "email": "amanmaurya9209@gmail.com",
        "time": "Fri Oct 23 10:24:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 10:42:26 2026"
      },
      "message": "[libc] Implement timer_getoverrun in time (#234839)\n\n### Summary\nImplement the standard POSIX function `timer_getoverrun` in `\u003ctime.h\u003e`.\n\n- Adds internal Linux syscall wrapper in\n`libc/src/__support/OSUtil/linux/syscall_wrappers/timer_getoverrun.h`.\n- Implements `timer_getoverrun` entrypoint in\n`libc/src/time/linux/timer_getoverrun.cpp`.\n- Declares `timer_getoverrun` in `libc/include/time.yaml`.\n- Registers entrypoints for Linux (`x86_64`, `aarch64`, `riscv`).\n- Adds unit test in `libc/test/src/time/timer_test.cpp`.\n\nImplementing `timer_getoverrun` finishes the POSIX timer API in LLVM\nlibc.\n\nFixes #234067.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 48c35e1861f64ff4e42197aa21380b635193e21e\n"
    },
    {
      "commit": "cd069ab9a10cb7ad8439b6f32a7f9fc5b54f92a4",
      "tree": "b0103307f1822f69ee108df248b1b29726682caf",
      "parents": [
        "465c923d26adc1017518ae372823ce45a528935b"
      ],
      "author": {
        "name": "Aman Maurya",
        "email": "amanmaurya9209@gmail.com",
        "time": "Fri Oct 23 09:25:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 10:41:52 2026"
      },
      "message": "[libc] Implement setresuid and setresgid in unistd (#234837)\n\n### Summary\nImplement the standard POSIX / Linux extension functions `setresuid` and\n`setresgid` in `\u003cunistd.h\u003e`.\n\n- Invokes existing internal `setresuid` and `setresgid` Linux syscall\nwrappers.\n- Adds entrypoints under `LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS`\nacross Linux target architectures (`aarch64`, `arm`, `riscv`, `x86_64`),\nmatching the design pattern established for credential-changing\n(`setxid`) entrypoints.\n- Adds `// TODO: Implement setxid propagation across threads.` comments.\n- Adds unit tests in `libc/test/src/unistd/` covering noop (`-1`),\nsetting current real/effective IDs, and unprivileged invalid ID\nbehavior.\n\nFixes #234694.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bf0660387fd17e3765d10c3820e68be8554cd7f5\n"
    },
    {
      "commit": "465c923d26adc1017518ae372823ce45a528935b",
      "tree": "1eeddbe8e51649c01b73f846f257ab7109234d99",
      "parents": [
        "358557978a126a3bcd6448a1a5154aa726df4865"
      ],
      "author": {
        "name": "Aman Maurya",
        "email": "amanmaurya9209@gmail.com",
        "time": "Fri Oct 23 09:24:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 09:32:33 2026"
      },
      "message": "[libc] Implement sigismember in signal (#234838)\n\n### Summary\nImplement the standard POSIX function `sigismember` in `\u003csignal.h\u003e`.\n\n- Adds internal helper `signals::is_member` returning `ErrorOr\u003cint\u003e` in\n`libc/src/__support/OSUtil/linux/sigmask.h`.\n- Implements the `sigismember` public entrypoint in\n`libc/src/signal/linux/sigismember.cpp`.\n- Declares `sigismember` in `libc/include/signal.yaml` and\n`libc/utils/docgen/signal.yaml`.\n- Registers entrypoints for Linux (`x86_64`, `aarch64`, `riscv`).\n- Adds unit tests in `libc/test/src/signal/sigismember_test.cpp`.\n- Resolves existing TODO in `libc/test/src/ucontext/ucontext_test.cpp`\nby using `sigismember`.\n\nFixes #234066.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c70dfc1711bddd0aa7e3acff4224bc2a363092b9\n"
    },
    {
      "commit": "358557978a126a3bcd6448a1a5154aa726df4865",
      "tree": "27455a45349c1e1ec2a211c512dce4a7a20c49a6",
      "parents": [
        "9231ccb2cbb0a10ebe07f15878f7dba382c3cf6c"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Fri Oct 23 06:19:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 06:35:12 2026"
      },
      "message": "[libc][regex] Add Kleene star and canonical AST normalisation (#233980)\n\nAdd ExprKind::Star, ExprPool::make_star, and the Kleene star Brzozowski\nderivative rule D_c(R*) \u003d D_c(R) . R* to the internal regular expression\nengine. To guarantee that derivative state spaces stabilise into a\nfinite set of canonical AST nodes during Kleene star evaluation, enforce\nright-associative canonical form in ExprPool::make_concat and\nright-associated, ascending-ExprId, deduplicated canonical form in\nExprPool::make_alt.\n\nUpdate parse_ere to fold concatenated atoms right-to-left in fixed\n64-atom stack chunks so that right-associative concatenation stays O(1)\nper step without creating orphaned intermediate prefix nodes. Wire\ntrailing \u0027*\u0027 quantifiers on repeatable atoms and return REG_BADRPT for\nunpreceded, post-anchor, or doubled repetition operators.\n\nExternal compliance suites: Henry Spencer suite passes 71/456 (+19)\nboolean/error cases and 29/456 (+13) full-position cases; AT\u0026T testregex\npasses 54/395 (+14) ERE boolean/error cases and 54/465 (+14) overall\nboolean/error cases with 0 regressions.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7550009a0c545bd052ca51ee0bb38b500dd05b24\n"
    },
    {
      "commit": "9231ccb2cbb0a10ebe07f15878f7dba382c3cf6c",
      "tree": "9190bc691e6e9b99d4051c3de6bf8d5978b6a79c",
      "parents": [
        "857fa9ddae691b6761c6dba264d0b03eec80d7cc"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Fri Oct 23 05:04:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 05:11:38 2026"
      },
      "message": "[libc][NFC] Split out `is_{, odd_}integer` utility (#234288)\n\nRelates to\nhttps://github.com/llvm/llvm-project/pull/230371/changes#r4327614701.\n\nCommon FP utility like `is_integer` and `is_odd_integer` could be split\nout to reduce duplicate code.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9e03b92211082b3b45f9c147bf12a380ee3cf13e\n"
    },
    {
      "commit": "857fa9ddae691b6761c6dba264d0b03eec80d7cc",
      "tree": "9412024cf7098c68503316bd6ef78a3d14f0dd15",
      "parents": [
        "ab6b4428cbbf4b7e284620a0fc8d371b20d6b784"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Thu Oct 22 21:58:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 22:03:02 2026"
      },
      "message": "[libc][doc] Add 2026 talks, blog posts and publications. (#234767)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 00ad0d281f39165781c7ed658ac592768212f01e\n"
    },
    {
      "commit": "ab6b4428cbbf4b7e284620a0fc8d371b20d6b784",
      "tree": "e7e319378f290cc25cb97e5b6bf1e11001127a0a",
      "parents": [
        "09cf43561948832edb38c5998fbeb7c313cdb660"
      ],
      "author": {
        "name": "sriramshastry",
        "email": "52648132+sriramshastry@users.noreply.github.com",
        "time": "Thu Oct 22 21:10:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 21:17:02 2026"
      },
      "message": "[libc][math] Short-circuit certain powf range errors (#223719)\n\n## Summary\n\nReplace the earlier monolithic powf optimization with a narrowly scoped\nsubnormal-base shortcut on top of the redesigned implementation from\n#226588. The existing shared exceptional handler already covers extreme\nexponents, so the old large-exponent shortcut is not retained.\n\nFor a nonzero subnormal base, its normalization shift proves\n`abs(x) \u003c 2^(-125-shift)`. For positive y, `y*(125+shift) \u003e\u003d 150` proves\nthe magnitude of the result is strictly below `2^-150`. Return through\nthe existing signed underflow helper, after special-input/domain/parity\nhandling. Use an exact double product where hardware double is available\nand an exact unsigned integer comparison otherwise.\n\nAdd smoke coverage for both evaluators and the default entry point,\nincluding directed rounding, negative odd-integer results, the\nhalf-minimum-\nsubnormal boundary, and threshold neighbors. No approximation\ncoefficients\nor accurate-pass logic are changed.\n\n## Base and Correctness\n\nThe replacement local commit is based on main at\n`02d06a29282cf23d3e566de1cff185fb5945a3f1`. The PR source diff is only\ntwo\nfiles and 53 additions.\n\nFresh checks against matching current-main sources:\n\n- Smoke tests: 18/18 passed.\n- Five local configurations: 8,144,640 records, zero mismatches.\n- AArch64 and POWER9-targeted double/float binaries under QEMU:\n  6,515,712 additional records, zero mismatches.\n- Total sampled comparisons: 14,660,352 records across nine\nconfigurations.\n- Comparisons check result bits, errno, and exception flags in all four\n  rounding modes, including pre-existing errno/exception state.\n- Thirty baseline/candidate cross compilations passed: AArch64 generic,\n  Cortex-A55, Neoverse-N1, Zen 3, POWER8/9/10, and float-only RISC-V.\n- An earlier exhaustive predicate comparison checked 192,937,984\n  significand/bound combinations with zero mismatches. The predicate is\n  unchanged; this is not exhaustive powf accuracy testing.\n\nResults were compared against upstream, not an MPFR oracle. Cross-target\nchecks cover compilation and QEMU correctness; PowerPC uses system fenv.\nThe performance results below are from x86-64 runs.\n\n## Performance and Review Status\n\nA standalone six-workload benchmark ran both versions on CPU 0 with the\nsame inputs and build flags, alternating baseline and patched runs for\n21 pairs per workload. The table reports median paired savings: positive\nmeans faster; negative means slower.\n\nTest setup: Intel Core Ultra 9 275HX, WSL. Frequency policy was left\nunchanged.\n\nFresh paired savings against the matching main baseline:\n\n| Workload | Generic Double | Native Double | Native Float |\n| --- | ---: | ---: | ---: |\n| Ordinary | +0.81% | -0.30% | -0.23% |\n| Normal-base underflow | -0.87% | +0.05% | +0.57% |\n| Subnormal-base underflow | +80.07% | +55.41% | +25.38% |\n| Subnormal shortcut miss | -1.67% | -1.16% | -1.10% |\n| Huge exponent | -0.24% | -0.02% | -1.13% |\n| Near one | -3.12% | +0.26% | +0.15% |\n\nReversing the generic link-object order gave -10.84% for ordinary inputs\nand -12.25% near one, while subnormal savings stayed at +79.99%.\nNormal-input\ntimings are sensitive to layout, and these slowdowns still need review.\n\nFocused attempts to address normal-input regressions were rejected:\noutlining improved some normal-input runs but slowed the existing fast\nsubnormal path by approximately 6.5-7%; inlining/alignment changes were\nunstable across link orders. None of those experiments is in this diff.\n\nThe subnormal workload improves substantially, but the normal-input\nregressions remain unresolved. The change is posted for review, not as a\nclaim of consistent gains across workloads or targets.\n\n## Historical Measurements\n\nThe initial PR reported these median savings before the upstream\nredesign:\n\n- Denormal range: 3.53 ns (2.01%).\n- Normal range: 53.13 ns (78.64%).\n- Close-exponent range: 2.95 ns (15.89%).\n\nThose used different PerfTest ranges, an earlier implementation, and\nthree\npaired runs. They are historical results, not current measurements and\nnot directly comparable to the new workloads.\n\nSigned-off-by: sriramshastry \u003csriramshastry@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8715d0af5f3467948028f4af14c21a70e9f6c952\n"
    },
    {
      "commit": "09cf43561948832edb38c5998fbeb7c313cdb660",
      "tree": "b9b19ddc77773a43316827c8b909bfa3bfebb2ce",
      "parents": [
        "3d4bc5deec122e23a2d6cee5b23d6a3f3855ec2b"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Thu Oct 22 19:42:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 19:47:50 2026"
      },
      "message": "[libc][math] Optimize exp and share double-precision evaluation with exp2. (#233018)\n\n- Refactor double-precision exp to share most of the computations with\nexp2\n- Add support for `LIBC_MATH_HAS_SMALL_TABLES` and\n`LIBC_MATH_HAS_SKIP_ACCURATE_PASS`.\n\nAssisted by: Gemini is used for performance and code size analysis and\nrefactoring.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bb31003cf3b64adfa6b6673cbb8b8d0680b9a40b\n"
    },
    {
      "commit": "3d4bc5deec122e23a2d6cee5b23d6a3f3855ec2b",
      "tree": "31201c648f4498cd11955fad52a08ea7a8ce1713",
      "parents": [
        "5c2d2190fc337ff516bbe0a63794ca96c175aec2"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Thu Oct 22 19:42:21 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 19:47:05 2026"
      },
      "message": "[libc] Fix various MSVC compatibility issues. (#233984)\n\n- Some compatibility macros for attributes.\n- Use intrinsics for some inline asm and builtins not available in MSVC.\n- Update some macro detections.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1ca73f7a54e45410adcd31737f44884c0c118b1a\n"
    },
    {
      "commit": "5c2d2190fc337ff516bbe0a63794ca96c175aec2",
      "tree": "7c122182bac7c1d0ba65779e1ddb4247ef932726",
      "parents": [
        "28c29411d4c0b8bee467b372e70c3e4f40873e75"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Thu Oct 22 19:17:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 19:24:20 2026"
      },
      "message": "[libc] Add braces around empty body in pipe2 wrapper (#234723)\n\nGCC warns with -Wempty-body when LIBC_MSAN_UNPOISON expands to an empty\nbody inside an unbraced if statement. Enclose the macro invocation in\nbraces to resolve the buildbot compilation failure.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f2726d0fae1f2b6090c5a1f5a89c1fa1b9cb5af2\n"
    },
    {
      "commit": "28c29411d4c0b8bee467b372e70c3e4f40873e75",
      "tree": "9dc168f42f56aa7175cd863c35aa761f7ea3e781",
      "parents": [
        "0f591f7fe9c52d9cfd5cab4797c5b2c8017e186e"
      ],
      "author": {
        "name": "Reid Kleckner",
        "email": "rkleckner@nvidia.com",
        "time": "Thu Oct 22 17:17:20 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 17:23:07 2026"
      },
      "message": "[libc][docs] Finish MyST migration for selected libc docs (#233690)\n\nThis migrates the remaining llvm-libc doc files to markdown.\n\nThe main concern I have is that there are still 6 eval-rst blocks\nwrapping grid-tables, and native markdown tables have no way to\nrepresent the colspan and rowspan cells in those files. In the end, I\ndecided to send this off as is, since it should have no visible\ndifference, and we can eliminate eval-rst later.\n\nMigration notes from the agent:\n\n- Restored underscore anchor labels such as `libc_gpu_rpc` because\nrst2myst turned them into hyphenated names that other pages still\nreference.\n- Replaced Markdown links to Sphinx labels with `{ref}` roles because\nplain links did not resolve to the labelled pages.\n- Converted the flat grid tables in `headers/math/index.md` and\n`headers/complex.md` to pipe tables using the `{{ check }}` substitution\nbecause `|check|` is not defined inside `{eval-rst}` blocks.\n- Kept the grid tables with row or column spans in\n`headers/math/index.md`, `headers/math/log.md`, and `headers/stdfix.md`\ninside narrowly scoped `{eval-rst}` blocks because pipe tables and\nlist-tables cannot express spans. Replaced `|check|` in the `stdfix.md`\ntables with the check mark character, which matches the rendered\nsubstitution.\n- Restored the 57 `.. math::` blocks in `headers/math/log.md` as\n`{math}` fences and turned default-role math into `{math}` roles because\nrst2myst collapsed the multi-line equations and `$$` is not enabled.\n- Kept the unused `.. role:: green` and `\u003cstyle\u003e` block in\n`headers/math/index.md` because they were present in the source and\nremoving them is outside the scope of a markup migration.\n- Changed \"step a and step c\" to \"items 1 and 3\" in\n`headers/math/log.md` because Markdown has no alphabetic list markers,\nso the lettered steps became numbered.\n- Accepted single-backtick default-role text rendering as inline code\ninstead of italics in `headers/stdfix.md`, and empty table body cells\nrendering with slightly more height in `uefi/support.md`, because those\nare standard MyST rendering differences (visual diff 0.39% and 0.76%).\n- Accepted nested list items in the \"Edge cases\" list of\n`headers/math/log.md` now rendering inside their list items because the\noriginal reST indentation left them outside, contrary to the evident\nintent (visual diff 0.85%).\n\nTracking issue: #201242\nSee the [migration guide] for more information.\n\n[migration guide]:\nhttps://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines\n\nThis is a stacked PR based on #233687, which is a standalone commit that\nrenames *.rst -\u003e *.md before this PR lands for history preservation\npurposes.\n\nThis was prepared with rst2myst plus LLM-assisted cleanup.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bc0cbb451f3547634045c444e064727090cf69fa\n"
    },
    {
      "commit": "0f591f7fe9c52d9cfd5cab4797c5b2c8017e186e",
      "tree": "4af6144818c0dbd7af604e5440ae71d86acc9a31",
      "parents": [
        "5aae7ed143241d46ae1c2476d12675b173d10504"
      ],
      "author": {
        "name": "Reid Kleckner",
        "email": "rkleckner@nvidia.com",
        "time": "Thu Oct 22 17:17:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 17:22:13 2026"
      },
      "message": "[libc][docs] Rename selected rst docs to md (#233687)\n\nTracking issue: #201242\nSee the [migration guide] for more information.\n\n[migration guide]:\nhttps://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines\n\nThis is the initial straight rename commit. It will probably break the\ndocs build, but it has to be a separate PR for blame preservation\npurposes.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f101137db0dc84e3db87ec41324e79d053cd9b9a\n"
    },
    {
      "commit": "5aae7ed143241d46ae1c2476d12675b173d10504",
      "tree": "2f9621b4d613f32aaff0b680bf0d6da21f41b1cd",
      "parents": [
        "7b75d28c6f2c4631fefc08d8b4eec6add4912da3"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Thu Oct 22 17:12:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 17:19:06 2026"
      },
      "message": "[libc][docs] update docs before dev meeting (#234359)\n\nTweaking documentation on certain build configurations.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c41dd6bb2d26ef273d51a7fd69383b5a4857ff06\n"
    },
    {
      "commit": "7b75d28c6f2c4631fefc08d8b4eec6add4912da3",
      "tree": "03c646a41b4025f1d3f2456544f87b10a1ce397d",
      "parents": [
        "264234dfc2840ab9626cd5e2fd3b7e12db21779d"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Thu Oct 22 16:58:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 17:04:34 2026"
      },
      "message": "Revert \"[libc] Remove full header dependencies from proxy header targets\" (#234668)\n\nReverts llvm/llvm-project#234150 due to breakage on the\n[libc-x86_64-debian-gcc-fullbuild-dbg](https://lab.llvm.org/buildbot/#/builders/131)\nbot. The issue is that GCC\u0027s immintrin.h includes \u003cstdlib.h\u003e before\nwe\u0027ve built our own version, which means GCC ends up parsing the system\nheader, and tripping over inconsistent header state.\n\nI don\u0027t see an obvious fix, so reverting this for the time being.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e2c6a9124e96b7e66961707f5e70345757c16d00\n"
    },
    {
      "commit": "264234dfc2840ab9626cd5e2fd3b7e12db21779d",
      "tree": "54962f69a37238b3a203b0ec8a2e9842316b0afb",
      "parents": [
        "9ed50c16f3dac24ce766d6a165a2777fd4b78cc5"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Thu Oct 22 16:43:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 16:47:53 2026"
      },
      "message": "[libc][cmake] Fix test suite names for execlp_test after #234465. (#234678)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7ffa565121558cbc0dbee48e28b129e37e157d04\n"
    },
    {
      "commit": "9ed50c16f3dac24ce766d6a165a2777fd4b78cc5",
      "tree": "18358e2485acdb90043148cb88678ada0860fe8d",
      "parents": [
        "e3bcc91cf4c2ba9b7ba59354b66a02b5f0792f73"
      ],
      "author": {
        "name": "Aman Maurya",
        "email": "amanmaurya9209@gmail.com",
        "time": "Thu Oct 22 15:51:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 15:56:38 2026"
      },
      "message": "[libc] Deduplicate va_list to argv extraction using exec_with_arg_list (#234581)\n\nDeduplicate the `va_list` to `argv` VLA extraction logic across `execl`,\n`execle`, and `execlp` into a shared `internal::exec_with_arg_list`\nhelper in `libc/src/unistd/linux/exec_utils.h`.\n\nFollow-up to #232901 suggested by @labath.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9bded32fa91eaec4598279bf4da33f1bdc66864a\n"
    },
    {
      "commit": "e3bcc91cf4c2ba9b7ba59354b66a02b5f0792f73",
      "tree": "68394797b25537e6f56b543daf78acd192fb7e60",
      "parents": [
        "283d5c9d3f3950c7dca5967f5417ddd41fa6413c"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Thu Oct 22 15:46:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 15:54:08 2026"
      },
      "message": "[libc][cmake] Unify test suite creation and hierarchy in add_libc_testsuite. (#234465)\n\n- Expand `add_libc_testsuite` to unconditionally create `\u003csuite_name\u003e`\nand `\u003csuite_name\u003e-build` and wire them into `\u003cparent_suite\u003e` and\n`\u003cparent_suite\u003e-build` (defaulting to `libc-tests` unless `ROOT` or\n`PARENT \u003cparent_suite\u003e` is specified).\n- Remove lazy test suite creation.\n- Folding `add_libc_exhaustive_testsuite`,\n`add_libc_long_running_testsuite`, and `add_libc_integration_test_suite`\ninto `add_libc_testsuite`.\n- Consolidate `NO_RUN_POSTBUILD` and exhaustive suites into a single\n`BUILD_ONLY` option across `add_libc_testsuite` and `add_libc_test`,\nnaming executables `*.__build_only__` so Lit ignores them during\n`check-libc` while keeping `\u003cfq_target_name\u003e` runner targets for manual\ninvocation.\n- Migrate all test suite definitions across `libc/test/` and\n`libc/benchmarks/gpu/` to `add_libc_testsuite` and standardize suite\nnames on `libc-*-tests` and `libc-*-integration-tests`.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a5a718d0bafb2126800b0ee0e5ea72355e3fd319\n"
    },
    {
      "commit": "283d5c9d3f3950c7dca5967f5417ddd41fa6413c",
      "tree": "58196423f5b3e89a69fb71e8eb85f22c133d93cf",
      "parents": [
        "1e115f18db86b9bf1e2c0012bf0bb3aae8698a4d"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Thu Oct 22 15:44:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 15:49:08 2026"
      },
      "message": "[libc] Use a syscall wrapper for `epoll_ctl` (#234572)\n\nThis PR move `epoll_ctl` behind the centralized syscall wrappers,\nfollowing `libc/docs/dev/syscall_wrapper_refactor.md`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7ece04ab2e0df3e3547118553c05b1925723ceb0\n"
    },
    {
      "commit": "1e115f18db86b9bf1e2c0012bf0bb3aae8698a4d",
      "tree": "d9d5a03dafa1648a6f9faca6e3f2737e677f3b38",
      "parents": [
        "391249c0b140106bb52def41a1f0c72a1293e7be"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Thu Oct 22 15:14:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 15:28:38 2026"
      },
      "message": "[libc] Expose sys/stat.h mode_t constants in fcntl.h (#234438)\n\nPer POSIX standard, `\u003cfcntl.h\u003e` should provide macro like: `S_IRWXU`\n\n```\nThe \u003cfcntl.h\u003e header shall define the symbolic constants for file modes\nfor use as values of mode_t as described in \u003csys/stat.h\u003e.`\n```\n\nDo this by including internal header with `sys/stat.h` macro values\ninside a similar\ninternal header providing `fcntl.h` macro values. Reflect this in CMake\ndependencies,\nand update unit tests to remove explicit inclusion (assuming that\nfcntl-macros would\nadditionally cover the values from sys-stat-macros).\n\nThis is the path of least resistance. Potentially, we can do a more\nexplicit and precise\ncontrols here - e.g. by extracting all mode_t related macro in a\ndedicated YAML file\n(used as a fragment in both sys/stat.h and fcntl.h) as well as a\ndedicated macro file.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 048f11860169fac7fe6d8443c25b4aaddf32b32f\n"
    },
    {
      "commit": "391249c0b140106bb52def41a1f0c72a1293e7be",
      "tree": "982f854bb00ecfc0df7fe125ab18faf318f6943a",
      "parents": [
        "e5a4f0dc9cf76a6077d26b99e45491cfe1cad7d3"
      ],
      "author": {
        "name": "Prabhu Rajasekaran",
        "email": "prabhukr@google.com",
        "time": "Thu Oct 22 13:10:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 13:17:57 2026"
      },
      "message": "[libc][cmake] Respect the configured optimization level for the Linux thread and TLS objects (#234382)\n\nThe `-O3` override on the Linux `thread` object dates from the old\napproach of reading the thread arguments off the new thread\u0027s stack,\nwhich #225384 removed; the `tls` objects copied the same pattern in\n#225418. Neither needs it anymore, so drop the overrides and use the\noptimization level configured by CMake.\n\nAssisted-by: Claude\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 60f47a7aa5af49a5a590e6547b80cdd6036eb6b1\n"
    },
    {
      "commit": "e5a4f0dc9cf76a6077d26b99e45491cfe1cad7d3",
      "tree": "6423aeb72d1b7a19c77e7d7d7a9a28392da90d87",
      "parents": [
        "57c3a4b1e0135bce35315360337c390e43676e48"
      ],
      "author": {
        "name": "DylanFleming-arm",
        "email": "85629460+DylanFleming-arm@users.noreply.github.com",
        "time": "Thu Oct 22 12:03:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 12:08:10 2026"
      },
      "message": "[libc][mathvec] Vectorise logf (#231190)\n\nReplaces loop over scalar logf with a fully vectorised implementation.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e57a96c8e358f266ba2c982e3fbcbba2abfb4304\n"
    },
    {
      "commit": "57c3a4b1e0135bce35315360337c390e43676e48",
      "tree": "59eea54112b5d7ca31cb2382636ef654e86c10c7",
      "parents": [
        "18110e8994a40b79cf0d04de45b0e2b9cb09b986"
      ],
      "author": {
        "name": "Aman Maurya",
        "email": "amanmaurya9209@gmail.com",
        "time": "Thu Oct 22 10:22:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 10:29:16 2026"
      },
      "message": "[libc] Implement execlp in unistd (#232901)\n\nImplement the standard POSIX function `execlp` in `\u003cunistd.h\u003e`.\n\nPart of #232374. Builds on #232008.\n\nAssisted by Antigravity and reviewed by Aman Maurya.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9a91fc93564ff241da49c88ec7c427b48bebf30c\n"
    },
    {
      "commit": "18110e8994a40b79cf0d04de45b0e2b9cb09b986",
      "tree": "c1ab71e6ced98db0ea50b1b76e7f46a514aa2558",
      "parents": [
        "ebba81a8e2ac8e4b52ef3fba4167d79d095f4d55"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Thu Oct 22 08:28:59 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 08:32:57 2026"
      },
      "message": "[libc] Remove full header dependencies from proxy header targets (#234150)\n\nIn full-build mode, the proxy headers in libc/hdr/types/ only include\nthe granular type headers (include/llvm-libc-types/*.h), not the top-\nlevel public headers (which are only included in overlay mode). Having\nFULL_BUILD_DEPENDS point at libc.include.\u003cheader\u003e was unnecessary and\nforced full header generation before building internal targets that only\nneeded a single type.\n\nSimilarly, the function proxy headers in libc/hdr/func/ only include\ninclude/__llvm-libc-common.h in full-build mode, so I\u0027ve replaced their\ndependency on libc.include.stdlib with libc.include.llvm_libc_common_h.\n\nRemoving these uncovered a few missing or broken dependencies that were\npreviously satisfied transitively:\n- atexithandler_t depended on the non-existent target\nlibc.include.llvm-libc-types.atexithandler_t instead of\nlibc.include.llvm-libc-types.__atexithandler_t (masked by\nlibc.include.stdlib)\n- hsearch_r.h directly included \u003csearch.h\u003e for struct hsearch_data\n(masked by the ACTION and ENTRY proxy headers), which I\u0027ve replaced with\nthe granular struct_hsearch_data.h header\n- faccessat_test, select_ui_test, and select_failure_test directly\nincluded \u003cfcntl.h\u003e and \u003csys/select.h\u003e without declaring dependencies on\nthem (masked by the mode_t and fd_set proxy headers), which I\u0027ve\nswitched to use the corresponding proxy headers\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a31ede812af71c660347413af1d55164c5dbde87\n"
    },
    {
      "commit": "ebba81a8e2ac8e4b52ef3fba4167d79d095f4d55",
      "tree": "af67a647290cc75f18052060acf34c4125b277d6",
      "parents": [
        "b608c63a74f4fce7fd3331b77be961fe0134d356"
      ],
      "author": {
        "name": "Sachin 🗲",
        "email": "s4chinjha@gmail.com",
        "time": "Thu Oct 22 01:46:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 01:52:56 2026"
      },
      "message": "[libc][docs] Rewrite remaining rst docs to md [2/2] (#233848)\n\nTracking issue:\n[#201242](https://github.com/llvm/llvm-project/issues/201242)\n\nSee the [migration\nguide](https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines)\n\nthis is the second part of migrating the remaining libc utility READMEs\nfrom rst to md\nthe content conversion is provided by this pr, following the rename in\nthe previous pr\n\nDepends on #233817\n\nthe first commit is from the base pr (rename), the second commit\ncontains the content conversion\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7021e2e7626d31f655020c2f566f1fe0ac99234a\n"
    },
    {
      "commit": "b608c63a74f4fce7fd3331b77be961fe0134d356",
      "tree": "e56143ba8728cea8a5c042052f65d3a1ba7c96b1",
      "parents": [
        "24b8a28928705ddcb7f700ed33b35a7981289e46"
      ],
      "author": {
        "name": "Prabhu Rajasekaran",
        "email": "prabhukr@google.com",
        "time": "Thu Oct 22 01:32:28 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 01:36:33 2026"
      },
      "message": "[libc][cmake] Respect the configured optimization level for tests (#234381)\n\nFollow up to #126322 and #233964 for the test side: the math and stdfix\ntests, `hash_test` and the MPFR/MPC wrappers still force `-O3`. Drop the\noverrides so they use the optimization level configured by CMake like\nthe rest of the library.\n\nAssisted-by: Claude\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e21db61afd2e85b9da23906c82f4723e02f236ff\n"
    },
    {
      "commit": "24b8a28928705ddcb7f700ed33b35a7981289e46",
      "tree": "90dc11e50dabd36d3b9ac4d514c9e88d6bbff1fd",
      "parents": [
        "6dd33219b7f7375f18f9d1f35b8114b6280b5c33"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Wed Oct 21 21:48:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 21:52:22 2026"
      },
      "message": "[libc][cmake] Unify unit and hermetic test rules into add_libc_test (#233512)\n\n- Consolidate _add_libc_unittest and add_libc_hermetic into mode-aware\nadd_libc_test and create_libc_test rules using llvm_libc_parse_arguments\nand forward_arguments (#232089), keeping add_libc_unittest,\nadd_libc_hermetic, and add_fp_unittest as thin forwarding wrappers.\n- Replace separate libc-unit-tests and libc-hermetic-tests with unified\nlibc-tests and libc-tests-build targets.\n- Introduce add_libc_testsuite to create both \u003csuite\u003e and \u003csuite\u003e-build\ntargets wired into libc-tests and libc-tests-build.\n- Move add_fp_unittest into LLVMLibCTestRules.cmake via the FP_TEST\noption and rename MPFR/MPC helper libraries to follow standard libc\ntarget naming (libc.utils.MPCommon, libc.utils.MPFRWrapper,\nlibc.utils.MPCWrapper).\n- Streamline _add_libc_test_runner: replace $\u003cTARGET_FILE:...\u003e with\nconfigure-time binary paths, fast-path .params generation, and define\ntest runner targets directly via add_custom_target(... COMMAND ...\nJOB_POOL ...) instead of intermediate .cmd stamp rules.\n- Update docs and GPU benchmarks to use the unified test targets and\nrules.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: da846c671d18a7cba470c0a0a6d9947450ebbeee\n"
    }
  ],
  "next": "6dd33219b7f7375f18f9d1f35b8114b6280b5c33"
}
