)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "6dd33219b7f7375f18f9d1f35b8114b6280b5c33",
      "tree": "9afff71896c034fbef0b7f4d3b6e460b2d6517bb",
      "parents": [
        "ea3bd15f08ef12e52525eaaef366bd106e95330a"
      ],
      "author": {
        "name": "Aman Maurya",
        "email": "amanmaurya9209@gmail.com",
        "time": "Wed Oct 21 18:26:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 18:31:59 2026"
      },
      "message": "[libc] Implement execvpe in unistd (#234071)\n\nImplement `execvpe` in `\u003cunistd.h\u003e` and share the common PATH resolution\nand execution loop with `execvp`.\n\nFixes #234065.\n\nLike `execvp`, `execvpe` duplicates the actions of the shell in\nsearching for an executable file if the specified filename does not\ncontain a slash (`/`), resolving against the directories in the caller\u0027s\n`PATH`. Unlike `execvp`, `execvpe` allows passing an explicit custom\nenvironment (`envp`) to the executed process image rather than using the\nglobal `environ`.\n\nPer POSIX.1-2024 and Linux specifications, `execvpe` searches for the\nprogram using the value of `PATH` from the caller\u0027s environment, not\nfrom the `envp` argument.\n\nChanges:\n- Add `exec_utils.h` containing common `internal::execvpe` logic, and\nrefactor both `execvp` and `execvpe` to use it.\n- Add `execvpe.h` and `linux/execvpe.cpp` entrypoint.\n- Register `execvpe` in `unistd.yaml` under GNU standards and in docgen.\n- Add entrypoints for x86_64, aarch64, and riscv.\n- Add integration tests under\n`libc/test/integration/src/unistd/execvpe_test.cpp`.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c8145b12498e6d34d11a69da289e92edc26462a8\n"
    },
    {
      "commit": "ea3bd15f08ef12e52525eaaef366bd106e95330a",
      "tree": "451019c5dbea5400538b2b0a06c0bc03e2f2bb5d",
      "parents": [
        "394f270b79d70b37164b62fe2e6dd43b0213dc13"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Wed Oct 21 17:16:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 17:22:50 2026"
      },
      "message": "[libc] Use sigmask utils in linux thread_exit (#234185)\n\nUse signals::block_all() instead of manually filling a sigset_t with\n0xff and calling rt_sigprocmask. Also drop the now unused includes and\nbuild dependencies.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 762927e26ba131655d86c6dee334693cf81d5010\n"
    },
    {
      "commit": "394f270b79d70b37164b62fe2e6dd43b0213dc13",
      "tree": "aa808152325269af4105b0100ce0338f16539d8f",
      "parents": [
        "5456b6f0d8bc4647203c2ec2fd2c3885275f53ef"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Wed Oct 21 16:50:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 17:03:34 2026"
      },
      "message": "[libc] Implement ether_ntoa and ether_ntoa_r (#233876)\n\nThis adds \u003cnet/ethernet.h\u003e (with struct ether_addr) and\n\u003cnetinet/ether.h\u003e (with ether_ntoa, ether_ntoa_r).\n\nA few implementation notes:\n- following glibc and musl (and the linux man page), octets \u003c 0x10 are\nformatted without a leading zero. This differs from some BSD\nimplementations.\n- like inet_ntoa (but unlike GLIBC), ether_ntoa uses a thread-local\nstatic buffer\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f05c112b2e455f62378de6d298b6798648a66941\n"
    },
    {
      "commit": "5456b6f0d8bc4647203c2ec2fd2c3885275f53ef",
      "tree": "fe10426342d202e2b593c3aa1c84ac9018977aca",
      "parents": [
        "6bdc9a490d9cd8bbb303e280cd93a4c43d1dc50a"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Wed Oct 21 16:39:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 16:46:09 2026"
      },
      "message": "[libc] Fix gcc build for popen (#234041)\n\nThere were gcc failures after #232846 added popen/pclose. This PR fixes\nthem. Specifically gcc 12 didn\u0027t like the custom `delete` and was\nconfused by `MSAN_UNPOISON` expanding to nothing.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 09cc96a0fd4697819e9d20c9f99eadb4a8221cf6\n"
    },
    {
      "commit": "6bdc9a490d9cd8bbb303e280cd93a4c43d1dc50a",
      "tree": "ffb2fc5faa359711ea4d772b034da43cef3cec37",
      "parents": [
        "866abb915dcc70967235430ed81aa0ed5421c9c5"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Wed Oct 21 16:26:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 16:35:10 2026"
      },
      "message": "[libc] Add sys/eventfd.h header and eventfd function. (#234028)\n\nAdd the Linux `\u003csys/eventfd.h\u003e` header to LLVM-libc. This header\nprovides an event\nwait/notify mechanism for user-space applications that relies on the\nkernel-controlled\ncounter. See https://man7.org/linux/man-pages/man2/eventfd.2.html for\nmore details.\n\nProvide the header on various Linux platforms. Implement the `eventfd()`\nAPI as a\nregular syscall wrapper. Don\u0027t add the GNU-specific `eventfd_t` and\n`eventfd_(read|write)`\nhelpers yet.\n\nAdd the unit test that validates the basic functionality (confirms that\nthe counter value can be `read` from the returned descriptor).\n\nAssisted by: Gemini\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1281047d41c09a63f75fc3f252c5f0e671cd1718\n"
    },
    {
      "commit": "866abb915dcc70967235430ed81aa0ed5421c9c5",
      "tree": "992b6f2c376a964f9a69cc79c8ac9b5ff852dfff",
      "parents": [
        "6ff87915aaf55b2f68e757e8e64f11f6d9f5b828"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Wed Oct 21 12:35:23 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 12:41:37 2026"
      },
      "message": "[libc] Use a syscall wrapper for `getcpu` (#234157)\n\nThis PR move `getcpu` behind the centralized syscall wrappers, following\n`libc/docs/dev/syscall_wrapper_refactor.md`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4e49fc5562a5faa081dbf6e2a8bdaac85d1db2bc\n"
    },
    {
      "commit": "6ff87915aaf55b2f68e757e8e64f11f6d9f5b828",
      "tree": "b80d3833a39c047d61cf482085af12225c86d50a",
      "parents": [
        "9c999c7a20c06786d6b98ad712205a9e9d66006a"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Wed Oct 21 09:20:15 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 09:27:57 2026"
      },
      "message": "Reland \"[libc] Implement cpp::unique_ptr utility\" (#233800)\n\nThis patch reapplies #206701 (reverted in #212644 due to failures on the\nasan bots). The asan failures (allocation mismatches) are fixed by\nchanging the test to use new(AllocChecker) for allocating memory.\n\nThe original commit message was:\n\nImplemented cpp::unique_ptr and cpp::default_delete in\nlibc/src/__support/CPP/unique_ptr.h for internal use within LLVM-libc.\n\n* Added cpp::default_delete and its array specialization.\n* Implemented cpp::unique_ptr with support for custom deleters and\n  array specialization.\n* Applied LIBC_TRIVIAL_ABI to unique_ptr and LIBC_NO_UNIQUE_ADDRESS to\nthe\n  deleter to enable empty member optimization and register-passing ABI.\n* Defined portable LIBC_NO_UNIQUE_ADDRESS and LIBC_TRIVIAL_ABI macros in\n  attributes.h.\n* Included is_assignable.h in type_traits.h to support conversion\n  assignment constraints.\n* Modernized template constraints using enable_if_t and\nis_convertible_v.\n* Added comprehensive unit tests in\nlibc/test/src/__support/CPP/unique_ptr_test.cpp, including coverage for\n  reset sequencing, custom deleters, and conversion constructors.\n\nThis is a simplified implementation with the following limitations:\n* No support for custom pointer types (hardcoded to T*).\n* No support for reference deleter types or array conversion.\n\nAdding this to LLVM libc because some things (like regex) require\ndynamic\nmemory allocation, and this will help with correct memory management.\n\nAssisted-by: Automated tooling, human reviewed.\n\n---------\n\nCo-authored-by: Jeff Bailey \u003cjbailey@raspberryginger.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1bb06d275e73291c19117e03e3406508fed88b7a\n"
    },
    {
      "commit": "9c999c7a20c06786d6b98ad712205a9e9d66006a",
      "tree": "2881f17f54ae9c394867c1dfacf6cc6bc7445fd8",
      "parents": [
        "24389102f21e9dfe268afe0ecd6a03befc6d9409"
      ],
      "author": {
        "name": "Aman Maurya",
        "email": "amanmaurya9209@gmail.com",
        "time": "Wed Oct 21 07:41:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 07:47:35 2026"
      },
      "message": "[libc] Add 32-bit fallback syscall branches to UID/GID syscall wrappers (#233926)\n\nAdd 32-bit fallback branches (SYS_*32) to existing Linux syscall\nwrappers for:\n- setuid (SYS_setuid32)\n- setgid (SYS_setgid32)\n- setreuid (SYS_setreuid32)\n- setregid (SYS_setregid32)\n- getegid (SYS_getegid32)\n- lchown (SYS_lchown32)\n\nThis matches the pattern used in setgroups, setresuid, and setresgid on\n32-bit Linux architectures.\n\nFollow-up requested by @labath in #233088.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fed211c06757833650582eabd215a82dd4718cb6\n"
    },
    {
      "commit": "24389102f21e9dfe268afe0ecd6a03befc6d9409",
      "tree": "2b02170be28f2d86f3c81eb4b5a30729dbdd694d",
      "parents": [
        "08685bfc495049e69a147579516575abf45976a1"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Tue Oct 20 23:32:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 23:37:00 2026"
      },
      "message": "[libc] implement popen/pclose (#232846)\n\nThis is a deceptively complex set of functions. They need to have\ntheir own FILE subclass to track the PID of the child process and a list\nof other open files specifically for popen. I also ended up refactoring\n`system` since it shares the fork-and-shell mechanism. The POSIX\ndefinition is here:\nhttps://pubs.opengroup.org/onlinepubs/9799919799/functions/popen.html\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c759b57a74deef4f1c1614715230ee7eef5c4a9a\n"
    },
    {
      "commit": "08685bfc495049e69a147579516575abf45976a1",
      "tree": "041884790e290b2e217704915e8e7365dabae4e9",
      "parents": [
        "eb50655f8270c8ba73f3acf46850211ad2322829"
      ],
      "author": {
        "name": "Prabhu Rajasekaran",
        "email": "prabhukr@google.com",
        "time": "Tue Oct 20 23:23:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 23:27:38 2026"
      },
      "message": "[libc][cmake] Respect the configured optimization level for math and stdfix entrypoints (#233964)\n\n#126322 stopped the math entrypoints from forcing `-O3` so they use the\noptimization level configured by CMake. A few entrypoints were missed\n(`sinf16`) or added later with the old pattern (the `stdfix` `bits*`,\n`countls*`, `idiv*`, `*divi` and `divi*` functions). Drop those\nremaining overrides too.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d12b8d77140658a04d5090c97853e2242165747a\n"
    },
    {
      "commit": "eb50655f8270c8ba73f3acf46850211ad2322829",
      "tree": "d608aefab877608799b6fc3d1dca7f50d419a379",
      "parents": [
        "de8a5ae9583353094f198828e30e02ca4becd7c2"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Tue Oct 20 20:17:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 20:22:27 2026"
      },
      "message": "[libc][math] Add integer-only implementation for exp2f. (#233177)\n\n- Correctly rounded to all rounding mode (statically).\n- Share core computations with expf integer-only static-rounding version\n- Optimize for code size.\n- Based on top of https://github.com/llvm/llvm-project/pull/233118\n\nAssisted-by: Gemini for analysis and refactoring.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7be7bc433d53d42f7af83c9949cf6f65078602bb\n"
    },
    {
      "commit": "de8a5ae9583353094f198828e30e02ca4becd7c2",
      "tree": "fbb5df5e8f30d4a7d55d8ab1a089dbd913b6e5f5",
      "parents": [
        "9d21d12f9165de95e3a78055d15c86a8f59430e3"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Tue Oct 20 20:17:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 20:21:55 2026"
      },
      "message": "[libc][math] Optimize integer-only expf and factor out shared utilities. (#233118)\n\n- Optimize `expf_integer_eval` for both code size and performance.\n- Factor out the shared range reduction and `2^u` fixed point evaluation\nto be used by `exp2f` and `exp10f` integer-only versions.\n\nAssisted-by: Gemini for analysis and refactoring.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b8434423e8f098e9a8de3135e7ba8b741144d2ff\n"
    },
    {
      "commit": "9d21d12f9165de95e3a78055d15c86a8f59430e3",
      "tree": "9807be38b3349f03d387bb8836f827d4931b0b13",
      "parents": [
        "bd89470977bc46fbaba71e23822b33142939dd85"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Tue Oct 20 19:18:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 19:24:03 2026"
      },
      "message": "[libc][regex] Add \u0027^\u0027 and \u0027$\u0027 anchors and line flags (#233780)\n\nBeginning-of-line (\u0027^\u0027) and end-of-line (\u0027$\u0027) assertions depend on the\nsurrounding fencepost context (string boundaries, newlines under\nREG_NEWLINE, and execution flags REG_NOTBOL and REG_NOTEOL) rather than\nconsuming input characters.\n\nAdd ExprKind::Anchor with AnchorKind bitmasks (ANCHOR_BOL and\nANCHOR_EOL) stored in Expr::anchor_mask, and pack a has_anchors bitfield\nalongside nullable so sizeof(Expr) remains 16 bytes and unanchored\nsubtrees keep O(1) nullability checks. Evaluate context-aware\nnullability at each fencepost in derivative and match, enable\nREG_NEWLINE in regcomp and REG_NOTBOL and REG_NOTEOL in regexec, and\nguard RegexInternal cleanup with cpp::scope_exit.\n\nAgainst the external compliance suites in REG_NOSUB mode, this passes\n52/456 tests (+31) in the Henry Spencer suite and 40/202 ERE tests (+15)\nin Glenn Fowler\u0027s AT\u0026T testregex basic.dat suite.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 46f82b5bf8b2ef1a318ee1f9f577ba56745afcb1\n"
    },
    {
      "commit": "bd89470977bc46fbaba71e23822b33142939dd85",
      "tree": "c25a6596144ce0d8dbcd30c448ee2b81466286ad",
      "parents": [
        "14e83ada7526e376533d31ff6111ff9f3e1cd8a1"
      ],
      "author": {
        "name": "Nathan Cornaud",
        "email": "ncornaud@gmail.com",
        "time": "Tue Oct 20 19:14:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 19:19:16 2026"
      },
      "message": "[libc][printf] Fix %s precision handling (#233098)\n\nThis fixes an issue where the string converter for `%s` attempts to\nretrieve the string length of the argument by climbing to the\nnull-terminator regardless of precision, even tho if a precision is\nspecified the null-terminator isn\u0027t mandatory.\n\nNow, the string length is calculated up to the null-terminator only if\nno precision is specified, otherwise the length calculation is capped up\nto the precision.\n\nA test is added for %s conversion with a specified precision, checking\nif it correctly formats a non-null-terminated input string when the\ninput contains at least the required number of characters.\n\nHowever, it is important to note that this test does not guarantee that\nthe out-of-bounds bug will not reoccur, as detecting it would require\nrunning the test under ASan, and the bug itself may not be reproducible\ndeterministically.\n\nFixes #230110  .\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d585eb475e90bd53e4d760e1bf30f476ca65fa38\n"
    },
    {
      "commit": "14e83ada7526e376533d31ff6111ff9f3e1cd8a1",
      "tree": "48c610455e1e5e9b98c3da31f7d24ca5cd495e91",
      "parents": [
        "15cb74f7eef1193cb96ea74714f6a9ea0a3a8987"
      ],
      "author": {
        "name": "Prabhu Rajasekaran",
        "email": "prabhukr@google.com",
        "time": "Tue Oct 20 16:40:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 16:50:16 2026"
      },
      "message": "Revert \"[libc] Keep __restrict on the Cortex-M memcpy for MVE targets\" (#233903)\n\nReverts llvm/llvm-project#233575\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a080750a1e8b5b93f7a93dd6df88ce9b1e3a4fe0\n"
    },
    {
      "commit": "15cb74f7eef1193cb96ea74714f6a9ea0a3a8987",
      "tree": "8e739d9dd4b9f8807ef6a7e4b62da20bdb7c690e",
      "parents": [
        "a3e77cbe86d17c90e524a65023361580d7319d54"
      ],
      "author": {
        "name": "Aman Maurya",
        "email": "amanmaurya9209@gmail.com",
        "time": "Tue Oct 20 15:00:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 15:09:08 2026"
      },
      "message": "[libc] Implement seteuid and setegid in unistd (#233088)\n\nImplement the standard POSIX functions `seteuid` and `setegid` in\n`\u003cunistd.h\u003e`.\n\nFixes #232380.\n\nAssisted by Antigravity and reviewed by Aman Maurya.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f68ff0be52cd2c42bbf89ed4bbb71ee1447e86c6\n"
    },
    {
      "commit": "a3e77cbe86d17c90e524a65023361580d7319d54",
      "tree": "8a9069deb93ba39e911985f12af8346a03522cf5",
      "parents": [
        "1b6ebf869c58e73c4ad2b94fc761031ba8f4c005"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Tue Oct 20 14:27:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 14:32:45 2026"
      },
      "message": "[libc] Add floating-point bitwise operations to FPUtil. (#233168)\n\nAdd `fp_and`, `fp_or`, `fp_xor`, `fp_andnot`, and `fp_not` to\n`src/__support/FPUtil/fp_bitwise.h` to perform bitwise operations on\nfloating-point values directly in FP/SIMD registers when SSE2 or AArch64\nNEON is available, avoiding GPR round-trips.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d6d3ea45e4445d7c5adf7f58acae2962b9af2fd3\n"
    },
    {
      "commit": "1b6ebf869c58e73c4ad2b94fc761031ba8f4c005",
      "tree": "70c97293c18bb8c58fddf63b4b50f9e83a50ede5",
      "parents": [
        "c63da0024fe6f97219277e7c89124abe47eb909c"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Tue Oct 20 13:33:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 13:39:14 2026"
      },
      "message": "[libc] Add remaining \u003clibintl.h\u003e gettext stubs (#233838)\n\nAdded stateless stubs for dgettext, dgettext_l, dcgettext, dcgettext_l,\nngettext, ngettext_l, dngettext, dngettext_l, dcngettext, and\ndcngettext_l behind LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS,\ncompleting the 15 POSIX.1-2024 \u003clibintl.h\u003e entrypoints.\n\nIn the \"C\" locale, POSIX requires the dgettext and dcgettext families to\nreturn the input msgid pointer unchanged and the ngettext, dngettext,\nand dcngettext families to return msgid1 when n \u003d\u003d 1 and msgid2\notherwise, without modifying errno.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 20aa537f9e992f83e07a2a91a66309cdb0bdf689\n"
    },
    {
      "commit": "c63da0024fe6f97219277e7c89124abe47eb909c",
      "tree": "f49453e954d1cf9a6ad2a39e5959eb74b13c75d1",
      "parents": [
        "01ca9b8f203401194c03059707233ea92059bbdb"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Tue Oct 20 12:42:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 12:47:43 2026"
      },
      "message": "[libc] Add gettext and gettext_l stubs (#233603)\n\nAdded stateless stubs for gettext and gettext_l behind\nLLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS. In the \"C\" locale, POSIX\nrequires the gettext family to return the input msgid pointer unchanged\nwithout modifying errno.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9678fe791604788352fb1f1f0f8a878022e6aefc\n"
    },
    {
      "commit": "01ca9b8f203401194c03059707233ea92059bbdb",
      "tree": "c319747e364d1a8fb4c64508b848ba5e19040d26",
      "parents": [
        "8284bb13ac0068c0da8dfb00b422b550b92a32f2"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Tue Oct 20 12:05:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 12:13:02 2026"
      },
      "message": "[libc] Use a syscall wrapper for `sched_get_priority_max` (#233792)\n\nThis PR move `sched_get_priority_max` behind the centralized syscall\nwrappers, following `libc/docs/dev/syscall_wrapper_refactor.md`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 28c76abc6b1722c04fb19860049800c3b4572a5e\n"
    }
  ],
  "next": "8284bb13ac0068c0da8dfb00b422b550b92a32f2"
}
