)]}'
{
  "log": [
    {
      "commit": "9ef880711f71a40ded3f48d7b3212adfa27ac110",
      "tree": "8a5fc86d4217685f1f5e6c6e4ded3ab57c103eac",
      "parents": [
        "063f3b2f867dd731aecf0fd53b15fe25a7d5d667"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Tue Sep 01 20:36:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 20:43:35 2026"
      },
      "message": "[libc] Fix char8_t public and proxy headers. (#220352)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 071b3c2fe08770c7d1875c1d58b6e1f9fe74506f\n"
    },
    {
      "commit": "063f3b2f867dd731aecf0fd53b15fe25a7d5d667",
      "tree": "1b0e3a1d19420d5548efd4936e984a0d0f23518d",
      "parents": [
        "e36486de756edd115882473fd0d5e09828ef9915"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Tue Sep 01 18:49:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 18:54:18 2026"
      },
      "message": "[libc] Add \u003cunistd.h\u003e functions for process group management. (#220044)\n\n* Add POSIX functions `getpgid`, `getpgrp`, and `setpgid` that get/set\nprocess group IDs. Define them in `\u003cunistd.h\u003e`\n  header and add entrypoints on Linux platforms;\n* Implement these functions on Linux as `getpgid`/`setpgid` syscall\nwrappers.\n* Add unit test to sanity-check returned values and validate the\nexpected `errno` values for invalid arguments. Given the\nsimplicity of implementation, don\u0027t write fork-based tests to validate\nthat the process group management works as\n  expected on Linux machines.\n\nAssisted by automated tooling, human-verified.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 875b2139bf261dc5a226c3eb6f4f3a822e541575\n"
    },
    {
      "commit": "e36486de756edd115882473fd0d5e09828ef9915",
      "tree": "0484229e1e5706f73cc0fb5dbb32db67e02ca580",
      "parents": [
        "f7eca57724e70629af48c7cc3cea226ea73f413e"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Tue Sep 01 18:21:15 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 18:28:35 2026"
      },
      "message": "[libc] Add \u003cunistd.h\u003e functions for managing foreground process group IDs (#220121)\n\n* Add POSIX functions `tcgetpgrp` and `tcsetpgrp` that get/set process\ngroup IDs of foreground process groups associated with a terminal;\n* Implement these functions as `ioctl` syscall wrappers and enable them\non Linux;\n* Add unit test to verify the expected errno values for common error\ncases (`EBADF` / `ENOTTY`),\nbut don\u0027t verify the \"positive\" cases, since it\u0027s challenging to do in a\nunit test environment w/o using fork and\n  creating pseudo-terminal fixtures.\n\nAssisted by automated tooling, human-verified.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4bb9664e368b166fca6b9b6186f6d0a9f7cd3b91\n"
    },
    {
      "commit": "f7eca57724e70629af48c7cc3cea226ea73f413e",
      "tree": "3cc5c2713ef5d9bcf5f45f1ead7cef33c9d73774",
      "parents": [
        "8ea15e3f25f05d68e8e4a3ef67575075e6e4e635"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Tue Sep 01 17:38:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 17:41:41 2026"
      },
      "message": "[libc] Add \u003cunistd.h\u003e functions for user/group ID management. (#220087)\n\n* Add POSIX functions `getegid` (in addition to existing\n`get(eu|g|s|u)id` ones);\n* Add matching POSIX setter functions: `setgid`, `setregid`, `setreuid`,\n`setuid` (in addition to existing `setsid`);\n* Implement these functions on Linux as straightforward syscall\nwrappers, and enable on Linux platforms;\n* Add unit test to sanity-check returned values and verify the expected\nerrno values for invalid arguments (typically EINVAL or EPERM).\n\nAssisted by automated tooling, human-verified.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3b90cb155a6bf30da86ebcb3d0854d38c53b51b0\n"
    },
    {
      "commit": "8ea15e3f25f05d68e8e4a3ef67575075e6e4e635",
      "tree": "69860f71fd27438254fc364ad3f28a64943ae67c",
      "parents": [
        "78cadafea5707d11beb01dc5edd321d2b385a2fd"
      ],
      "author": {
        "name": "Vadim Kotov",
        "email": "11969390+vadimkotov@users.noreply.github.com",
        "time": "Mon Aug 31 22:13:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 31 22:17:08 2026"
      },
      "message": "[libc] Implement getpriority, setpriority, their unit tests; add the accompanying macros and type headers. (#219573)\n\nTesting these is a bit tricky, so:\n\n- For `getpriority`, ensure the call succeeds and round-trip the highest nice\n  value on Linux (19).\n- For `setpriority`, ensure the call succeeds when setting it to the current nice.\n- For both, test two failure modes that are easy to stably induce.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3051ae0b6853defbc91317f5bab302c1096ab368\n"
    },
    {
      "commit": "78cadafea5707d11beb01dc5edd321d2b385a2fd",
      "tree": "f479225a3065b7f1ce6e3ac5a119a1c949eddd97",
      "parents": [
        "cb093e3b757b77cb517078399fd6ce30b9b191ff"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Mon Aug 31 19:07:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 31 19:17:26 2026"
      },
      "message": "[libc] Clean up some unused includes (#220038)\n\nThe `CMakeLists.txt` for these already reflect the correct dependencies\n(e.g. `libc/startup/linux/x86_64/tls.cpp` depends on\n`libc.config.app_h`, not `do_start`). I was adding some Bazel rules for\nlibc entrypoints and saw these unused deps.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 52774ef910fe941d90b5594ce578e459fbb108a8\n"
    },
    {
      "commit": "cb093e3b757b77cb517078399fd6ce30b9b191ff",
      "tree": "77dc3d23a617042c030834b2f6861f91ccca4329",
      "parents": [
        "43a9a99ce4b5a04954090f8a0e74bf2786f59379"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Mon Aug 31 19:07:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 31 19:16:23 2026"
      },
      "message": "[libc] Correct hidden attribute on __restore_rt (#220039)\n\nThis PR fixes the syntax for a `hidden` attribute in `__restore_rt`.\nWhen compiling with `-Wattributes`, this TU complains about:\n\n```\nllvm-project/libc/src/signal/linux/__restore.cpp:20:67: error: unknown attribute \u0027hidden\u0027 ignored [-Werror,-Wunknown-attributes]\n   20 | extern \"C\" void __restore_rt() __attribute__((no_sanitize(\"all\"), hidden));\n```\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 755212d8134e1ac4f583bd8ff40870bfb9f73978\n"
    },
    {
      "commit": "43a9a99ce4b5a04954090f8a0e74bf2786f59379",
      "tree": "15460d50e5bfbef2f70540bcbbadf2b0fbc78da0",
      "parents": [
        "320824188c37e5c28738b9652a0ca8087c934bc9"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Mon Aug 31 19:03:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 31 19:06:56 2026"
      },
      "message": "[libc][exit] Use LIBC_CONSTINIT macro to allow pre-C++20 compilation (#220041)\n\nThe `constinit` specifier was added in these files before\n`LIBC_CONSTINIT` was added to LLVM-libc. This PR updates the\n`at_quick_exit` and `atexit` entrypoints so they may be compiled\npre-C++20.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ee08d72b80805421633dd8d88f08555ee3339156\n"
    },
    {
      "commit": "320824188c37e5c28738b9652a0ca8087c934bc9",
      "tree": "62eb13c1a12590373cdc1fe8d4dda36b13dc275b",
      "parents": [
        "06d9fc41d4e69efcc05b3077940689838e763d19"
      ],
      "author": {
        "name": "tht2005",
        "email": "75089048+tht2005@users.noreply.github.com",
        "time": "Sun Aug 30 09:36:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 30 09:41:17 2026"
      },
      "message": "[libc] Add missing MPFR-based tests for f16 and bf16 math functions (#218281)\n\nFixes #218219\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 055a77bb291a8df8a8be1084472984e80cf203b5\n"
    },
    {
      "commit": "06d9fc41d4e69efcc05b3077940689838e763d19",
      "tree": "12565b78de29fb0b90f1e3858b88d33a3ecb0913",
      "parents": [
        "9dd191a2af70c4afc3f36f2742faceb27d30763f"
      ],
      "author": {
        "name": "windsunil",
        "email": "sunilkumar.dora@windriver.com",
        "time": "Sat Aug 29 16:08:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Aug 29 16:14:31 2026"
      },
      "message": "[libc] Disable float16 on 32-bit x86 without SSE2 (#219675)\n\nFixes #219668\n\nBuilding llvm 23.1.0 (and current main) for 32-bit x86 without SSE2\nfails since APFloat.cpp started including libc\u0027s shared/math.h. All the\nerrors come from the float16 headers:\n\n```\nlibc/src/__support/FPUtil/BasicOperations.h:63:67: error: SSE register return with SSE2 disabled\nlibc/src/__support/math/acosf16.h:73:14: error: invalid conversion from type \u0027_Float16\u0027 without option \u0027-msse2\u0027\n```\n\nThe float16 detection in float16-macros.h checks __FLT16_MANT_DIG__.\nSince GCC 14 that macro is defined on ia32 even without SSE2, where\n_Float16 is storage-only and any arithmetic or returning by value is an\nerror.\nThe GCC 14 release notes say to check __SSE2__ for arithmetic support\ninstead: https://gcc.gnu.org/gcc-14/changes.html\n\nSo require SSE2 on 32-bit x86 in the guard, same as the existing arm32\nand riscv exclusions in this file. x86-64 is not affected (__i386__ is\nnot defined there), and i386 with -msse2 keeps float16.\n\nTested with gcc 16.2 targeting i686: the reproducer from the issue goes\nfrom ~340 errors to compiling clean, and a full 32-bit multilib build of\nllvm 23.1.0 in Yocto succeeds with this change. Since 23.1.0 is\naffected, I would like to request a backport to release/23.x once this\nlands.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 05da143c63d333420b99eab198e1a89c97480929\n"
    },
    {
      "commit": "9dd191a2af70c4afc3f36f2742faceb27d30763f",
      "tree": "14ec2918dd9aa0fe892b54115daa4700c14e4e89",
      "parents": [
        "913d2eccaf06859d4f09e08065a59d87ab2332cb"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Aug 28 19:03:34 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 19:06:32 2026"
      },
      "message": "[libc] Add placeholder for sys/mount.h Linux header. (#219127)\n\nProvide `\u003csys/mount.h\u003e` header on Linux platforms. This header doesn\u0027t\nyet contain the entrypoints (mount, unmount, unmount2), but has a\ncollection of `MS_` symbolic constants that should be passed as\narguments to `mount` syscall wrapper.\n\nThis is an interesting case, since header is a non-POSIX, and contains\ndifferent information on Linux and on BSD systems (macro are named\ndifferently, functions have different prototypes, etc.). We may decide\nhow to approach this at the point when we add function prototypes. For\nmacro, we\u0027re in a slightly better shape, as there\u0027s existing support for\nOS-specific macro definitions that we\u0027re using here.\n\nAssisted by: automated tooling, human-reviewed\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c98c903b21fee2c03abc44eeb801eeb04fbabb4b\n"
    },
    {
      "commit": "913d2eccaf06859d4f09e08065a59d87ab2332cb",
      "tree": "3f1770f233bd055f4b1c6612cba81843a4e0afb4",
      "parents": [
        "7e8453fd199221dbc967ff2ffd556ed17928d066"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Aug 28 18:25:23 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 18:34:17 2026"
      },
      "message": "[libc] Add redirecting headers sys/vfs.h and sys/syslog.h on Linux. (#219118)\n\n* `\u003csys/vfs.h\u003e` is a Linux header for providing `statfs` function, and\ncan be used interchangeably with `\u003csys/statfs.h\u003e`\n(https://man7.org/linux/man-pages/man2/statfs.2.html). Simply redirect\nthe former to the latter, as `statfs` is already implemented.\n* `\u003csys/syslog.h\u003e` is frequently used instead of POSIX-specified\n`\u003csyslog.h\u003e` header, so create the redirecting alias for it as well.\n\nThis would fix one of the problems in issue #97191 (building Clang\nagainst LLVM-libc), since `\u003csys/vfs.h\u003e` is actually used by LLVM\nSupport.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9a77747615e656f61f4389ef0f663f0f0b6e798b\n"
    },
    {
      "commit": "7e8453fd199221dbc967ff2ffd556ed17928d066",
      "tree": "eda97910a0e39f3ca48e0e71d422e90dfcd9d0b4",
      "parents": [
        "895fc8d862d2a7a673a72836456a1e1020b409ef"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Aug 28 18:24:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 18:33:57 2026"
      },
      "message": "[libc] Fix types provided by fcntl.h header. (#219121)\n\nAccording to POSIX, `\u003cfcntl.h\u003e` header should provide definitions for\n`f_owner_ex` structure, `flock` structure, as well as `mode_t`, `off_t`,\nand `pid_t` types. Reflect that in the YAML definition to ensure\ngenerated `\u003cfcntl.h\u003e` indeed provide them. The type definitions\nthemselves were already present in the LLVM-libc.\n\nThis fixes another problem while building Clang on Linux against\nLLVM-libc (issue #97191)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fc2bd841deb2ac8ce5dfa0d0b9833f76deab65f9\n"
    },
    {
      "commit": "895fc8d862d2a7a673a72836456a1e1020b409ef",
      "tree": "d4890e14deff6a439b26b7cc92007cbcb2fbfdd9",
      "parents": [
        "d1a4fcd7999b89b4e0998051f23b3f00e41d03ba"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Aug 28 18:02:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 18:11:52 2026"
      },
      "message": "[libc] Provide fnmatch.h header and fnmatch() function stub. (#219321)\n\n* Provide a POSIX header`\u003cfnmatch.h\u003e` which `fnmatch()` pattern-matching\nfunction (tailored for use on filenames)\n  and associated macro.\n* Define this as an \"experimental\" entrypoint on Linux targets\n* Implementation is missing at this point, but it might rely (at least\nin part) on TBD pattern-matching functionality that is\n  being built for `\u003cregex.h\u003e` functions.\n\nAssisted by automated tooling, human-reviewed.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f571c5e34a06bc769924ff9100b6f31612279ab0\n"
    },
    {
      "commit": "d1a4fcd7999b89b4e0998051f23b3f00e41d03ba",
      "tree": "748da6ffdcce0eb82f9954e48c53a76444be5f5c",
      "parents": [
        "895eeca4c6766a4f9662c64687922e5dfb37aae8"
      ],
      "author": {
        "name": "Anonmiraj",
        "email": "ezzibrahimx@gmail.com",
        "time": "Fri Aug 28 17:18:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 17:23:56 2026"
      },
      "message": " [libc][math] Implement single precision lgamma function  (#205490)\n\nThe implementation reduces to `|x|` and selects a path:\n\n- **Tiny** ($|x| \u003c 2^{-23}$): truncated Laurent series $\\text{lgamma}(x)\n\u003d -\\log|x| - \\gamma\\,|x|$.\n- **Small** ($|x| \u003c 0.66$): a centered-monomial minimax fit (degree 17\nfor $x\u003e0$, degree 25 for $x\u003c0$) of the smooth quotient $g(x) \u003d\n\\frac{\\text{lgamma}(x) + \\log|x|}{x}$, recovering $\\text{lgamma}(x) \u003d\nx\\cdot g(x) - \\log|x|$ with a single FMA rounding.\n- **Medium** ($|x| \\in [0.66, 3.37]$): centered-monomial minimax fits\nsplit into three sub-ranges that factor out the function\u0027s roots —\n  - $[0.66, 1)$: $\\text{lgamma}(t) \u003d (t-1)\\,P(t)$ (degree 14)\n  - $[1, 2)$: $\\text{lgamma}(t) \u003d (t-1)(t-2)\\,P(t)$ (degree 18)\n  - $[2, 3.37)$: $\\text{lgamma}(t) \u003d (t-2)\\,P(t)$ (degree 15)\n- **Stirling** ($|x| \u003e 3.37$): $(x-0.5)(\\log x - 1) +\n\\frac{\\log(2\\pi)}{2} - \\tfrac12$ plus a $1/x$ Bernoulli correction whose\nterm count is selected by sub-range (degree-10 residual poly on $(3.37,\n73]$; 4-term, then 2-term; dropped entirely for $|x| \u003e 2^{20}$).\nEvaluated in plain `double` (≈$2^{-48}$ relative error).\n\nFor **negative** $x$:\n- $|x| \\le 3.37$ uses the Γ-recurrence — e.g. $\\text{lgamma}(x) \u003d\nx(x+1)\\,P_{M2}(x+0.5) - \\log|x(x+1)|$ on $(-2, -0.66]$ (the recurrence\u0027s\npolynomial prefactor is exactly the root factor, so relative accuracy is\npreserved through lgamma\u0027s zeros, and the whole $\\sin$ chain is\navoided). Narrow Taylor windows handle the two regular zeros in $(-3.37,\n-2)$.\n- $|x| \u003e 3.37$ uses the reflection formula $\\text{lgamma}(x) \u003d \\log\\pi -\n\\log|\\sin(\\pi x)| - \\log|x| - \\text{lgamma}(|x|)$, reusing the\nalready-computed $\\log|x|$.\n\nExhaustive tests pass in all 4 rounding modes.\n\nBenchmark\n\nPer-range throughput and latency, cycles/call (rdtsc, min of 20 trials;\ncore-math `cr_lgammaf` vs this implementation, both `-O3\n-march\u003dnative`):\n\n| range | interval | thru cr → llvm | lat cr → llvm |\n| ------------- | --------------------------------------- |\n--------------- | --------------- |\n| tiny_pos | $[0, 2^{-23}]$ | 22.8 → **16.7** | 43.0 → **36.8** |\n| small_pos | $[2^{-23}, 0.66]$ | 23.0 → **21.1** | 42.8 → **39.7** |\n| m1_pos | $[0.66, 1)$ | 14.7 → **12.8** | 34.4 → **26.2** |\n| m2_pos | $[1, 2)$ | **14.9** → 14.9 | 34.5 → **32.0** |\n| m3_pos | $[2, 3.37)$ | 14.9 → **13.7** | 34.7 → **26.4** |\n| stir_cheb_pos | $[3.37, 73]$ | **19.9** → 20.4 | **38.2** → 41.2 |\n| bern4_pos | $[73, 2000]$ | 25.2 → **18.5** | **39.7** → 39.7 |\n| bern2_pos | $[2000, 2\\!\\times\\!10^7]$ | 26.0 → **25.0** | 44.4 →\n**45.5** |\n| huge_pos | $[2\\!\\times\\!10^7, 4\\!\\times\\!10^{36}]$ | **16.7** → 18.7 |\n**35.5** → 38.7 |\n| tiny_neg | $[-2^{-23}, 0]$ | 23.7 → **16.9** | 43.2 → **36.9** |\n| small_neg | $[-0.66, -2^{-23}]$ | 23.6 → **22.2** | 43.6 → **41.1** |\n| m1_neg | $[-1, -0.66]$ | 29.2 → **21.7** | 67.9 → **41.5** |\n| m2_neg | $[-2, -1]$ | 29.3 → **23.3** | 67.9 → **45.6** |\n| m3_neg | $[-3.37, -2]$ | 28.5 → **24.3** | 67.3 → **50.6** |\n| stir_cheb_neg | $[-73, -3.37]$ | **32.5** → 39.6 | **63.5** → 73.0 |\n| bern4_neg | $[-2000, -73]$ | **35.9** → 37.5 | **68.0** → 71.9 |\n| bern2_neg | $[-10^5, -2000]$ | **28.5** → 35.8 | **61.3** → 69.8 |\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 665bc50f894248b4f676ff23381456683f2338c7\n"
    },
    {
      "commit": "895eeca4c6766a4f9662c64687922e5dfb37aae8",
      "tree": "f3549ef076e1f82bc578b464bed57b9304647337",
      "parents": [
        "513c66814231895610182a3777542de5488a1f52"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Fri Aug 28 16:38:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 16:42:03 2026"
      },
      "message": "[libc][time] Add timer_settime and timer_gettime functions. (#219360)\n\nFollow their documentation at\nhttps://man7.org/linux/man-pages/man2/timer_settime.2.html.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7f1488fd0977645dec45a3ff06eeced79cfd54d6\n"
    },
    {
      "commit": "513c66814231895610182a3777542de5488a1f52",
      "tree": "83d4f19cc9be2a56b96eef2ddb08971b5fc3124a",
      "parents": [
        "92b4b50340b9f879bf684e1b9d575d95d42078ac"
      ],
      "author": {
        "name": "jofrn",
        "email": "jo7frn1@gmail.com",
        "time": "Fri Aug 28 15:27:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 15:31:22 2026"
      },
      "message": "[libc][math] Extend iscanonical macro to _Float16 and float128 (#204981)\n\niscanonical is a C23 type-generic macro, so the f16/f128 variants are\nsurfaced through it rather than as functions in the generated math.h.\nfloat128 is only listed when distinct from long double (LDBL_MANT_DIG !\u003d\n113) to avoid two _Generic associations with compatible types.\n\nStacked below: https://github.com/llvm/llvm-project/pull/205016\n\nCo-authored-by: lntue \u003clntue@google.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5aa651511dcf92376af21c7029e6cd4abef194dd\n"
    },
    {
      "commit": "92b4b50340b9f879bf684e1b9d575d95d42078ac",
      "tree": "212974cc46d340afdd70a6aff9a1762f3ba95749",
      "parents": [
        "3d34df1d9f6bedd2eed3c61ae1555d5479a14844"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Aug 28 01:48:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 01:53:25 2026"
      },
      "message": "[libc] Add stubs for POSIX netdb.h and getaddrinfo (#219337)\n\n* Add the `\u003cnetdb.h\u003e` POSIX header and declare `struct addrinfo` and\n`freeaddrinfo` and `getaddrinfo` methods\nas defined in\nhttps://pubs.opengroup.org/onlinepubs/9799919799/functions/getaddrinfo.html\n;\n* Provide Linux-specific definitions for `EAI_` macro family;\n* Add header/entrypoints to the list of \"experimental\" (i.e. WIP)\nentrypoints on Linux systems;\n* Create the proxy header harness for types / Linux-specific macro.\n* Provide stub implementations - no-op `freeaddrinfo` and `getaddrinfo`\nthat returns `EAI_SYSTEM` and sets errno to `ENOSYS`. Validate this\nbehavior in unit tests.\n\nAssisted by automated tooling, human-reviewed\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 860a07be6da9ffe76625da2ad15e4e4e6ca6532c\n"
    },
    {
      "commit": "3d34df1d9f6bedd2eed3c61ae1555d5479a14844",
      "tree": "f2af2f81676e099dea078331d45b5123bdc0299b",
      "parents": [
        "9903b4044a3ba4e2641413f759baca8807aadc7b"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Fri Aug 28 01:41:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 01:46:42 2026"
      },
      "message": "[libc] Do not suppress -Wvla-cxx-extension for older clang versions. (#219342)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 03095769e812c30fa139551e2fdf3c35ca259e3f\n"
    },
    {
      "commit": "9903b4044a3ba4e2641413f759baca8807aadc7b",
      "tree": "65fe66b7c987d63cba8a08c6475e65905a1f799a",
      "parents": [
        "56e8dc5c0a2e57fdaf4383623a0d0afc6580c2a2"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Fri Aug 28 01:03:27 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 01:08:05 2026"
      },
      "message": "[libc] Fix some warnings. (#219252)\n\nvla warnings in libc/src/unistd/linux/execle.cpp and constexpr warnings\nin libc/src/__support/math/lgammaf16.h\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d1470d17dd7684bb320b53014f38c01b9ca6f218\n"
    },
    {
      "commit": "56e8dc5c0a2e57fdaf4383623a0d0afc6580c2a2",
      "tree": "d9bb472ae92d0fc8f2a7eaf7c8139ef03822c214",
      "parents": [
        "60a9f14da0db7ad852a0a6f1f3510c65cba3910b"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Fri Aug 28 01:02:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 01:07:39 2026"
      },
      "message": "[libc][time] Add struct itimerspec. (#219325)\n\nAccording to\nhttps://man7.org/linux/man-pages/man3/itimerspec.3type.html.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0fe1ca306f2935b974fcf268efc6e9544d9e9590\n"
    },
    {
      "commit": "60a9f14da0db7ad852a0a6f1f3510c65cba3910b",
      "tree": "36c4d949f3fc8c0a27fa3b643d0f97da555a1434",
      "parents": [
        "3775e68d8d54e9fea81d2a2bc8d97584da21d575"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Thu Aug 27 14:51:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 27 14:55:52 2026"
      },
      "message": "[libc] Add self-define for sigev_notify_thread_id field. (#219067)\n\nSupport downstream code that assumes `sigev_notify_thread_id`, even\nthough defined for Linux is a macro that expands to use private `struct\nsigevent` fields.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a8612a9cfc54ccbf22722a7ba4c7ecf3768a6002\n"
    },
    {
      "commit": "3775e68d8d54e9fea81d2a2bc8d97584da21d575",
      "tree": "a80402d7819b55973e0b3fa440f77c73bfe92128",
      "parents": [
        "512bec2df988baec126b30804d125d8a842f90ae"
      ],
      "author": {
        "name": "Alex Strelnikov",
        "email": "strel@google.com",
        "time": "Thu Aug 27 14:31:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 27 14:35:25 2026"
      },
      "message": "[libc] Add stubs for tzset, tzname, timezone, and daylight. (#218979)\n\nThe variables are placed together in one entrypoint, as they will be\nmodified together by `tzset()` (and also `ctime()`, `localtime()`, and\n`mktime()`).\n\nFor `tzname`, this PR updates hdrgen to handle array types for objects.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 03fdf3e62c9c647649168a2edb50b0ebb55cdb47\n"
    },
    {
      "commit": "512bec2df988baec126b30804d125d8a842f90ae",
      "tree": "3adf7bc603dd5f48414de31333981bf1510f1139",
      "parents": [
        "a3aea3ef38d6fe26c3dc93d85fc7c94b254853d7"
      ],
      "author": {
        "name": "Simon Tatham",
        "email": "simon.tatham@arm.com",
        "time": "Thu Aug 27 08:11:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 27 08:15:56 2026"
      },
      "message": "[libc][AArch64] Make mathvec/aarch64/expf.cpp compile big-endian (#218945)\n\nThe macros `V2` and `V4`, defined in `common.h`, are intended to\nconstruct an initializer expression for a vector of 2 or 4 copies of the\nsame value, used in constant data initialization. But they provoke a\ncompiler warning when used in a big-endian build: \"vector initializers\nare not compatible with NEON intrinsics in big endian mode\". Usually\nthis warning is upgraded to an error, and causes the libc compilation to\nfail, or at least the compilation of `mathvec/aarch64/expf.cpp` in the\ntests.\n\nACLE doesn\u0027t specify any `constexpr`-compatible way to initialize a\nvector. The next best thing is to store the lane value just once in the\nexpf data structure, and use a `vdupq_n` intrinsic to splat it across\nmultiple lanes.\n\nIn this patch, I\u0027ve introduced a system of macros that does that in a\nbig-endian build, but keeps the existing strategy little-endian, in case\nit\u0027s faster.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 65dc9011cedef7236feaec832d37813167c19f10\n"
    },
    {
      "commit": "a3aea3ef38d6fe26c3dc93d85fc7c94b254853d7",
      "tree": "e22dfbd612d24b8b079fc5b18a48fbc86f2e45cc",
      "parents": [
        "1320b27dd1e83d2bbeb2fe11de0440bd7b98a960"
      ],
      "author": {
        "name": "Vadim Kotov",
        "email": "11969390+vadimkotov@users.noreply.github.com",
        "time": "Wed Aug 26 20:46:27 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 26 20:50:23 2026"
      },
      "message": "[libc] Fix a typo in getrusage.h header guard. (#219028)\n\nFixes issue #219013\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 32ce6a61b5a58308fd13e27364b863c4db660944\n"
    },
    {
      "commit": "1320b27dd1e83d2bbeb2fe11de0440bd7b98a960",
      "tree": "6ab5030992cc2bde8ab57d7ca1bed55656699238",
      "parents": [
        "7c63374a0b527b18d3ac42945bb1bfb907e099c9"
      ],
      "author": {
        "name": "Michael Hoisie",
        "email": "hoisie@gmail.com",
        "time": "Wed Aug 26 20:40:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 26 20:45:40 2026"
      },
      "message": "[libc] Fix subnormal performance in strtod/strtof (#218991)\n\nThis makes parsing subnormal doubles around 12x faster and subnormal\nfloats around 4x faster.\n\nPreviously, calls like strtod(\"5e-324\") took around ~64us, vs ~11ns for\na normal value like 1e-300. The main cause was that MAX_SHIFT_AMOUNT was\n4, when it should have been 60, as indicated by the code comments. This\nmeans that there were 15x more shifts than intended. Another issue is\nthat the subnormal branch was shifting one bit at a time instead of\ntaking advantage of the chunking already present in shift.\n\nThe behavior of strtod and strtof are unchanged.\n```\n+------------------------------+------------+-----------+---------+\n| Benchmark                    |     Before |     After | Speedup |\n+------------------------------+------------+-----------+---------+\n| BM_StrToDoubleNormalShort    |    59.4 ns |   59.9 ns |    1.0x |\n| BM_StrToDoubleNormalLong     |   973.0 ns |  362.0 ns |    2.7x |\n| BM_StrToDoubleSubnormalShort | 350,611 ns | 28,624 ns |   12.2x |\n| BM_StrToDoubleSubnormalLong  | 152,181 ns | 11,865 ns |   12.8x |\n| BM_StrToFloatNormalShort     |    57.9 ns |   58.2 ns |    1.0x |\n| BM_StrToFloatSubnormalShort  |    48.8 ns |   49.6 ns |    1.0x |\n| BM_StrToFloatSubnormal       |   9,535 ns |  2,173 ns |    4.4x |\n+------------------------------+------------+-----------+---------+\n```\n\nAI tool usage: the root cause of the performance issues were identified\nby AI (Gemini), and AI was used to build initial prototypes of this PR.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ceb65a10e00f2c3b305f2db347528dd043736a7f\n"
    },
    {
      "commit": "7c63374a0b527b18d3ac42945bb1bfb907e099c9",
      "tree": "8254c5ff4aef19a95cd8f33447efec4b1af6a10c",
      "parents": [
        "76077d972b254396e33baac6fe6561aab88d79e8"
      ],
      "author": {
        "name": "Volodymyr Turanskyy",
        "email": "Volodymyr.Turanskyy@arm.com",
        "time": "Wed Aug 26 14:30:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 26 14:35:45 2026"
      },
      "message": "[libc] Enable bare-metal hermetic tests on Arm (#207361)\n\nThis provides missing components required to run LLVM libc hermetic\ntests, for example, with QEMU:\n- Redirect of output, time and exit to semihosting.\n- Linker script.\n- Extra LIBC_MATH_ASSUME_ROUND_NEAREST_ONLY setting for\nLIBC_CONF_MATH_OPTIMIZATIONS to make hardfp tests pass.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5ec690c35dd14d0e9088903b2669e9a8a05199a4\n"
    },
    {
      "commit": "76077d972b254396e33baac6fe6561aab88d79e8",
      "tree": "4ca0a5003b518d7dbd395e26f12f488ac9a4f911",
      "parents": [
        "7816743d02cd10a44927c8c0562dc955f44ebd30"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Wed Aug 26 14:12:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 26 14:15:51 2026"
      },
      "message": "[libc] Slight optimization for small send_n / recv_n buffers (#218551)\n\nSummary:\nAdds a convergent short-circuit condition that lets the compiler\noptimize out this loop better in cases where the size is known. Without\nthis sometimes the compiler could not figure out that a constant size\ndid not need the extra loop and the backedges would remain.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fa1d193efd36888ea87233540e677e51f43eb279\n"
    },
    {
      "commit": "7816743d02cd10a44927c8c0562dc955f44ebd30",
      "tree": "534d2e4d8fb09036bbeeac42e34baac3043a8b76",
      "parents": [
        "0edc5109b70f43ebd99bd4388203b19ad4af88c6"
      ],
      "author": {
        "name": "Victor Campos",
        "email": "victor.campos@arm.com",
        "time": "Wed Aug 26 09:56:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 26 10:01:38 2026"
      },
      "message": "[libc] Disable fenv tests that don\u0027t work in Arm/AArch64 softfp (#217334)\n\nThe fenv tests do not work in Arm and AArch64 without proper floating\npoint environment support.\n\nThis patch adds preprocessor directives that effectively disable the\ntests in this case.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d9739a01045b14e2a9fcaaeb88d3a2bb7c333be1\n"
    },
    {
      "commit": "0edc5109b70f43ebd99bd4388203b19ad4af88c6",
      "tree": "e159b5f62c57ea6cd88b29e3487ff26ccf7ea06c",
      "parents": [
        "02081aac98d8973a06fae4aaeac9d2085e2842b8"
      ],
      "author": {
        "name": "Lewis Crawford",
        "email": "lcrawford@nvidia.com",
        "time": "Wed Aug 26 08:41:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 26 08:46:23 2026"
      },
      "message": "[libc] Only use the x86_64 sqrt inline asm on x86_64 (#218721)\n\nx86_64/sqrt.h is included whenever SSE2 is available, but it #errors out\nunless the target is x86_64. This breaks 32-bit x86 builds which enable\nSSE2 (e.g. -march\u003dpentium4 -mfpmath\u003dsse), so also require x86_64 here\nand let 32-bit x86 use the unconditionally-included generic/sqrt.h\ninstead.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f726b86aefcd0961df571d87b06e344350809f54\n"
    },
    {
      "commit": "02081aac98d8973a06fae4aaeac9d2085e2842b8",
      "tree": "db51f9a4b78be7640864622acb5fa6bd6d06f849",
      "parents": [
        "31e5d294d08926d52bf11ee719ce557fa4f31a3c"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Tue Aug 25 23:15:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 23:21:06 2026"
      },
      "message": "[libc] Add stub for confstr (#218789)\n\nPOSIX defines confstr as returning strings for various macros (see:\nhttps://pubs.opengroup.org/onlinepubs/9799919799/functions/confstr.html)\nThis PR adds an implementation as experimental that always returns that\nthere\u0027s no valid string.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 357d84ae08eeba3ce264aa5e7274ddaa2142fc8e\n"
    },
    {
      "commit": "31e5d294d08926d52bf11ee719ce557fa4f31a3c",
      "tree": "04a5c318819203761df1e7eff0422990daef12db",
      "parents": [
        "99d6bf3d9195f2ddfb93acee1282ffb95a16fc3d"
      ],
      "author": {
        "name": "Vadim Kotov",
        "email": "11969390+vadimkotov@users.noreply.github.com",
        "time": "Tue Aug 25 21:37:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 21:40:33 2026"
      },
      "message": "[libc] Implement getrusage and corresponding unit tests. (#217684)\n\nProvide Linux implementation for POSIX function getrusage from \u003csys/resource.h\u003e.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: cd6ceaf83146e52113e15ddf3392d3a22e96212e\n"
    },
    {
      "commit": "99d6bf3d9195f2ddfb93acee1282ffb95a16fc3d",
      "tree": "08c1873171e8e87c3fb4fb5e1682177f31bffa02",
      "parents": [
        "59ff86ee3771de1eb6c7873fe2e1824ada70cb65"
      ],
      "author": {
        "name": "Alex Strelnikov",
        "email": "strel@google.com",
        "time": "Tue Aug 25 18:29:32 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 18:31:08 2026"
      },
      "message": "[libc] Move strfrom* test cases into each respective unit test. (#218474)\n\nAlmost all of the assertions are type-specific, so the helper does not\nreduce duplication very much and makes it more difficult to see\ncoverage. `strfromf128` will be added soon and would make this worse.\n\n`strfromf` coverage for inf/nan was missing and turns out to not work\ncorrectly. The test case is compiled out for now, and tracked in\n#217708.\n\nAlso removing the test cases for invalid format string that are\nverifying specific behavior of what is UB according to the spec.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d40b0ca481c9e59044bdfd7b95971e39ebc8b2e8\n"
    },
    {
      "commit": "59ff86ee3771de1eb6c7873fe2e1824ada70cb65",
      "tree": "fd582193ccb5844842cd579fbc79da6a5012ecf9",
      "parents": [
        "a12fa566684092b27906e9b300b2b2294df2d63a"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Tue Aug 25 18:25:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 18:30:57 2026"
      },
      "message": "[libc] Add \u003cgrp.h\u003e POSIX header. (#218585)\n\nThis PR adds a POSIX header `\u003cgrp.h\u003e` and a definition for `struct\ngroup` type (plus standard-mandated references to `gid_t` and `size_t`).\n\nIt doesn\u0027t yet declare / implement functions for iterating over group\ndatabase, those would be added in later PRs, basing off the WIP work for\npasswd entries.\n\nAssisted by: Gemini\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 65014cac0c4b821ba7d6d951bce6d4a571286a9e\n"
    },
    {
      "commit": "a12fa566684092b27906e9b300b2b2294df2d63a",
      "tree": "202c58df4a7181cabb540934686013a856b61d2d",
      "parents": [
        "41cee08258d4c7f270a2fcfbff314c830dba304b"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Tue Aug 25 18:25:20 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 18:26:55 2026"
      },
      "message": "[libc] Add sysconf(_SC_CLK_TCK) on Linux. (#218541)\n\n_SC_CLK_TCK on Linux is set to 100 for user-space compatibility. In\nPOSIX, there\u0027s no matching configuration variable, so we can confidently\nreturn a constant.\n\nWhile here, update the `_SC_PAGESIZE` value, since the rest of the\n`_SC_` constants defined in LLVM-libc\u0027s version of `\u003cunistd.h\u003e` attempt\nto be match other libc implementations.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2ba6070fdc84bb3ed75c634bcff1614748c49af6\n"
    },
    {
      "commit": "41cee08258d4c7f270a2fcfbff314c830dba304b",
      "tree": "592dde176fe37d067a3c0da2d66ac592398a3ddb",
      "parents": [
        "d2184ca1f94298e38d671a64a81bca220d60bd3b"
      ],
      "author": {
        "name": "Mikhail R. Gadelha",
        "email": "mikhail@igalia.com",
        "time": "Tue Aug 25 15:22:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 15:26:09 2026"
      },
      "message": "[libc] Port wait4 to the syscall_wrappers ladder (#218699)\n\nwait4Impl.h carried its own SYS_wait4/SYS_waitid fallback while\nsyscall_wrappers/wait4.h assumed SYS_wait4 exists, so the wrapper failed\nto build on architectures that only provide waitid, such as rv32.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e576c77acd89aab91c3d6f519f45501119a92478\n"
    },
    {
      "commit": "d2184ca1f94298e38d671a64a81bca220d60bd3b",
      "tree": "23d1908e9b84635246a20515ee2c48f3004ae474",
      "parents": [
        "3ac51535b285af09807498cf232a5bf90cd692cb"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Tue Aug 25 03:28:27 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 03:31:06 2026"
      },
      "message": "[libc] Add Operator Overloads for Float80 (#214493)\n\nstacked on https://github.com/llvm/llvm-project/pull/214447\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 46c5d02a90f43d42139053c2ccdc46ceb1de59b9\n"
    },
    {
      "commit": "3ac51535b285af09807498cf232a5bf90cd692cb",
      "tree": "039902988c5c20bd8eaa33213e7ff60dedd12e8d",
      "parents": [
        "43b582e162cb555e5325f5ba2ae9c21b6d01819e"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Tue Aug 25 03:28:27 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 03:30:54 2026"
      },
      "message": "[libc] Float80 Emulation in LLVM libc (#214447)\n\nContinued from https://github.com/llvm/llvm-project/pull/211350\n\n---------\n\nCo-authored-by: OverMighty \u003cits.overmighty@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: dd82a72885c82891fce73dbca5af8b6d9db2af34\n"
    },
    {
      "commit": "43b582e162cb555e5325f5ba2ae9c21b6d01819e",
      "tree": "f2c908d29da17b9b20304bc06b2a067d486d9e8f",
      "parents": [
        "fcac2635a73d96cef45813aba89ea687f7e53233"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Mon Aug 24 23:10:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 23:15:50 2026"
      },
      "message": "[libc] Implement clock_getcpuclockid on Linux. (#218531)\n\nImplement `clock_getcpuclockid` POSIX function by mimicking the Linux\nkernel conversion of pid_t to the clockid_t, and validating the result /\npermissions with `clock_getres` syscall. Add the corresponding syscall\nwrapper for the latter.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3439b12763b2411773cd3267e6c3b67d584082e6\n"
    },
    {
      "commit": "fcac2635a73d96cef45813aba89ea687f7e53233",
      "tree": "1e235a8a377ca6c0a6c3c6a1b2c3b072a0124c73",
      "parents": [
        "ba1567d604e168077e943760b17d2d59e5a30d34"
      ],
      "author": {
        "name": "hulxv",
        "email": "hulxxv@gmail.com",
        "time": "Mon Aug 24 18:39:15 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 18:40:52 2026"
      },
      "message": "[libc][builtins] add cmp_helper for compiler-rt soft-float comparisons (#212649)\n\ncmp helpers for compiler-rt floating-point comparison builtins\n\nPart of #197824\n\n---\n\n\u003csub\u003eStack created with \u003ca\nhref\u003d\"https://github.com/github/gh-stack\"\u003eGitHub Stacks CLI\u003c/a\u003e • \u003ca\nhref\u003d\"https://gh.io/stacks-feedback\"\u003eGive Feedback 💬\u003c/a\u003e\u003c/sub\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c5faeb7024c4902926d53ddff5b595d2ea088f4c\n"
    },
    {
      "commit": "ba1567d604e168077e943760b17d2d59e5a30d34",
      "tree": "b3514ec78ef43c6cefa5caa6f788877377936c9c",
      "parents": [
        "4a5f97dbca186338002fa8d42b1d486d89dab578"
      ],
      "author": {
        "name": "Hoàng Minh Thiên",
        "email": "hoangminhthien05022009@gmail.com",
        "time": "Sun Aug 23 15:34:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 23 15:35:48 2026"
      },
      "message": "[libc][math] Integer-only, statically rounded implementation of expf (#209406)\n\nInteger-only, statically rounded implementation of `expf`, using 1\nsingle `Frac64`-based pipeline\n\n# Accuracy\n\nAll unit, smoke, and exhaustive tests against\n`LIBC_NAMESPACE::shared::expf` pass for all rounding modes.\n\n# Code size:\n\n\u003e [!NOTE]\n\u003e The report below are from the`armv8m.main-none-eabi` triple.\n\n## Before the patch\n\n```sh\n$ ls -lB libc/src/math/generic/CMakeFiles/libc.src.math.generic.expf.dir/\ntotal 16\n-rw-r-----@ 1 davidhoang  staff  5520 Jul 24 15:59 expf.cpp.obj\n\n$ llvm-nm --radix\u003dd --print-size --size-sort --reverse-sort libc/src/math/generic/CMakeFiles/libc.src.math.generic.expf.dir/expf.cpp.obj\n00000000 00001560 V _ZN22__llvm_libc_24_0_0_git4math6EXP_M1E\n00000000 00001024 V _ZN22__llvm_libc_24_0_0_git4math6EXP_M2E\n00000000 00000628 W _ZN22__llvm_libc_24_0_0_git4math4expfEf\n00000000 00000012 T expf\n00000000 00000012 T _ZN22__llvm_libc_24_0_0_git4expfEf\n00000000 00000004 V _ZZN22__llvm_libc_24_0_0_git6fputil7generic16fenv_is_round_upEvE1x\n00000000 00000004 V _ZZN22__llvm_libc_24_0_0_git6fputil7generic15quick_get_roundEvE1x\n                  U __aeabi_f2d\n                  U __aeabi_dmul\n                  U __aeabi_dadd\n                  U __aeabi_d2f\n```\n\n## After the patch and with `LIBC_MATH_FAST`\n\n```sh\n$ ls -lB libc/src/math/generic/CMakeFiles/libc.src.math.generic.expf.dir/\ntotal 8\n-rw-r-----@ 1 davidhoang  staff  3244 Aug 18 14:29 expf.cpp.obj\n\n$ llvm-nm --radix\u003dd --print-size --size-sort --reverse-sort libc/src/math/generic/CMakeFiles/libc.src.math.generic.expf.dir/expf.cpp.obj\n00000000 00001916 W _ZN22__llvm_libc_24_0_0_git6shared4math15static_rounding4expfEfi\n00000000 00000014 T expf\n00000000 00000014 T _ZN22__llvm_libc_24_0_0_git4expfEf\n```\n\n# Latency\n\n[bench.zip](https://github.com/user-attachments/files/31171370/bench.zip),\ncontaining `bench.cc` with compilation instruction.\n\n```\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003dLIBC_MATH_FAST is ON\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003dbaseline\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\noverflow [88,100]              51.67 ns/call  (19M ops/sec)\nunderflow [-110,-100]          55.50 ns/call  (18M ops/sec)\nnormal [-10,10]                32.09 ns/call  (31M ops/sec)\nsubnormal-result [-103,-87]    40.14 ns/call  (25M ops/sec)\nnear-underflow [-100,-80]      40.84 ns/call  (24M ops/sec)\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003dstatic_rounding\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\noverflow [88,100]              142.13 ns/call  (7M ops/sec)\nunderflow [-110,-100]          431.57 ns/call  (2M ops/sec)\nnormal [-10,10]                925.12 ns/call  (1M ops/sec)\nsubnormal-result [-103,-87]    965.58 ns/call  (1M ops/sec)\nnear-underflow [-100,-80]      955.55 ns/call  (1M ops/sec)\n```\n\n```\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003dLIBC_MATH_FAST is OFF\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003dbaseline\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\noverflow [88,100]              55.99 ns/call  (18M ops/sec)\nunderflow [-110,-100]          58.80 ns/call  (17M ops/sec)\nnormal [-10,10]                32.70 ns/call  (31M ops/sec)\nsubnormal-result [-103,-87]    40.90 ns/call  (24M ops/sec)\nnear-underflow [-100,-80]      40.46 ns/call  (25M ops/sec)\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003dstatic_rounding\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\noverflow [88,100]              141.72 ns/call  (7M ops/sec)\nunderflow [-110,-100]          432.78 ns/call  (2M ops/sec)\nnormal [-10,10]                935.92 ns/call  (1M ops/sec)\nsubnormal-result [-103,-87]    971.07 ns/call  (1M ops/sec)\nnear-underflow [-100,-80]      966.82 ns/call  (1M ops/sec)\n```\n\nBenchmarking system: MacBook Air M3, macOS 26.5.1\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a454a3cdaf82dea7b6293d29628b70eaec918723\n"
    },
    {
      "commit": "4a5f97dbca186338002fa8d42b1d486d89dab578",
      "tree": "db8c763377bf5ee409499c65ba7cc5a651ef9176",
      "parents": [
        "9da4c296d17f1fdddbef1bafc70a618e6228cc6b"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Sat Aug 22 05:20:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Aug 22 05:28:40 2026"
      },
      "message": "[libc][time] Implement timer_create and timer_delete. (#217920)\n\nImplement timer_create and timer_delete functions according to\nPOSIX.1-2024.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5e56808c2dcafd80270831a0d7d4f9f40dac1f1a\n"
    },
    {
      "commit": "9da4c296d17f1fdddbef1bafc70a618e6228cc6b",
      "tree": "a6d6b4effb09e2edaecbbf2502f97660f5bce13e",
      "parents": [
        "8a07ae70674d9cee876b3df2f6a9422b476d8b36"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Aug 21 20:19:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 20:22:37 2026"
      },
      "message": "[libc] Update NSIG value and usage on Linux. (#217481)\n\n* Increase NSIG to 65 - one greater than the maximal possible value\nallowed for a signal. POSIX doesn\u0027t reference NSIG constant itself, but\nis explicit (after Issue 8 / Austin Group Defect 741) that SIGRTMAX\nshould be strictly less than sysconf(_SC_NSIG) and all SIG* constants\nshould be strictly less than NSIG_MAX\n(https://pubs.opengroup.org/onlinepubs/9799919799/). Note that other\nlibc implementations on Linux (e.g. glibc and musl) also define NSIG as\nthe value greater than SIGRTMAX.\n* Fix a handful of uses/comments to reflect the updated semantics.\n* Add `_NSIG` alias to the same value for compatibility.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d24c23a5f9f7d83e27710b7aa50a9282be4dffcf\n"
    },
    {
      "commit": "8a07ae70674d9cee876b3df2f6a9422b476d8b36",
      "tree": "8d779d4990c01c7ff2a1f81f61899ec1df73607f",
      "parents": [
        "44c97a382c846ff4f266d3b2c3b92966b1d36ce8"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Fri Aug 21 20:16:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 20:22:18 2026"
      },
      "message": "[libc] Implement sysinfo (#217471)\n\nAdds the public sysinfo function and tests. The internal wrapper already\nexisted. I decided to avoid defining `struct sysinfo` since it\u0027s a\nkernel struct defined in the UAPI headers. Can revisit in future if\nnecessary.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 75d5d50255a809604d1149ff377957ed9311ceb3\n"
    },
    {
      "commit": "44c97a382c846ff4f266d3b2c3b92966b1d36ce8",
      "tree": "3f904c6884b480ff098904032b1cb68bca917ddd",
      "parents": [
        "75616d9f4f4ba28f76d712b99cc08b81f9086be3"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Fri Aug 21 17:38:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 17:40:42 2026"
      },
      "message": "[libc] Add pthread_getstack_np extension (#217049)\n\nThe function returns the stack (size and address) of the given thread,\nmuch like a combination of pthread_getattr_np+pthread_attr_getstack.\nHowever, unlike that combination, this function is guaranteed to be\nasync-signal-safe. I\u0027m adding it because guaranteeing\nasync-signal-safety for pthread_getattr_np is tricky because of the\nincreased scope. In particular, it\u0027s hard to avoid memory allocation as\nthat function would need to store CPU affinity for an unknown number of\nCPUs.\n\nI\u0027m not trying to emulate OpenBSD\u0027s\n[pthread_stackseg_np](https://man.openbsd.org/pthread_stackseg_np.3) as\nwe discussed previously, because the function has an unusual interface\n(it returns the stack through a stack_t, but it has ss_sp point to the\ntop of the stack instead of the base). It also does not claim to be\nasync-signal-safe. With a view towards a standardization attempt, I\ntried to design something that fits in with the existing APIs. Note that\nthis does not mean that the design is final, and I am open to changing\nthe interface (before or after submitting this patch).\n\nThe trickiest part of this patch is what to do with the main thread,\nwhich has a kernel-allocated dynamically-growing stack. Glibc\u0027s\npthread_getattr_np computes this values by parsing /proc/$PID/maps,\nwhich is another reason this function is not async-signal-safe (and it\nalso requires /proc to be mounted). While one can parse /proc in an\nasync-signal-safe way, doing that is not trivial, and it still requires\n/proc.\n\nOther options I\u0027ve considered is using `getrlimit(RLIMIT_STACK`\n(captured either at application startup or at the time of the\npthread_getstack_np call), but I rejected that because that does not\nreturn an accurate value -- it can both under- (if the limit is\nincreased) or over-estimate (if the limit decreases or something is\nmapped in the way of the expanding stack) the size of the stack.\n\nThis is why I came to believe that the most correct option is to return\n\"I don\u0027t know\" -- a special constant (PTHREAD_STACK_DYNAMIC_NP)\nindicating that the stack size may change (another \"quirk\" of the main\nthread).\n\nI calculate the top of the stack by taking the value of AT_EXECFN\n(normally the first thing placed on the stack by the kernel). I do this\nin order to best match the behavior of the function for non-main thread\n(where the returned region typically includes other objects stored on\nthe \"stack\" (e.g. the TLS data).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f5d4c79964c24d4a4ba9a196ee0a518584b961f2\n"
    },
    {
      "commit": "75616d9f4f4ba28f76d712b99cc08b81f9086be3",
      "tree": "614739e7f27ae65a5ab823a14e8739d5bf0ce493",
      "parents": [
        "8bc213fe588ee71229bf2f2b0a30bedf98837673"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Fri Aug 21 15:48:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 15:50:40 2026"
      },
      "message": "[libc][math] Add some explicit macro checks to round and roundf. (#217822)\n\nThis will allow users to use them without going through our cmake build\nchecks or forcing the flag `__LIBC_USE_BUILTIN_ROUND`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e7635cccfae4d34d861d76ac404127a24d7eb768\n"
    },
    {
      "commit": "8bc213fe588ee71229bf2f2b0a30bedf98837673",
      "tree": "867a47741160505351eaf9506ba95d015cb042a0",
      "parents": [
        "11d7f2de2dafe9669c759045165446c30f7413ca"
      ],
      "author": {
        "name": "Lewis Crawford",
        "email": "lcrawford@nvidia.com",
        "time": "Fri Aug 21 15:06:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 15:11:04 2026"
      },
      "message": "[libc] Avoid add_with_carry name shadowing issue (#215815)\n\nUse fully namespace-qualified calls to the scalar versions of\n`add_with_carry` in `big_int.h` to avoid build errors due to\nfunction-name shadowing issues on MSVC when it is configured\nwithout using 2-phase lookup for templates.\n\nThis disambiguates the 2 templated functions:\n  - `add_with_carry(dst, rhs)` in the `multiword` namespace\n- `add_with_carry(a, b, carry_in, carry_out)` in the outer libc\nnamespace\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: cf4595862a143f47046207e95f0d3b9fed8ac8d2\n"
    },
    {
      "commit": "11d7f2de2dafe9669c759045165446c30f7413ca",
      "tree": "e285f0a20fc11183e41f43905b89c1b19a52e7c1",
      "parents": [
        "5d1a7baa8716f0c0df4437388ba3a679e44e5f31"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Fri Aug 21 10:55:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 11:00:43 2026"
      },
      "message": "[libc] Make classification functions use the emulated float128 type (#217134)\n\n* `isnanf128`\n* `issignalingf128`\n*  `iscanonicalf128`\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fe91cfd02084351b606f6e701f5ecae1f075cd7a\n"
    },
    {
      "commit": "5d1a7baa8716f0c0df4437388ba3a679e44e5f31",
      "tree": "d4da3e54859ffbc4dea117cd564e74ebbfa8869d",
      "parents": [
        "8bbe89bde10b5eb59c4071079d6e3086c9b74415"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Fri Aug 21 10:10:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 10:15:54 2026"
      },
      "message": "[libc] Modify `truncf128` to use emulated Float128 type (#216560)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 23ccb5e5132816de772c314c9eaf707579e6e62c\n"
    },
    {
      "commit": "8bbe89bde10b5eb59c4071079d6e3086c9b74415",
      "tree": "2d6a94e87271bb62e0f1ee10453a6d6fb5e38ee2",
      "parents": [
        "204c00627a1bb88bb2b990b933f08fcd20a938c6"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Thu Aug 20 22:29:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 20 22:30:50 2026"
      },
      "message": "[libc] Modify `rint` functions to use emulated Float128 type (#217070)\n\n- `rintf128`\n- `lrintf128`\n- `llrintf128`\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 770915c58a39977651fcb57d299cf66a46c9b624\n"
    },
    {
      "commit": "204c00627a1bb88bb2b990b933f08fcd20a938c6",
      "tree": "a074e7589d49337af8223bd61c834c3d74c83d40",
      "parents": [
        "1a7958dda546c05a57c88a944f7b4841b03aff1a"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Thu Aug 20 21:41:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 20 21:45:53 2026"
      },
      "message": "[libc] Add struct sigevent definition and proxy header. (#217699)\n\nDefinition follows the standard POSIX layout from:\nhttps://man7.org/linux/man-pages/man3/sigevent.3type.html\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 350f999f946492942baad0256e199c240b2ec23d\n"
    },
    {
      "commit": "1a7958dda546c05a57c88a944f7b4841b03aff1a",
      "tree": "07de34688d10a547f50c258ee0d69ef1aef28ed0",
      "parents": [
        "cb8ce7079519730b9c1b54bbd9d44f64a85e5767"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Thu Aug 20 15:54:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 20 16:00:39 2026"
      },
      "message": "[libc] Fix add_sub for Emulated Types (#217344)\n\nCo-authored-by: OverMighty \u003cits.overmighty@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 674c6f4ed07d33b135716d37bf5694985063818a\n"
    },
    {
      "commit": "cb8ce7079519730b9c1b54bbd9d44f64a85e5767",
      "tree": "31648800800d3a2ba3998cd18273563f5365e275",
      "parents": [
        "cd78f086685109937ad0f16ea13148fd4feec20b"
      ],
      "author": {
        "name": "Bhavesh M",
        "email": "85327930+beamandala@users.noreply.github.com",
        "time": "Thu Aug 20 03:50:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 20 03:55:11 2026"
      },
      "message": "[libc] Implement `execle` (#217213)\n\nThis implements `execle` and also creates a syscall wrapper for `execve`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9344320c4787aeedeb55e63b4c33b28f49ceff10\n"
    },
    {
      "commit": "cd78f086685109937ad0f16ea13148fd4feec20b",
      "tree": "6ebf791a7a5f65ce3a0a6c5b0efc1387d8e5ee30",
      "parents": [
        "4bb048b18f4c930e906820ab82b13dc3a7444ef8"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Wed Aug 19 22:35:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 22:41:01 2026"
      },
      "message": "[libc] Minor fixes/additions to signal.h header. (#217469)\n\n* Fix a typo for si_overrun field inside siginfo_t struct (it is\naccessible via `si_overrun` macro, and names should match)\n* Add `sig_t` type which is used in BSD for signal handler function.\nIt\u0027s identical to GNU\u0027s `sighandler_t`, and glibc provides both. Clarify\nthis in their YAML entries.\n* Add more Linux-specific `SI_*` values.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f39d58144cb1dd40c4135af6ab2ff17ffa3d902b\n"
    },
    {
      "commit": "4bb048b18f4c930e906820ab82b13dc3a7444ef8",
      "tree": "2e702d85ea15b98dc959c8f63183c8cccb9adf89",
      "parents": [
        "3ab5e9ae681e018df845b6d9bcc1e432b1a99146"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Wed Aug 19 16:02:34 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 16:06:03 2026"
      },
      "message": "[libc] Modify `roundevenf128` to use emulated Float128 type (#216568)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 03e28c46ec5668be538389d558b825cf49193f58\n"
    },
    {
      "commit": "3ab5e9ae681e018df845b6d9bcc1e432b1a99146",
      "tree": "a2e3d321639e87523c44582b2b6aabafefb7eb55",
      "parents": [
        "ff9c3314507fdf8fb47947012ffdbcf09ed8587f"
      ],
      "author": {
        "name": "Victor Campos",
        "email": "victor.campos@arm.com",
        "time": "Wed Aug 19 14:44:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 14:45:59 2026"
      },
      "message": "[libc] Gate long double assertions that fail in long double \u003d float64 targets (#217346)\n\nSome assertions that involve long doubles fail if the type is\nimplemented with float64, such as in Arm 32 bits targets.\n\nThis patch gates these failing assertions under the proper macro.\n\nAdditionally, it fixes some uses of this same macro that were using an\nincorrect spelling.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4ca21f7c5652646e313ce4967efbca83fcdbb1f7\n"
    },
    {
      "commit": "ff9c3314507fdf8fb47947012ffdbcf09ed8587f",
      "tree": "e9ee80ae5bc43b4c8ac1328e053cea4d644e8f50",
      "parents": [
        "56d620104d1a84db8f2dc2a30a69d482d3cc2b49"
      ],
      "author": {
        "name": "Alex Strelnikov",
        "email": "strel@google.com",
        "time": "Wed Aug 19 14:07:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 14:11:11 2026"
      },
      "message": "[libc] Add support for wchar_t in StringConverter. (#211867)\n\nThis takes care of a TODO in LibcTest.cpp from #203355, allowing\n`wstring_view` to be printed as UTF-8 in tests. It also enables updates\nto __support/printf_core/ for implementing `swprintf`.\n\nThe change to `StringConverter` is enabled by extending the\n`CharacterConverter` API when `wchar_t` is detected as being UTF-32.\n\nThe `StringConverter` unit test is updated so it no longer compiles to a\nno-op on Windows.\n\nNote: this change does not respect `-fwide-exec-charset`, which Clang still\ndoes not support but GCC does. This is the existing libc behavior.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e84b8cf804ea41c7ed1c1c64c519b6355abafa31\n"
    },
    {
      "commit": "56d620104d1a84db8f2dc2a30a69d482d3cc2b49",
      "tree": "772fd0ac2b77f373dfbcb4c911b30b10dd6f6c64",
      "parents": [
        "ddb5348a1180c8d5f814aa745d62a0e61528d494"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Wed Aug 19 13:15:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 13:17:13 2026"
      },
      "message": "[libc] Modify `fmaxf128` and `fminf128` to use emulated Float128 type  (#216575)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a2a9b2a67932bfa6698cab9b83a84d26b75e7521\n"
    },
    {
      "commit": "ddb5348a1180c8d5f814aa745d62a0e61528d494",
      "tree": "fba367b9daae30e639a12eaf339963ea327fc70b",
      "parents": [
        "d781cff150d90be8e8bb976a9656d37216519984"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Wed Aug 19 12:29:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 12:35:53 2026"
      },
      "message": "[libc] Make `lroundf128` and `llroundf128` use the emulated float128 type (#216829)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ff5719407e21fee422ec93f6d114a852d7d82195\n"
    },
    {
      "commit": "d781cff150d90be8e8bb976a9656d37216519984",
      "tree": "b9df3e220550f336829f6348a2c409abd7a28a18",
      "parents": [
        "22f08119b6ed279d7e729e0102018ed010344b0e"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Wed Aug 19 11:47:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 11:50:35 2026"
      },
      "message": "[libc] Modify nearbyintf128 to use emulated Float128 type  (#217025)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4cd3535275c862f215865f76c9b8a700c6755072\n"
    },
    {
      "commit": "22f08119b6ed279d7e729e0102018ed010344b0e",
      "tree": "1a16cea41725c01696caaa1206c2b50a87f5a018",
      "parents": [
        "c42e60b9c774c765345e7fed075f1d817646819e"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Wed Aug 19 10:20:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 10:26:13 2026"
      },
      "message": "[libc] Modify `roundf128` to use emulated Float128 type (#216563)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1f6b652189293eaaec82546b225b2bd966bf1e13\n"
    },
    {
      "commit": "c42e60b9c774c765345e7fed075f1d817646819e",
      "tree": "6b7da24be7545d0979b803f33972ed243b81ac01",
      "parents": [
        "71dbc831c7a633670073d2f5305ff1bc898fec15"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Wed Aug 19 09:44:21 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 09:47:15 2026"
      },
      "message": "[libc] Modify `atan2f128` to use emulated Float128 type  (#216508)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3c6befe3b254f727f8342e9ee1d8351f024a3c2f\n"
    },
    {
      "commit": "71dbc831c7a633670073d2f5305ff1bc898fec15",
      "tree": "8037a35d895608aaaa4e770fdddfa1ae293e1753",
      "parents": [
        "227f8854a90489274000222af1cec3f283b611e6"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Wed Aug 19 08:01:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 08:06:17 2026"
      },
      "message": "[libc] Convert test framework libraries to standard target infrastructure (#216931)\n\nThis makes the test libraries use the same patterns as the regular libc\ncode. This includes using dot-separated names of libraries and explicit\ndependency tracking (although this patch does not make use that yet).\n\nSince this changes the name of the libraries anyway, I took the\nopportunity to rename some of them: libraries containing only a single\nfile now have the same name as that file.\n\nThis also resolves the dependency issues in hermetic tests, as\neverything now gets packaged into the same .a library (the library\nitself could also be removed, but I\u0027m saving that for another patch).\n\nOther changes include:\n- moving the C test framework to a separate library, to avoid it getting\npulled in (and causing undefined references) when not used\n- moving sched_test\u0027s static_assert into a TEST, as the test framework\nrequires having at least one test. The trick with overriding main() no\nlonger works because overlay tests no longer create a .a file for the\ntest frameworks.\n- for the same reason, I have removed the main function from\ntestfilter_test.cpp\n- for the same reason, avoid compiling LibcDeathTestExecutors.cpp when\n  subprocess tests are not enabled\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c318bb43f74dd6065a17b5f3c1644324bc980176\n"
    },
    {
      "commit": "227f8854a90489274000222af1cec3f283b611e6",
      "tree": "bfc7780b07d02fa6370ffe01798c6b297ed6494f",
      "parents": [
        "af42b127dbe61fb7ee0039f6dc2e853a134ce28a"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Wed Aug 19 07:50:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 07:56:28 2026"
      },
      "message": "[libc] Refactor thread.h (#216943)\n\n- extract ThreadAttributes and related types into a separate header.\nThis is to allow it to be referenced from other places (like the thread\ncontrol block structure I am planning to introduce) without pulling in\nthe higher level dependencies and without circular includes.\n- move `self` into the internal namespace and provide a\n`current_thread()` accessor, preparing the code to store the thread\npointer inside the thread control block.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b14d1e1e1a3829506b45f5b992a3492e1d542389\n"
    },
    {
      "commit": "af42b127dbe61fb7ee0039f6dc2e853a134ce28a",
      "tree": "b22e66e001b5884c261f5bcdd1fa52b83be56142",
      "parents": [
        "04dab5c03785d2794f8789e71cccbadd3bcff601"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Wed Aug 19 07:13:59 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 07:15:45 2026"
      },
      "message": "[libc] Assorted improvements to FixedVector (#217010)\n\n- Assert that the stored type is trivially copyable (as other types are\nbroken in various ways)\n- remove UB in dereferencing the past-the-end array element\n- remove the non-const_iterator constructor (as it is subsumed by the\nconst_iterator version)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8dbdb74a0b175b08f7b77a4a7ddf1c0b68df38ad\n"
    },
    {
      "commit": "04dab5c03785d2794f8789e71cccbadd3bcff601",
      "tree": "29a116f3bf948409cdb870917cd301c7e4766cf5",
      "parents": [
        "4cd0847bb093ecf30ef7f80814d7e83376b343d8"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Wed Aug 19 06:14:20 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 06:15:41 2026"
      },
      "message": "[libc] Make sqrtf128 use emulated float128 (#216500)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a6e40de862d6b0fa2dbe5964381826ac11473df8\n"
    },
    {
      "commit": "4cd0847bb093ecf30ef7f80814d7e83376b343d8",
      "tree": "d455096def4bb1ae6f011c1f33ec582e563e7d23",
      "parents": [
        "4685441451733e8faf4921f5e200301cb082a9ba"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Tue Aug 18 21:32:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 18 21:35:27 2026"
      },
      "message": "[libc] Implement system function (#211672)\n\nThis Pr implements the system function, as well as adding syscall\nwrappers for several syscalls that system needs.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8c28e298827d1777009f4599ae161abef9491f34\n"
    },
    {
      "commit": "4685441451733e8faf4921f5e200301cb082a9ba",
      "tree": "d3b6e6746826ec6ee39c594b179ff25f648026cd",
      "parents": [
        "2abd2cf34181d8371b1ac0be7d719aae38bcad2e"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Tue Aug 18 19:37:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 18 19:41:07 2026"
      },
      "message": "[libc] Implement freopen (#207837)\n\nAdd implementation of freopen. This involved some refactoring of the\ninternal FILE. Currently it\u0027s only implemented for linux, despite being\na C standard function. This is because POSIX adds several features and\nties the implementation tightly to the concept of file descriptors.\nOther platforms will need separate implementations.\n\nNeeded for #191075\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e297b4f88dceed8e7457890ab72b518c63ab55cb\n"
    },
    {
      "commit": "2abd2cf34181d8371b1ac0be7d719aae38bcad2e",
      "tree": "7c1fb64834212465c5c68112e4371bd3e26c73cb",
      "parents": [
        "0b6fe68505d2824520202df9d71ce628d7c2de04"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Tue Aug 18 18:35:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 18 18:41:11 2026"
      },
      "message": "[libc] Create syslog.h header and add several symbolic constants. (#216776)\n\nAdd the `\u003csyslog.h\u003e` public header. For now, just define the constants\nused for options/priority for `openlog` and for severity in `syslog`\nfunctions, but don\u0027t implement the functions yet (some client code uses\nthese constants in a different, application-specific context, without\nrelying on OS-level syslog facilities).\n\nSince the values of all `LOG_` macros are identical across POSIX\nsystems, we can define them in a shared llvm-libc-macros/syslog-macros.h\nfile instead of using OS-specific ones.\n\nAssisted by Gemini, human-reviewed.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3d6b79fc05bb07b05587c6ead0e7bb41512c6213\n"
    },
    {
      "commit": "0b6fe68505d2824520202df9d71ce628d7c2de04",
      "tree": "85ad2bc266ab7dd25d98e0c71d9ca0aa99ac172f",
      "parents": [
        "2e4a7a46adf88f4187cb4d1b0b95726d3918663d"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Tue Aug 18 15:39:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 18 15:46:02 2026"
      },
      "message": "[libc] Implement sys/sysmacros.h Linux header. (#216865)\n\n`\u003csys/sysmacros.h\u003e` is a Linux header with routines for managing device\nnumber (construct device ID from major/minor IDs) - and contains\nfunctions `major`, `minor`, and `makedev`.\n\nImplement them as simple macro that redirect to the llvm-libc\nentrypoints with the same names. This would allow us to have more type\nsafety (and explicitly specify argument/return types in our entrypoint\nimplementation), and opens the door for defining those macro in a\ndifferent way on other systems, wrapping the invocation of our\nimplementation with type conversions, if needed (e.g. FreeBSD versions\nof these functions use \"int\" instead of \"unsigned int\" and are supposed\nto be provided by a different header - `\u003csys/types.h\u003e`).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e93e7a4f544ce176d8304bc323bc65327733c278\n"
    },
    {
      "commit": "2e4a7a46adf88f4187cb4d1b0b95726d3918663d",
      "tree": "014359f20fa0c3855bd020d931d2ca8e4606c662",
      "parents": [
        "9e423896832db74ac9ca6b583229e1bcbf0bfaa3"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Tue Aug 18 08:15:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 18 08:20:49 2026"
      },
      "message": "[libc] Modify `floorf128` to use emulated Float128 type (#216552)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: de7cacd2406aa805a463f26563b4f55811842ba0\n"
    },
    {
      "commit": "9e423896832db74ac9ca6b583229e1bcbf0bfaa3",
      "tree": "32ff6085693fe8d45c930fe3791fcbf4dba9f6e4",
      "parents": [
        "588fa5108afdd1bc85e5f8ba30191b4df4a7ece4"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Aug 18 06:25:34 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 18 06:30:01 2026"
      },
      "message": "[libc] Drop .unit/.hermetic suffix from test support libraries (#216689)\n\nThis is not necessary now that we only build one kind of a test in a\ngiven build configuration. This also makes it easier to convert to\nsomething closer to how other libc libraries work.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d37b02cbefc01d2fe5149e148c8edfbd72d9ed08\n"
    },
    {
      "commit": "588fa5108afdd1bc85e5f8ba30191b4df4a7ece4",
      "tree": "39767fea0542191c04ceab9065a10ec052ac197a",
      "parents": [
        "462ac43038bb0677f0cb2751cc19a88a2998761d"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Mon Aug 17 23:41:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 17 23:46:02 2026"
      },
      "message": "Reland \"[libc] Add realpath to linux entrypoints\" (#212925) (#216869)\n\nThis relands https://github.com/llvm/llvm-project/pull/212925 by\nreverting commit efe96c53557041be11e7fb4d43e6448cc09f6062.\n\nCI failures w/ `libc-riscv32-qemu-yocto-fullbuild-dbg` should have been\nfixed by https://github.com/llvm/llvm-project/pull/216828.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 403a6b5b496f1780b572254842eb90d439d24417\n"
    },
    {
      "commit": "462ac43038bb0677f0cb2751cc19a88a2998761d",
      "tree": "4f5233cb5d1ecdee76ee004bdfd7265a1836f2dd",
      "parents": [
        "20fd93c3ba54634c545ae2045fb207e7e58bb648"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Mon Aug 17 22:36:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 17 22:41:18 2026"
      },
      "message": "[libc][realpath][test] Allow test directory to contain symlinks (#216828)\n\nCI for https://github.com/llvm/llvm-project/pull/212925 failed because\nthe `libc-riscv32-qemu-yocto-fullbuild-dbg` buildbot on Yocto uses a\nsymlink for `/tmp` to `/var/volatile/tmp`\n([source](https://github.com/openembedded/openembedded-core/blob/07a342aa80c7349dd014f743a695a5e006add8df/meta/recipes-core/initscripts/initscripts-1.0/volatiles#L32)).\nIt\u0027s fair enough that a system may define `/tmp` as a symlink, so this\nPR updates the realpath tests to call `realpath` on the test directory\nto resolve symlinks.\n\nThis PR also updates the test to use `libc_make_test_file_path` instead\nof `/tmp`. Previously, the tests used `/tmp` because\n`libc_make_test_file_path` might have symlinks in it. Since we fully\nresolve symlinks now, we can use the more standard approach now.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8baae02766dfe3d9024145b385b55000bf333faa\n"
    },
    {
      "commit": "20fd93c3ba54634c545ae2045fb207e7e58bb648",
      "tree": "974cc5762f1d5d7b784f7f2a84665ff687c7f13f",
      "parents": [
        "4b891146a648d72230109ba2625c8d9adea6f346"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Mon Aug 17 18:22:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 17 18:26:34 2026"
      },
      "message": "[libc] Add a couple of constants to elf.h. (#216784)\n\n* STT_GNU_IFUNC is a GNU-specific ELF symbol type used to implement\nifunc\u0027s, which is often used in parser code.\n* Add EM_PPC64 denoting 64-bit PowerPC architecture (in addition to\ni386/x86, ARM, and RISC types we already support).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fbfff87687892a1c9e183b466f88f0a3e7106708\n"
    },
    {
      "commit": "4b891146a648d72230109ba2625c8d9adea6f346",
      "tree": "9ed9636b3c56fa12d6dcb08e747b0f2c0619bb18",
      "parents": [
        "45049d32c8a25dcd26ba9cb3ac5c4e8dcd633a02"
      ],
      "author": {
        "name": "Simon Tatham",
        "email": "simon.tatham@arm.com",
        "time": "Mon Aug 17 12:06:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 17 12:10:37 2026"
      },
      "message": "[libc][test] Condition out tests that can\u0027t work on bare metal (#215830)\n\nIn bare-metal builds of libc, the `EXPECT_DEATH` macro may not be\ndefined. Also, `signal-macros.h` may not define the values needed for\nthe rest of `\u003csignal.h\u003e` to work. So tests that rely on either of those\nthings will fail to compile.\n\nI\u0027ve conditioned out the `EXPECT_DEATH` tests completely if\n`EXPECT_DEATH` isn\u0027t defined. There\u0027s inherently no reliable way to\ndefine it: you can\u0027t rely on finding out about segmentation faults by a\nsignal, because accessing memory outside valid C objects might silently\nsucceed (valid unused memory), or generate a CPU fault that no kernel\ntraps for you, or overwrite something important outside your program.\n\nThe check for signals in `FPExceptMatcher.cpp` can be more lenient, and\njust condition out the signal-handling code, leaving the test of\ncumulative FP exception flags in place, so that the checker simply\nreturns \"no signal was caught\" unconditionally.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e8802ef063617cd473cb0b47dd25b2fccfd2eea8\n"
    },
    {
      "commit": "45049d32c8a25dcd26ba9cb3ac5c4e8dcd633a02",
      "tree": "04572d4b33a0f3ab0701aef755056cf2eaac3d45",
      "parents": [
        "c8b45b3293164d68d48663dc19dd1424980413b6"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Mon Aug 17 09:59:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 17 10:02:06 2026"
      },
      "message": "[libc] Fix {asc,c,gm,mk}time(_r)? tests and spurios snprintf call (#216423)\n\ntime_test_utils was depending on a non-existent library, which caused\nthese tests to be auto-skipped. Fixing that exposed the fact that some\nof the tests don\u0027t build (in hermetic mode) due to a snprintf\ndependency concealed behind a __builtin_snprintf in asctime.\n\nThis patch addresses the existing TODO by moving\nasctime to asctime_utils.h (avoiding a dependency loop)\nand implementing it via strftime_main.\n\nAssisted by Gemini.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 746a3438ce0c68f508b320433e665b7178f541ca\n"
    },
    {
      "commit": "c8b45b3293164d68d48663dc19dd1424980413b6",
      "tree": "eea019abab08d7d35cddd3c1ab31a85c5325034e",
      "parents": [
        "1b382331edf7edd7eb427b70d14ebe2fee3cbc00"
      ],
      "author": {
        "name": "Lewis Crawford",
        "email": "lcrawford@nvidia.com",
        "time": "Mon Aug 17 09:21:59 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 17 09:25:22 2026"
      },
      "message": "[libc] Fix FreeBSD build for 53-bit-rounded fp80s (#216332)\n\nFix build issues on FreeBSD, which reports `LDBL_MANT_DIG \u003d\u003d 53` for\n`long double` on some targets despite using fp80 as the underlying type.\nThis is because it stores the value as an fp80, but configures the FPU\nto round the mantissa to 53-bits. However, this causes some parts of\nlibc to misidentify the fp80 as an fp64 since both use a 53-bit\nmantissa. This led to build issues on FreeBSD when trying to bitcast the\n12-byte `FPBits\u003clong double\u003e` to an 8-byte fp64 value.\n\nThis is fixed by checking both the mantissa size and the exponent range\nwhen determining the correct format for `long double`. Also, move the\ncheck for this to a single place in `types.h`, rather than re-checking\nthe `LDBL_MANT_DIG` and `LDBL_MAX_EXP` values in `FPBits.h`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 988e509161d498930869e639698d948827aeadbd\n"
    },
    {
      "commit": "1b382331edf7edd7eb427b70d14ebe2fee3cbc00",
      "tree": "122a7fb1654f834a0e846b6626b7761d722ac651",
      "parents": [
        "bf239044ce6c264393efbc33f73d01593c2c8f5a"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Sun Aug 16 16:51:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 16 16:55:24 2026"
      },
      "message": "[libc] Remove (weak) __cxa_thread_finalize (#216081)\n\nUnlike __cxa_thread_atexit(_impl), this function is not a part of the\nABI as the process of calling the thread exit callbacks is an\nimplementation detail. Additionally, the weak definition gets in the way\nof refactoring the thread code as the linker will not extract an object\nfrom the archive if the dependency is already satisfied by a weak\ndefinition.\n\nInstead of a weak definition, I use a preprocessor macro to determine\nwhether we need to call the thread cleanup function (i.e., whether the\ntarget supports threads).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 30a31c467683a6c635d143848051160e9c8330be\n"
    },
    {
      "commit": "bf239044ce6c264393efbc33f73d01593c2c8f5a",
      "tree": "2bab6e59f6a0b831a96659e74dbdd8e8b47600fe",
      "parents": [
        "b690d5912d2ec0339d53143125368b639bd5e6d0"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Sat Aug 15 18:17:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Aug 15 18:20:45 2026"
      },
      "message": "[libc] Make ceilf128 use the emulated float128 type (#207735)\n\nThis tests the emulated float128 type using ceilf128\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e5174fe683e882f6bbd2ef023c9c9e293b273a98\n"
    },
    {
      "commit": "b690d5912d2ec0339d53143125368b639bd5e6d0",
      "tree": "57090a3271a07b512d98af441bcbbfc0ad184c5d",
      "parents": [
        "84f5c61dac87042f73ef05dfb801ffe5bda79123"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Fri Aug 14 22:35:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 14 22:36:58 2026"
      },
      "message": "[libc] Fix link errors in some hermetic tests (#216406)\n\nThere is a dependency loop between the __libc__ and the\nLibcHermeticTestSupport targets. If a compiler introduces a call to\n`extern \"C\" memcpy` to some __libc__ function, then we need to link\nLibcHermeticTestSupport to satisfy that. But the hermetic implementation\nsimply forwards to LIBC_NAMESPACE::memcpy, which is in the __libc__\ntarget.\n\nLinking the libc library twice is a simple though unsatisfying solution\nto this problem. I\u0027m working on a more principled fix, but that is going\nto take a while longer, so I\u0027m adding this in the mean time.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9921c41ae1655fa7ff6bf36609c6a7edc151d435\n"
    },
    {
      "commit": "84f5c61dac87042f73ef05dfb801ffe5bda79123",
      "tree": "f35a0794b416aa534f95f10912f3a5ec8c53f0d3",
      "parents": [
        "4f6b6a4d99ecdc9d54758f21bdc4f9ae1a550044"
      ],
      "author": {
        "name": "Schrodinger ZHU Yifan",
        "email": "yfzhu@google.com",
        "time": "Fri Aug 14 16:40:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 14 16:45:44 2026"
      },
      "message": "[libc] Implement TLSF FreeStore with Trie Overflow Bin (#203415)\n\nThis PR replaces the old single-Trie allocator in LLVM libc with a\nTwo-Level Segregated Fit (TLSF) allocator, optimized to use FreeTrie\nonly for the overflow bin when user opt-in.\n\nTLSF generally provides constant overhead on fast paths. However, notice\nthat during the fallback routine, TLSF will need to do a linear search,\nwhich, in the worst case, can lead to O(`#alloc`) overhead. Hence, for\nlarge allocations, keeping a freetrie can avoid fragmentation and\naccidental large latency.\n\nTo make a heap fully configurable, we may also allow the using freetrie\nfor inner nodes of the TLSF table; which give even stricter\n\"constant-time\" allocation for hard reatime with larger overhead.\nHowever, I currently don\u0027t have enough benchmark data in hands; so I\nseparate out those changes to a separate patch.\n\n~~Needs to be rebased after\nhttps://github.com/llvm/llvm-project/pull/203351 landed.~~\n\nAssisted-by: Gemini powered automation tools (human-in-the-loop)\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: afd28e2bfdb941618ff7827aae3a283a4d0d9f1f\n"
    },
    {
      "commit": "4f6b6a4d99ecdc9d54758f21bdc4f9ae1a550044",
      "tree": "da7788d54be372770f4d9a6363f96a5cf3a43a0e",
      "parents": [
        "95e5ea68449570f602221646326e86a981644c84"
      ],
      "author": {
        "name": "original-cooling-space",
        "email": "zhangweize9@gmail.com",
        "time": "Fri Aug 14 16:07:15 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 14 16:10:46 2026"
      },
      "message": "[libc][math] Fix -Wc++23-extensions warnings in erfcf16 and erff16. (#215613)\n\nChange the original logic which directly returns a fixed value to use\n`fputil::cast` for the calculation.\n\n## Problem Description\nI encountered this issue while debugging the `llvm-mc` module. When I\nwas running `ninja -C build llvm-mc`, During compilation, the terminal\ndisplayed the warning `-Wc++23-extensions warnings`.\n\n## Solution\nI replaced the original code, which looked something like this, with the\nfollowing method:\n\n```h\n// before\nreturn 0.0f16;\n\n// The original approach\nreturn fputil::cast\u003cfloat16\u003e(0.0f);\n\n// Intue suggested\nFPBits::zero().get_val();\n```\n\nThe conditional expression uses `constexpr float16` to store the result\nin a variable for processing.\n\n## Test case\nI added two additional tests to the two files.\n\n- `‎libc/src/__support/math/erfcf16.h‎`\n- `‎libc/src/__support/math/erff16.h‎`\n\n0ne is for test cases greater than 2.0 and another to test cases less\nthan 1.0. This test also added test cases with negative values. I ran\nthe tests using `ninja -C build llvm-lit`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1cb219f75aaeb7c2b98d85ec87d92d3c602b7a78\n"
    },
    {
      "commit": "95e5ea68449570f602221646326e86a981644c84",
      "tree": "d578224cd9f0c8eff12616958b867a9971440277",
      "parents": [
        "23df4aae2e941572676d9928c51d124e12aa1261"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Aug 14 01:11:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 14 01:15:15 2026"
      },
      "message": "[libc][Semaphore] Fix tests - remove APPEND_LIBC_TEST macro uses. (#216219)\n\nAPPEND_LIBC_TEST was removed in abeb492322c12860a4533426208d6d26155cd0bc\n, remove it from the newly added semaphore tests as well.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bea2bd1484a3ed036459d20a71007266e88f25b8\n"
    },
    {
      "commit": "23df4aae2e941572676d9928c51d124e12aa1261",
      "tree": "c315b4238609b066574538d8c895f84beb80a808",
      "parents": [
        "6dddf0a949074ccc57004e10fa993e54067d64d0"
      ],
      "author": {
        "name": "Pengxiang Huang",
        "email": "71998072+Pengxiang-Huang@users.noreply.github.com",
        "time": "Thu Aug 13 22:44:32 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 13 22:45:39 2026"
      },
      "message": "[libc][Semaphore] Add public sem_t type and entry (#213489)\n\nfix #190847\n\nAdd the public `sem_t` class that operates on the internal `Semaphore`\nclass.\n\nAssisted-by: Claude Code Fable 5.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4b209b509e77fcbb16457a03fbde0dabc99144c4\n"
    },
    {
      "commit": "6dddf0a949074ccc57004e10fa993e54067d64d0",
      "tree": "8751f841cf261753d088d25e19fc7a5fabce1332",
      "parents": [
        "ebbc772e16e87bca1edcfdba1625c136eba9f38f"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Thu Aug 13 20:41:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 13 20:45:41 2026"
      },
      "message": "[libc][x86] Enable memcpy NTA stores by default. (#216149)\n\nSet `LIBC_COPT_MEMCPY_X86_USE_NTA_STORES` by default, which would enable\nNTA stores for `memcpy()` calls at some point when processing large\nbuffers. We\u0027ve ran some experiment down-stream that show that this\nchange is performance-neutral on the majority of regular benchmarks /\nserver applications and have positive impact on ML workloads that need\nto copy large tensors into shared memory.\n\nCo-authored-by: Ilya Tokar \u003ctokarip@google.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2178ebc84f249643199d71445fd4ff3d42ca4164\n"
    },
    {
      "commit": "ebbc772e16e87bca1edcfdba1625c136eba9f38f",
      "tree": "d54c811420938ffa9637a6e9faa45270e6085dc2",
      "parents": [
        "fd36e2f97f6e891877511e283805f2e88c9e40eb"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Thu Aug 13 16:08:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 13 16:10:42 2026"
      },
      "message": "[libc] Add `NEED_MPFR_F128` argument to add_fp_unittest. (#215657)\n\nCurrently, the MPFR would link unconditionally when we remove the\nfunction from the guards to make it available everywhere. This\nintroduces another problem with the function\u0027s test, in which MPFR is\nused, which would also get tested unconditionally now .\n\nThe MPFR would use native float128 types internally when built on a\ncompiler with float128 support. But where it doesn\u0027t have native\nsupport, it would fail .\nThus, to prevent this failure, we only run the MPFR tests for targets\nwith native float128 by adding `NEED_MPFR128`\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5802296950c94f279e5b13bfc81db761fd4c4386\n"
    },
    {
      "commit": "fd36e2f97f6e891877511e283805f2e88c9e40eb",
      "tree": "3dd07c66a2695614aef45a0e19b9b20523c38ad4",
      "parents": [
        "d422d921f72d7e4f9be592ca152c4cee9ab03943"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Thu Aug 13 15:17:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 13 15:20:51 2026"
      },
      "message": "[libc] Populate _r_debug in startup code and expose it through \u003clink.h\u003e (#215649)\n\nThis patch exposes the SVR4 r_debug and link_map structures through\n\u003clink.h\u003e and populates the _r_debug rendezvous structure during process\nstartup in do_start().\n\nThis allows debuggers and similar tools to inspect the link map, find\nthe load base (l_addr), and set breakpoints on the r_brk notification\nfunction (_r_debug_state) when debugging binaries built against LLVM\nlibc.\n\nThis patch has two caveats:\n- the code does not update the DT_DEBUG entry in the dynamic section.\nI\u0027ll do that in a separate patch because testing it requires building a\n-static-pie test, which we don\u0027t have support for right now.\n- currently lldb refuses to set a breakpoint on _r_debug_state, because\nit expects in to be defined in a C++ file. I plan to fix this by\nrelaxing the lldb check.\n\nAssisted by Gemini.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 57d7b68b23ed369f9e63709140679fcef5f23a1a\n"
    },
    {
      "commit": "d422d921f72d7e4f9be592ca152c4cee9ab03943",
      "tree": "a89ffb235b5a0fa918ef3b712f1b1f59bf8fb176",
      "parents": [
        "3df364065fd924271c84b4c57b08580641fc2a3c"
      ],
      "author": {
        "name": "Mark Murray",
        "email": "mark.murray@arm.com",
        "time": "Thu Aug 13 08:51:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 13 08:55:28 2026"
      },
      "message": "[libc][test] Avoid getauxval dependency for bare-metal AArch64 (#215509)\n\nHermetic and integration test support provide a global __getauxval shim\non AArch64 for compatibility with libgcc expectations. That shim\nforwards to libc\u0027s getauxval implementation.\n\nBare-metal targets do not provide sys/auxv/getauxval, and the hermetic\ntest rules already avoid adding that dependency for bare-metal builds.\nMatch the source guards and integration-test dependency to that policy\nso AArch64 bare-metal tests do not link an unresolved getauxval\nreference.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a59059d267144cf20fa7ad6c1329c8d4376ace5e\n"
    },
    {
      "commit": "3df364065fd924271c84b4c57b08580641fc2a3c",
      "tree": "7805e7388ce223fceffbabe48d8d2f7d17bdf9fe",
      "parents": [
        "2d508139e772670f153b333b4a1f0a0e10bb6d42"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Wed Aug 12 19:26:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 12 19:30:49 2026"
      },
      "message": "[libc] Remove APPEND_LIBC_TEST (#215869)\n\nIt is not needed now that we\u0027re never running hermetic and unit tests in\nthe same build, and it also avoids races with leftover unit test\nbinaries in the build folder.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: abeb492322c12860a4533426208d6d26155cd0bc\n"
    },
    {
      "commit": "2d508139e772670f153b333b4a1f0a0e10bb6d42",
      "tree": "59560b97bb8db1a94ee2625d056fe27a551bf451",
      "parents": [
        "8a615fd9de8c293cb4382b6d827771756baff05c"
      ],
      "author": {
        "name": "Vadim Kotov",
        "email": "11969390+vadimkotov@users.noreply.github.com",
        "time": "Tue Aug 11 19:58:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 11 20:00:27 2026"
      },
      "message": "[libc] Implement tmpfile and corresponding tests (#213396)\n\nCloses issue #191281.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: cff4ca2e51f89c992d8a1b6ce1067846ba680e2e\n"
    },
    {
      "commit": "8a615fd9de8c293cb4382b6d827771756baff05c",
      "tree": "ea3f0a3f4fbc99289f34469372306815e92dbdcc",
      "parents": [
        "46c93b4102ae3c88fe0c00d289ac0d4519974332"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Tue Aug 11 18:19:34 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 11 18:24:09 2026"
      },
      "message": "[libc][NFC] Replace `LIBC_TYPES_HAS_FLOAT128` with `LIBC_TYPES_HAS_NATIVE_FLOAT128` (#215605)\n\nAfter the current effort of making float128 available everywhere ( as an\nemulation), `LIBC_TYPES_HAS_FLOAT128` should always be true. For a\nproper definition, this is being replaced with\n`LIBC_TYPES_HAS_NATIVE_FLOAT128`\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bf3426ee480d2a552c4b6211ebb1aeaf42865be9\n"
    },
    {
      "commit": "46c93b4102ae3c88fe0c00d289ac0d4519974332",
      "tree": "f891f7505fc4dbdf6b014c4777cb5d7fffd9536c",
      "parents": [
        "206c35ec4c7b7a11b84cdc65534f5adc6126c8e6"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Aug 11 16:18:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 11 16:21:15 2026"
      },
      "message": "[libc] Run tests in matching build configurations only (#215333)\n\nThis patch sets it up so that unit tests only run in overlay mode (this\nis the new change), while hermetic tests only run in the full build mode\n(this has always been the case). Running the unit tests in full build\nmode was an inconsistent configuration because we were building code\nthat expects to be run with our own startup code, but then we did not\nlink that into the unit test.\n\nWith this change, it does not make much sense to distinguish between\nunit and hermetic tests, as one can think of it just as a \"test\", which\nruns using whatever is the current build configuration. As such, this\npatch removes the use of the unit/hermetic test terminology from the\nmost obvious place -- the add_libc_test macro. UNIT_TEST_ONLY and\nHERMETIC_TEST_ONLY are replaced by OVERLAY_BUILD_ONLY and\nFULL_BUILD_ONLY, respectively. Since there will only ever be one kind of\na test in a given build, the tests also lose the __unit__ and\n__hermetic__ suffixes.\n\nThis also means that tests depending on the MPFR library will not be run\nin full build mode -- one has to use overylay mode for that. Apart from\nthat, this does not have impact on test coverage as we currently don\u0027t\nhave other UNIT_TEST_ONLY tests.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 08c81127ba260b2eb63c741a12caf1bbe7df8584\n"
    },
    {
      "commit": "206c35ec4c7b7a11b84cdc65534f5adc6126c8e6",
      "tree": "a3033c4a3648cee93834deaf4f2f470e912c21f9",
      "parents": [
        "66dd7dc52c913c56f321bcb2814498d743e7c4d7"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Aug 11 16:16:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 11 16:21:00 2026"
      },
      "message": "[libc] Implement expected\u003cvoid, E\u003e and use it in internal utilities (#215020)\n\nAdd the expected\u003cvoid, E\u003e partial template specialization to support\nfunctions that return an error on failure and nothing on success,\nmatching std::expected\u003cvoid, E\u003e.\n\nI\u0027ve used this to resolve a TODO in if_nameindex and converted a few\nother simple internal functions (pwd_utils::open/close,\nupdate_from_seconds, stat_via_statx).\n\nAssisted by Gemini.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7e8f40bc658207c76da51ac6a3012942f033d91c\n"
    },
    {
      "commit": "66dd7dc52c913c56f321bcb2814498d743e7c4d7",
      "tree": "70657fa02577a7fd72c5909069814b83c318bb66",
      "parents": [
        "02c468c124bca1590e6e85df222611ad8cad5ecc"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Tue Aug 11 15:12:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 11 15:16:21 2026"
      },
      "message": "[libc] Annotate RPC members as global pointers (#215412)\n\nSummary:\nThese are currently all routed through the generic interface. Doing this\nshould safe a handful of instructions and make the intent clearer.\nBasically, makes it nicer on the optimizer and reduces the number of\nwait counts while effectively being NFC because this address space is\nwhere these always lived.\n\nMain rationale, lets you link C++ into OpenCL without requiring flat\naddressing.\nAlso trims off some SGPRs I think.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9728186f9c53a4ad1ac115746a0222d39ae6f967\n"
    },
    {
      "commit": "02c468c124bca1590e6e85df222611ad8cad5ecc",
      "tree": "1bf8e073425e5e5466cf2fba1b795bc79d0016f5",
      "parents": [
        "f695341cf7d6f487aa91dd9c0b904cdf4169e1d1"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Mon Aug 10 15:24:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 11 15:16:09 2026"
      },
      "message": "[libc] Relax read errno check (#215053)\n\nread_write_test was failing on the libc-arm32-qemu-debian-dbg bot due to\na different errno number. Even though the test has a qemu branch, it did\nnot kick in because the bot does not set CMAKE_CROSSCOMPILING_EMULATOR\n(I assume the tests get run via binfmt_misc).\n\nWhile we could fix this in the bot config, and the different error\n*might* be considered a qemu bug, I don\u0027t think this is particularly\nrelevant for this test, as we\u0027re merely forwarding the error number from\nthe kernel (as such, the errno expectation is more of a test for the\nkernel that for libc). I think this okay to relax the check to expect\none of the two reasonable error messages.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4f707535369f092eabfa3f7d7fb58c2238e3f9c4\n"
    },
    {
      "commit": "f695341cf7d6f487aa91dd9c0b904cdf4169e1d1",
      "tree": "587aec0fcf78faf44e97081543625635007a6521",
      "parents": [
        "b28391ca5ad224be7a3584114b59405f9ba4bdc5"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Mon Aug 10 15:22:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 10 15:25:24 2026"
      },
      "message": "[libc] Fix HermeticTestUtils signature of operator delete (#215041)\n\nThe signed-and-aligned version should take a size_t. It was added to\nsupport rv32 #67457, where it worked presumably because size_t is\ndefined as `unsigned int`.\n\nThis should fix printf_core.parser_test on amdgpu, which failed to link\nbecause it generated a call to the operator (while other targets do\nnot). I did not try this with a GPU build, but I\u0027ve verified this fixes\nthe same error in x86 builds (when deleting an overaligned struct).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8b04ebbb0bcac9b7ef77c763cb6bc7947f37bab7\n"
    },
    {
      "commit": "b28391ca5ad224be7a3584114b59405f9ba4bdc5",
      "tree": "7a2b93e3571be2cc36da1b7c4033e9dd0416d4e5",
      "parents": [
        "4879354f2a73ded90594c34e48bff299b959f4cf"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Sun Aug 09 22:35:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 09 22:39:27 2026"
      },
      "message": "Revert \"[libc] Add realpath to linux entrypoints\" (#215156)\n\nReverts llvm/llvm-project#212925, the tests assume that `/tmp` is a\nreal, valid directory on the system, which is not true for all\nbuildbots. `libc-riscv32-qemu-yocto-fullbuild-dbg` in particular seems\nto have a symlink or similar from `/tmp` to `/var/volatile/tmp`. See\nhttps://github.com/llvm/llvm-project/pull/212925#issuecomment-5234167255.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: efe96c53557041be11e7fb4d43e6448cc09f6062\n"
    },
    {
      "commit": "4879354f2a73ded90594c34e48bff299b959f4cf",
      "tree": "3f52aba87e3aa92b086726b2d1a7926633a8c5cc",
      "parents": [
        "6fd5620cc4fd3c55ee749e9bf71f52038431f76d"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Sun Aug 09 21:41:07 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 09 21:45:21 2026"
      },
      "message": "[libc] Add realpath to linux entrypoints (#212925)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: cc563cba784f3eb51daae59c6e216efc926f1795\n"
    },
    {
      "commit": "6fd5620cc4fd3c55ee749e9bf71f52038431f76d",
      "tree": "7a2b93e3571be2cc36da1b7c4033e9dd0416d4e5",
      "parents": [
        "da71a10b9165613ff688dfbd811b4a0d554e029e"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Sun Aug 09 00:16:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 09 00:20:29 2026"
      },
      "message": "[libc] Disable read() on linux/arm (#215035)\n\nThe read test fails under qemu\n(https://lab.llvm.org/buildbot/#/builders/215/builds/26997). This\nreverts a tiny part of #214429.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9813315f23f747d76a426e2d1ed22832309ac84a\n"
    }
  ],
  "next": "da71a10b9165613ff688dfbd811b4a0d554e029e"
}
