)]}'
{
  "log": [
    {
      "commit": "300662227a83ae5cbb2404c5fdea344f896e18a1",
      "tree": "1783a7b370bcc39f3e252b6794d451ffa91b15eb",
      "parents": [
        "275dc5e0ce4fd17cc115474295ed248ea9663e02"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Sun Aug 02 15:13:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 02 15:15:40 2026"
      },
      "message": "[libc] Add __isoc99_fscanf alias. (#213125)\n\n- Add LLVM_LIBC_ADD_FUNCTION_C_ALIAS macro to add another C alias public\nsymbol to a function.\n- Add LIBC_CONF_SCANF_PROVIDE_ISOC99_ALIASES config\n- Add __isoc99_fscanf for generic fscanf target if\nLIBC_CONF_SCANF_PROVIDE_ISOC99_ALIASES is set.\n- Similarly: scanf, vfscanf, vscanf.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e4693c0579ed0f3df45a06b918d448795b738a58\n"
    },
    {
      "commit": "275dc5e0ce4fd17cc115474295ed248ea9663e02",
      "tree": "301fd75bc19c7184d0f3b94cbc2cb504539b968d",
      "parents": [
        "50ad4d201981eee77b5f52fd53860b54c88cc662"
      ],
      "author": {
        "name": "jinge90",
        "email": "ge.jin@intel.com",
        "time": "Sun Aug 02 09:52:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 02 09:55:05 2026"
      },
      "message": "[libc] Use llvm-link approach to create libc bitcode library for GPU targets (#210662)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a3da10236c52f4cf05936790a7ebc6e8f12b34ba\n"
    },
    {
      "commit": "50ad4d201981eee77b5f52fd53860b54c88cc662",
      "tree": "c8700cc5388405808566e5a4737c4e2fe8d35838",
      "parents": [
        "97766ddd3630b03eeb734d150184bb21e8eb9370"
      ],
      "author": {
        "name": "Nico Weber",
        "email": "thakis@chromium.org",
        "time": "Sat Aug 01 18:48:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Aug 01 18:51:01 2026"
      },
      "message": "[libc] Add missing LIBC_INLINE to functions defined in .h files (#213442)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4671437fb024a1c641b154850a7df4db2c22af21\n"
    },
    {
      "commit": "97766ddd3630b03eeb734d150184bb21e8eb9370",
      "tree": "7fe54d20fd6347de9e09e02233b31f63c583ed99",
      "parents": [
        "246e9b60b9c7a9e4e853e79c25be514dcfcbfca0"
      ],
      "author": {
        "name": "Nico Weber",
        "email": "thakis@chromium.org",
        "time": "Sat Aug 01 18:48:20 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Aug 01 18:50:47 2026"
      },
      "message": "[libc] Fix LLVM_LIBC_FUNCTION on 32-bit x86 Windows (#213456)\n\nPreviously, trying to compile libm with LIBC_COPT_PUBLIC_PACKAGING\ndefined failed on 32-bit Windows with\n\n    error: alias must point to a defined variable or function\n\nThis is because 32-bit Windows adds a leading underscore to __cdecl C\nfunctions, making the alias declaration not find its target symbol name.\nThe same problem exists on Apple platforms, which as solution don\u0027t emit\nthe alias for the C++ LIBC_NAMESPACE:: symbol.\n\nDo the same on 32-bit Windows as on Apple platforms: Emit only\nthe underscore-prefixed symbol, not the LIBC_NAMESPACE:: alias.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 350089d0cb1652e6ff44888f46d6487db5e696e6\n"
    },
    {
      "commit": "246e9b60b9c7a9e4e853e79c25be514dcfcbfca0",
      "tree": "6df732b2e41ff4d51d83df6afc9d4c8f6ecd92e7",
      "parents": [
        "bd2ae3e1899076ec5807d712a71e2359dbaee4aa"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Sat Aug 01 14:06:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Aug 01 14:10:53 2026"
      },
      "message": "[libc] Add conversion tests between emulated and native f128 (#213422)\n\nAdds conversion tests between emulated and native float128 type, which\nwould be later used in f128 functions .\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 36b6f48f88914b83acbadcb0c310d292c7304fc3\n"
    },
    {
      "commit": "bd2ae3e1899076ec5807d712a71e2359dbaee4aa",
      "tree": "e12205a5e118645cee403677bfaec71a22a60a86",
      "parents": [
        "82f2038c2ff3bf45db39355868e43916a5ea39f2"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Fri Jul 31 23:37:32 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:41:03 2026"
      },
      "message": "[libc] Move generated elf header to include (#211428)\n\nThe fact that `hdr/elf_proxy.h` was generated with headergen was causing\ndependency issues. This shouldn\u0027t be necessary, and this PR moves it out\ninto `include` to avoid needing headergen for an overlay build.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 90010326302a92850b7a7ede1e0f9c5f169bad96\n"
    },
    {
      "commit": "82f2038c2ff3bf45db39355868e43916a5ea39f2",
      "tree": "5e00a47881d2865f364c1ddcf3e5ff3dbcba6c2f",
      "parents": [
        "0a29c3829b67bb8c732e4386c2bdf4bd64c27aa1"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Fri Jul 31 16:21:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 16:25:51 2026"
      },
      "message": "[libc] Fix math failures for fmod on NVPTX (#213168)\n\nSummary:\nFixes some failing tests. Fmod\u0027s builtin has improper handling in the\nNVPTX instruction so we should just use the generic version for now. The\nFloat128 implementation seems to have had some undefined behavior for\nout of range behavior that only showed up now. Hopefully someone can\ntell me if this is fixed correctly.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b232d110b082c597ac518d37624d16aac3f71ab5\n"
    },
    {
      "commit": "0a29c3829b67bb8c732e4386c2bdf4bd64c27aa1",
      "tree": "f50253438cd75b827777c960f2434754bf4a319b",
      "parents": [
        "5c90b55e1ae6ced4b43d8ed64bd38eee1c02ce3f"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Jul 31 16:13:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 16:15:18 2026"
      },
      "message": "[libc] Add SIGPOLL si_code values. (#212873)\n\nThis is a follow-up to efc78d2029b9f716de4546ed88571616d91e826c, which\nadds `si_code` values for the `SIGPOLL` signal on Linux.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6e4374e9749c23028009e8d06870a6c4184d9891\n"
    },
    {
      "commit": "5c90b55e1ae6ced4b43d8ed64bd38eee1c02ce3f",
      "tree": "8b111232326e2bf0176bc573bbd2dbbd81bc845c",
      "parents": [
        "3d4f10c2b01b21bc9af0327bce41ae7f89968390"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Jul 31 14:29:27 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 14:30:41 2026"
      },
      "message": "[libc] Add \u003csys/statfs.h\u003e header and entrypoints. (#213108)\n\nImplement `statfs` and `fstatfs` functions on Linux.\n\nWe already have `struct statfs` and syscall wrappers defined (to\nimplement POSIX `\u003csys/statvfs.h\u003e`). Use them to provide Linux-specific\nfunctions as well.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fd7993ea2dcc76f915da1baf1b36f5cd560722a8\n"
    },
    {
      "commit": "3d4f10c2b01b21bc9af0327bce41ae7f89968390",
      "tree": "5e7b39116aaf9692b3c01014dfa0858d0713331b",
      "parents": [
        "6622df0b6261ceaccdbfe199040eb9d9e7166fe7"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Jul 31 14:15:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 14:20:21 2026"
      },
      "message": "[libc] Add \u0027struct ucred\u0027 definition. (#213152)\n\nThis is a Linux extension that allows to obtain credentials of a peer\nprocess connected to a socket, e.g. via passing `SO_PEERCRED` to\n`getsockopt` function.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7d5dd438b286d4812a8d2e753262cb6db1c3be51\n"
    },
    {
      "commit": "6622df0b6261ceaccdbfe199040eb9d9e7166fe7",
      "tree": "6672c375918ed2c20fdbecbfb9107cb53b234fd7",
      "parents": [
        "fee92bbbfa8e84692f7493cd7d08e5993060f77b"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Fri Jul 31 12:58:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 13:01:22 2026"
      },
      "message": "[libc] Fix float128-to-integer conversion UB  (#211593)\n\nhttps://github.com/llvm/llvm-project/pull/200565#discussion_r3643991194\nFixes the recent issue pointed out in the above comment\nabout undefined behavior for float128 in the case of extremely large\nvalues and extremely small values.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f79a8888eb831238423362d004739683e2a20d93\n"
    },
    {
      "commit": "fee92bbbfa8e84692f7493cd7d08e5993060f77b",
      "tree": "3abd8a878e2522ddc0b7b487c40dc87dadcaa539",
      "parents": [
        "e241ffce65c324ec28ac28424517a0053056488c"
      ],
      "author": {
        "name": "hulxv",
        "email": "hulxxv@gmail.com",
        "time": "Fri Jul 31 00:50:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 00:55:43 2026"
      },
      "message": "[compiler-rt][builtins] libc-backed floating-point extend/trunct builtins (#209984)\n\nAdd libc-backed floating-point extend/truncate builtins\n\nPart of #197824\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0879c1092c66242027065634210692cc06359fee\n"
    },
    {
      "commit": "e241ffce65c324ec28ac28424517a0053056488c",
      "tree": "d29f21fdb2cd5ec07ffdead2f2775d81db68f21f",
      "parents": [
        "bd237e035194230b78dd1a552eb00fef1030564b"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Thu Jul 30 20:29:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 20:30:52 2026"
      },
      "message": "[libc][docs] Add logo to website (#213120)\n\nAdd the excellent new logo drawn by @ajordanr-google to the homepage.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: cdec735f774869f2949a94a7bf2e446798bf3b8c\n"
    },
    {
      "commit": "bd237e035194230b78dd1a552eb00fef1030564b",
      "tree": "e2572bd16b9da1ecc1060d1554b3a6328a03095d",
      "parents": [
        "72d95ab5bcf87ba4f8873d2cbb85609974f2764d"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Thu Jul 30 17:29:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 17:31:40 2026"
      },
      "message": "[libc] Fix aligned_alloc used in hermetic tests. (#213041)\n\nUse the provided alignment for the pointer to the returned\nmemory chunk instead of the size.\n\nThis fixes occasional segfaults in `hsearch` tests after\nce62aab97e58c52e6bb0972c49d6fd1aaa6a08a0, since\nhash-table bitmask implementation uses SSE2 intrinsics with 16-byte\nalignment.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2e838bf84da94760fa49e132108e954a62815573\n"
    },
    {
      "commit": "72d95ab5bcf87ba4f8873d2cbb85609974f2764d",
      "tree": "ea9a57b66079e432f8957b17a281173c96a97d73",
      "parents": [
        "0e5646bde8a7be718e9b34e3170a54dcd394e5e7"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Thu Jul 30 14:46:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 14:50:50 2026"
      },
      "message": "[libc] Refactor statfs Linux syscalls and provide \u0027struct statfs\u0027 (#212930)\n\n* Extract statfs/fstatfs Linux syscall wrappers to\n`linux/syscall_wrappers` directory;\n* Provide our own definition of `struct statfs` type and a corresponding\nproxy header (to use system type in overlay mode);\n* Migrate callers (e.g. statfs-\u003estatvfs translation) to use the new\nsyscall wrapper.\n\nThis would allow us to add Linux-specific (non-POSIX) `\u003csys/statfs.h\u003e`\nheader as a next step.\n\nAssisted by: Gemini, human-reviewed\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2f08dff5138a4ce908b6d4511a9439e859fedf86\n"
    },
    {
      "commit": "0e5646bde8a7be718e9b34e3170a54dcd394e5e7",
      "tree": "f56aaaeda6a023bb59e869dd50db4f0d91806bff",
      "parents": [
        "73752de68d8abab3bf8c8b1ea99f79d9db288e86"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Thu Jul 30 14:27:07 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 14:30:25 2026"
      },
      "message": "[libc] Add struct passwd type, pwd.yaml, and pwd_utils parser (#212421)\n\nAdded struct passwd type definition, pwd.yaml header specification, and\nparse_passwd_line utility returning ErrorOr\u003cstruct passwd\u003e for\ncolon-separated\npassword file parsing with hermetic unit tests.\n\nNote: Additional POSIX pwd.h functions (getpwuid, getpwnam, getpwuid_r,\ngetpwnam_r, fgetpwent) are omitted from this initial change and will be\nadded in follow-up PRs.\n\n* Added libc/include/llvm-libc-types/struct_passwd.h and proxy header\n* Added libc/include/pwd.yaml header specification\n* Added pwd_utils.h and pwd_utils.cpp implementing ErrorOr\u003cstruct\npasswd\u003e parse_passwd_line\n* Added pwd.h to target public headers for linux architectures\n* Added unit tests in libc/test/src/pwd/pwd_utils_test.cpp\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a853e6fcaf602b3c9bdd21a02af2c4f32a2cb5d1\n"
    },
    {
      "commit": "73752de68d8abab3bf8c8b1ea99f79d9db288e86",
      "tree": "e9b15c2bdc68b3f07a0fe858ae3f616baa86922a",
      "parents": [
        "baf5da013b4d943c63e984c0f5e8b24a8fbe37a9"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Thu Jul 30 13:46:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 13:50:36 2026"
      },
      "message": "[libc] Move test macro implementations out of the Test class (#212783)\n\nThis is useful for several reasons:\n- it makes it possible to use the macros outside of the test methods,\naligning with googletest. Although this isn\u0027t recommended, the\nalternatives are often not worth it.\n- it makes it possible (with additional changes) to expose this\ninfrastructure to C_TESTs (which currently use the assert() macro, which\nis a no-op in release mode)\n- it makes it possible to add (and have assertions in) googletest style\nSetUp/TearDownTestSuite functions.\n\nI\u0027ve converted the main assertion macros for now, to test the waters.\nI\u0027m planning to handle EXPECT/ASSERT_THAT and EXPECT/ASSERT_EXIT/DEATH\nin a follow-up.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3122acf9f49012f645ea45e741b81910333a77bc\n"
    },
    {
      "commit": "baf5da013b4d943c63e984c0f5e8b24a8fbe37a9",
      "tree": "df28ab270613891863dad07a38cc95064d390649",
      "parents": [
        "4c8fe7e6e73d174d4859e62f6bbc5ab29c2adbbe"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Thu Jul 30 13:46:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 13:50:28 2026"
      },
      "message": "[libc][test] Add EXPECT_STREQ and ASSERT_STREQ macros for integration tests (#212729)\n\nAdd EXPECT_STREQ and ASSERT_STREQ macros to IntegrationTest/test.h using\ncpp::string_view. Note that, unlike the unit test macro (but like\ngoogletest), this version treats NULL as distinct from \"\". The\ninconsistency is unfortunate, but I think it\u0027s important as the code is\nused for testing functions like getenv(), where \"\" and NULL have very\ndifferent meanings.\n\nWe should probably follow this up with a change to make the unit test\nmacro behave the same way.\n\nUpdate integration tests to use the new macros instead of handrolled\nstring equality functions (my_streq), strcmp, inline_strcmp, or\nstring_view wrappers.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: cc623d6e991ffbcf85fe5b7bc637d9070eee0015\n"
    },
    {
      "commit": "4c8fe7e6e73d174d4859e62f6bbc5ab29c2adbbe",
      "tree": "89b8b0d3e66e4ccbc6db843578f554c1a7380dd9",
      "parents": [
        "1234eac50061f86e70c222cc2aa1aab06f49ad09"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Thu Jul 30 13:41:20 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 13:45:33 2026"
      },
      "message": "[libc][cmake] Make hermetic tests support FLAGS (#212460)\n\nCurrently the tests skip themselves because this gets treated as a\n(missing) dependency.\n\nI also enable tests that were explicitly skipped with UNIT_TEST_ONLY.\nSome of the FP tests are claiming to be failing on GPUs (in 2023). If\nthat is still true, I\u0027ll skip them with if(TARGET_IS_GPU).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6e9a51c805878c03fe0813688bd8ad2ef9cb7c6f\n"
    },
    {
      "commit": "1234eac50061f86e70c222cc2aa1aab06f49ad09",
      "tree": "8506ee5107ed7e17806fefecf2530ce3e4db6d37",
      "parents": [
        "b99ec6354ce68f0872a5359a4d22dd10c8551939"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Thu Jul 30 00:49:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 00:51:46 2026"
      },
      "message": "[libc] Modernize and extend dirent.h header. (#212902)\n\nExtend the `\u003cdirent.h\u003e` header with macro and types specified in recent\nPOSIX.1-2024:\n* Add `posix_dent` structure, which has more fields than `dirent`, that\nare actually used in practice. This struct would be identical to\n`dirent` that we have on Linux\n* Add `reclen_t` type for `d_reclen` field.\n* Add macro `DT_BLK` and friends\n\nAlso, extend the tests to verify the values of `d_type` field, now that\nwe have the proper macro defined.\n\nAssisted by: Gemini, human-verified\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e7b04c15e6b18294c923f874f16e2d5a8e885706\n"
    },
    {
      "commit": "b99ec6354ce68f0872a5359a4d22dd10c8551939",
      "tree": "4af7ff3d7b2fcc658ea01b99f72a69fc6cff45a6",
      "parents": [
        "9be848ff8817516c13a72cecfd439a799fca35a2"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Wed Jul 29 18:07:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 29 18:10:57 2026"
      },
      "message": "[libc][realpath] Follow symlinks (#212164)\n\nThis commit updates realpath to call `readlinkat` on symlinks during\npath resolution.\n\nSome notes on implementation:\n- `PendingPath` uses a `cpp::string` to store unprocessed path\ncomponents. This could be more efficient by using a `PATH_MAX` buffer\nand storing the path at the end of the buffer, which would allow for\neasy prepending. However, using a `cpp::string` avoids the pointer\narithmetic and memory management that would involve.\n- This PR implements `cpp::string::replace` to avoid pointer arithmetic\ninside `realpath`. This should hopefully not be too inefficient, since\n`prepend` reuses space from processed path components there\u0027s enough\nroom, there certainly exist some bad inputs that would cause many\n`memmove` operations.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8d404384dd842d43362732a11b233ee3d6ead023\n"
    },
    {
      "commit": "9be848ff8817516c13a72cecfd439a799fca35a2",
      "tree": "b918660ded443ddd54ce653073a89f154c0128de",
      "parents": [
        "76f07febd09b32f936a00a444864750a2524d518"
      ],
      "author": {
        "name": "hulxv",
        "email": "hulxxv@gmail.com",
        "time": "Wed Jul 29 00:38:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 29 00:40:40 2026"
      },
      "message": "[compiler-rt][builtins] add libc-backed arithmetic builtins (#207092)\n\nAdd libc-backed arithmetic builtins\n\nDepends on #197950\n\nPart of #197824\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a13822ff14b6e4082caa553b230beb1a7252cb8e\n"
    },
    {
      "commit": "76f07febd09b32f936a00a444864750a2524d518",
      "tree": "e9c1a8416ed55669e7eed39838cd48af1629c533",
      "parents": [
        "03632c7471adeac38ef4e33ca940086ca2c84c61"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Tue Jul 28 23:28:15 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 23:31:38 2026"
      },
      "message": "Revert \"[libc] Implement cpp::unique_ptr utility\" (#212644)\n\nReverts efe202c769aa2cc772d50bed87af30199bb6b239 and\n83dfacdbda1a8b87c1f170ec6ce4e240e1fa79db.\n\nReverts #212629 and #206701.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6d1ace547c9f9ecf7df9ab87e2db74b5bd3f199d\n"
    },
    {
      "commit": "03632c7471adeac38ef4e33ca940086ca2c84c61",
      "tree": "41ec41d3c32cb88bf3d53ea5ea9e80f3fb628a62",
      "parents": [
        "5a2c6c6bcde6cb9c8d10a085877ef2d3cea7ce86"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Tue Jul 28 22:43:07 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 22:46:00 2026"
      },
      "message": "[libc] Add missing type dependencies to sys_types header target (#212601)\n\nAdd missing type dependencies to the sys_types header target in\nlibc/include/CMakeLists.txt for types defined in sys/types.yaml,\nincluding __off_t, __off64_t, __uint64_t, off64_t, and BSD/System V\ntypes added in commit 39df67d0edef.\n\nWithout these DEPENDS entries, CMake and Ninja do not copy the\ncorresponding type headers into the build and install directories,\ncausing missing header includes (e.g. __off64_t.h) when consuming\ngenerated \u003csys/types.h\u003e.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 33d2c6ad8c342d40aa443afb7dd03ad0af0e103c\n"
    },
    {
      "commit": "5a2c6c6bcde6cb9c8d10a085877ef2d3cea7ce86",
      "tree": "31c68ddb326d4e7a81ad78e66bc211d318081890",
      "parents": [
        "6bb13b8e2bb66523f85e9bbe5195bf8eb0cd87d0"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Tue Jul 28 22:25:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 22:30:57 2026"
      },
      "message": "[libc][CPP] Fix ASan alloc-dealloc-mismatch in custom operator delete (#212629)\n\nBypass custom operator delete redirection in new.h and new.cpp when\nbuilding with AddressSanitizer (LIBC_HAS_ADDRESS_SANITIZER).\n\ncpp::unique_ptr is the first heap-owning utility in src/__support/CPP/\nthat executes delete/delete[] expressions. Previously, new.h redirected\noperator delete via asm-renaming to __llvm_libc_delete (calling free()),\nwhich caused ASan to report an alloc-dealloc-mismatch (operator new vs\nfree) when objects allocated via host operator new were deleted by\ncpp::unique_ptr.\n\nGuarding the custom operator delete implementations under ASan enables\nASan deallocation tracking while preserving hermetic libc behavior for\nnon-ASan builds.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: efe202c769aa2cc772d50bed87af30199bb6b239\n"
    },
    {
      "commit": "6bb13b8e2bb66523f85e9bbe5195bf8eb0cd87d0",
      "tree": "c411db4ec9466a14549f1c3bd029f2cb80f3c2a4",
      "parents": [
        "a2a90df5510b3f63381d1043508f5f5aaad103d8"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Tue Jul 28 20:03:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 20:06:33 2026"
      },
      "message": "[libc] Implement cpp::unique_ptr utility (#206701)\n\n[libc] Implement cpp::unique_ptr utility\n\nImplemented cpp::unique_ptr and cpp::default_delete in\nlibc/src/__support/CPP/unique_ptr.h for internal use within LLVM-libc.\n\n* Added cpp::default_delete and its array specialization.\n* Implemented cpp::unique_ptr with support for custom deleters and\n  array specialization.\n* Applied LIBC_TRIVIAL_ABI to unique_ptr and LIBC_NO_UNIQUE_ADDRESS to\nthe\n  deleter to enable empty member optimization and register-passing ABI.\n* Defined portable LIBC_NO_UNIQUE_ADDRESS and LIBC_TRIVIAL_ABI macros in\n  attributes.h.\n* Included is_assignable.h in type_traits.h to support conversion\n  assignment constraints.\n* Modernized template constraints using enable_if_t and\nis_convertible_v.\n* Added comprehensive unit tests in\nlibc/test/src/__support/CPP/unique_ptr_test.cpp, including coverage for\n  reset sequencing, custom deleters, and conversion constructors.\n\nThis is a simplified implementation with the following limitations:\n* No support for custom pointer types (hardcoded to T*).\n* No support for reference deleter types or array conversion.\n\nAdding this to LLVM libc because some things (like regex) require\ndynamic\nmemory allocation, and this will help with correct memory management.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 83dfacdbda1a8b87c1f170ec6ce4e240e1fa79db\n"
    },
    {
      "commit": "a2a90df5510b3f63381d1043508f5f5aaad103d8",
      "tree": "4152f25595369e2e3b234018b74f08db08f451d2",
      "parents": [
        "b4d0ac1098bc56d78f6b0935e88b28700d0db371"
      ],
      "author": {
        "name": "Robert Imschweiler",
        "email": "robert.imschweiler@amd.com",
        "time": "Tue Jul 28 17:08:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 17:12:59 2026"
      },
      "message": "[libc] Fix Global addrspace (#212531)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: db534dccb2ea151cf8ac1b4f92a656402e71c968\n"
    },
    {
      "commit": "b4d0ac1098bc56d78f6b0935e88b28700d0db371",
      "tree": "d2864e0abcfcee3ea1052df7686853d013bdfc07",
      "parents": [
        "9a7027f8414d588eb02367868f799587c244e3d5"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Tue Jul 28 15:27:07 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 15:32:05 2026"
      },
      "message": "[libc] Fix EOF handling in fscanf (#211982)\n\n`fscanf` family of functions should return EOF if:\n- end of input is reached before either the first successful conversion\nor a matching failure occurs;\n- a read error occurs.\n\nThis wasn\u0027t handled correctly before - in \"system FILE\" mode (in overlay\nbuild) `EOF` return value from `getc` was passed through to parser,\nviolating `Reader` interface, which triggered infinite loops on\n\"while-not-EOF\" `fscanf` loops. In llvm-libc-FILE mode `fscanf` simply\nreturned zero instead of EOF, because the code only checked error\nindicator on a stream.\n\nThis PR removes _any_ lookups of eof/error indicators on an input stream\n- instead we can simply rely on the `getc` (system or internal) function\nbehavior, which returns `EOF` on unsuccessful reads.\n\nExtend the test cases for `fscanf` to cover various return values in\ncases when `EOF` is reached (before or after conversions / matching\nerrors).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 98fb5dae73c3887e6659ee126b131b004d12592d\n"
    },
    {
      "commit": "9a7027f8414d588eb02367868f799587c244e3d5",
      "tree": "0bd3973ad0a01f0646c08e014b5c3eb111520f7d",
      "parents": [
        "de65f332fb6ca75df5acad8526cdd0f855359b4e"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Tue Jul 28 14:37:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 14:41:38 2026"
      },
      "message": "[libc] Add POSIX redirection header specifications in YAML (#211859)\n\nAdd header YAML specifications for memory.h, sys/poll.h, sys/unistd.h,\nsys/fcntl.h, and sys/signal.h using public_includes.\n\nPOSIX.1-2017 and historical X/Open System Interfaces (XSI) standards\ndefine these headers as alternate or legacy header locations that\nforward to string.h, poll.h, unistd.h, fcntl.h, and signal.h\nrespectively. The YAML header specs allow hdrgen to generate the public\nheaders automatically with proper license headers and guards.\n\nUpdated Linux target headers.txt configuration files to register the new\npublic header targets for installation.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7cf62f99cd707d09f4dab5f999cb1ce5d57d25a5\n"
    },
    {
      "commit": "de65f332fb6ca75df5acad8526cdd0f855359b4e",
      "tree": "f8d96ba01b6e7f8ab1a1186f13ea4bdb834efc21",
      "parents": [
        "99c362529ad0c4d52da91f69516fd3916a9cec19"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Tue Jul 28 14:35:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 14:41:23 2026"
      },
      "message": "[libc][stdlib] Add putenv (#208339)\n\nAdded the POSIX putenv() function and its internal support.\n\nImplemented EnvironmentManager::put() to insert caller-provided\n\"name\u003dvalue\" strings directly into the environment array, managing\nownership correctly (caller retains ownership).\n\nRegistered for x86_64, aarch64, and riscv. Integration tests cover basic\noperations, ownership semantics, validation, and edge cases.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e362f3c8466dfb4021d409f50eae179b9b0b1957\n"
    },
    {
      "commit": "99c362529ad0c4d52da91f69516fd3916a9cec19",
      "tree": "f3a1e65cb85f0e7826382e549a1a1a581bbd4ce8",
      "parents": [
        "539518b87b142cdaa3aab90854652fab1e57b526"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Jul 28 12:11:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 12:15:53 2026"
      },
      "message": "[libc] Make hash_test hermetic (#212428)\n\nAligned allocation is now supported, but the test burns through our 1MB\nnever-freeing bump pointer allocation buffer. I tweak the test to reuse\nthe buffer between loop iterations, reducing its memory usage by about\n300x :P.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f11d740e204f0551ac72ab1a2cacd72ae5c41b26\n"
    },
    {
      "commit": "539518b87b142cdaa3aab90854652fab1e57b526",
      "tree": "227021b0ebb2debb731fcf52892dc53c9c1e2f0f",
      "parents": [
        "066a686cc5e2f4e9f4fa671ff959bb238e4ad4fd"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Jul 28 09:04:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 09:05:47 2026"
      },
      "message": "[libc] Fix path collisions between unit and hermetic tests (#212425)\n\nUse the APPEND_LIBC_TEST macro to ensure each test gets a unique path to\noperate on. Enable the affected tests in hermetic mode.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2d7aaf670d704bbb4bfb3ef023f18ba0b85b58c7\n"
    },
    {
      "commit": "066a686cc5e2f4e9f4fa671ff959bb238e4ad4fd",
      "tree": "5930559ad98a3fd1113741ab2f6b2122b4bc8789",
      "parents": [
        "0c0a45c2ebe6431c9bbf6c90f58266fa2fff6d39"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Jul 28 07:58:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 08:00:08 2026"
      },
      "message": "[libc] Make \u003csys/mman.h\u003e tests hermetic (#210697)\n\nThe only issue was in pkey_test, which uses function-local static to do\nlazy initialization. This requires the c++ runtime\n(__cxa_guard_acquire/release).\n\nThere are no threads in this test, so we can just use the\n(non-thread-safe) hand-rolled version of that. This is currently our\nonly test with such a pattern.\n\nThis would be something that in gtest would go into a SetUpTestSuite\nmethod, but our test framework currently doesn\u0027t have an equivalent.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0bcff14b1740cf32f9e0983726238dcf353c6ac8\n"
    },
    {
      "commit": "0c0a45c2ebe6431c9bbf6c90f58266fa2fff6d39",
      "tree": "93a8c8cff48a55b055172c3f586b0a1e359bc238",
      "parents": [
        "56adafd6efb88995f37dd4ba633271cf44a82760"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Jul 28 07:25:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 07:31:25 2026"
      },
      "message": "[libc] Make assert_test hermetic (#210700)\n\nCall our own close() instead of the system one.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7bc2770064d3afbb4ce49c159d99c69a9e4b5c5b\n"
    },
    {
      "commit": "56adafd6efb88995f37dd4ba633271cf44a82760",
      "tree": "86a8a4262d55751f5d59eb01d86c5fd62513421b",
      "parents": [
        "4410d73d7d42ac4e2d6d14d4e9dfca81bd1ef63a"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Jul 28 06:57:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 07:01:12 2026"
      },
      "message": "[libc] Add aligned_alloc and delete[] to hermetic tests (#210693)\n\nThis lets us run (at least) \u003csearch.h\u003e tests in hermetic mode.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ce62aab97e58c52e6bb0972c49d6fd1aaa6a08a0\n"
    },
    {
      "commit": "4410d73d7d42ac4e2d6d14d4e9dfca81bd1ef63a",
      "tree": "dcbb1fd22f6fca7dcca712bd3272eb7f8c1cd7a7",
      "parents": [
        "aa7eaf6ee9a27e09061ec898c6343d9784923a45"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Jul 28 06:20:07 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 06:25:46 2026"
      },
      "message": "[libc] Fix atexit_test in hermetic mode (#210656)\n\nWe never unlocked the ThreadAtExit mutex, which meant the second call to\nexit deadlocked. This was detected in the unit tests as they were\ncalling __cxa_thread_atexit from the system C library.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f2c7e2bcd57ef2a9db23e5071618d3e02ee9c33d\n"
    },
    {
      "commit": "aa7eaf6ee9a27e09061ec898c6343d9784923a45",
      "tree": "63922777d651d8930ecd5c59e9ccf77ca6bece85",
      "parents": [
        "716d651b819988c4d76c8e44b237d58e65fa0fea"
      ],
      "author": {
        "name": "Alex Strelnikov",
        "email": "strel@google.com",
        "time": "Mon Jul 27 15:19:21 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 15:21:06 2026"
      },
      "message": "[libc] Add stub implementation for strptime. (#211088)\n\nThis PR adds a stub for `strptime` under\n`LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS` for x86_64 and aarch64 as a\nfirst step in implementing the function.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 39d3b9344f4796e963d8d73bfd1e7cd3014d1fe6\n"
    },
    {
      "commit": "716d651b819988c4d76c8e44b237d58e65fa0fea",
      "tree": "941f5e10f4303f767db14220ba37fe182f42e3ba",
      "parents": [
        "3ea89f4304312567e31a8eb45e0737577e65b676"
      ],
      "author": {
        "name": "Simon Tatham",
        "email": "simon.tatham@arm.com",
        "time": "Mon Jul 27 13:31:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 13:32:35 2026"
      },
      "message": "[libc][AArch64] Avoid -Wshadow warnings about uint128_t etc (#212227)\n\n`aarch64/inline_memset.h` defines type aliases `uint128_t`, `uint256_t`\nand `uint512_t` at file scope. `aarch64/inline_memmove.h`, alongside it,\ndefines the same aliases at function scope. If both headers are included\nby the same source file, this can lead to a warning about the\nfunction-scope aliases shadowing the file-scope ones, which turns into a\ncompile error if you build with `clang -Werror -Wshadow`.\n\nCommit a81db64570f94c2 (PR #210895) exposed this latent compile failure,\nby making `CPP/string.h` include both files. But there\u0027s nothing wrong\nwith that, so the right fix is to make it _safe_ to include both files,\nnot to stop doing it.\n\nThis commit moves the function-scope aliases in memmove up to file\nscope. That makes them duplicate definitions in the _same_ scope, which\ndoesn\u0027t cause the same error.\n\nOther options would be to move the memset aliases down into function\nscope (duplicating them in two functions), or to move them into a tiny\nAArch64-specific header file with an include guard. Both of those are\nmore intrusive than this fix.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bd9e922d448ce6a492b1b323c359b7c8a4030ad9\n"
    },
    {
      "commit": "3ea89f4304312567e31a8eb45e0737577e65b676",
      "tree": "a60c217468b6838b60429c1064183c868d4da1a4",
      "parents": [
        "a5ee3b1fc3af6206b7e1a0b745623874df23bab0"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Sun Jul 26 21:03:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jul 26 21:05:39 2026"
      },
      "message": "[libc][test][NFC] Fix compiler warnings in libc tests (#212100)\n\nResolved compiler warnings in several libc unit and integration tests:\n\n- Fixed -Wmissing-designated-field-initializers in localtime_r_test.cpp\nby using zero-initialisation instead of partial designated initialisers.\n- Fixed -Wimplicit-int-conversion in sigaltstack_test.cpp by explicitly\ncasting the loop index to uint8_t.\n- Fixed -Wunused-parameter in pthread_barrier_test.cpp by omitting\nunused parameter names in function definitions.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 99a8141b11cd8175b3d2fd81a83786083b6e7501\n"
    },
    {
      "commit": "a5ee3b1fc3af6206b7e1a0b745623874df23bab0",
      "tree": "a0a7d391b0507d6040ae7f2c4e81dbeee00691aa",
      "parents": [
        "67b7bbe5bbc3ce492a67bc05bca39cf9fc032bf5"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Sun Jul 26 14:25:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jul 26 14:30:45 2026"
      },
      "message": "[libc][cpp::string] Allocate fewer temp strings in operator\u003d and +\u003d (#210895)\n\nThis PR generally updates `cpp::string` to avoid incidental allocations.\nSpecifically, it:\n\n- Updates `opreator\u003d(string_view)` to avoid allocating a temporary\nstring:\nhttps://github.com/llvm/llvm-project/blob/67ebc4b221c3e94028b33004cd5cd08deee95048/libc/src/__support/CPP/string.h#L106-L108\n- Changes `operator+\u003d(const string\u0026)` to accept a `string_view` so that\nstrings may be appended without allocation.\n- Makes the `string(string_view)` constructor explicit. Before, there\nwere non-obvious allocations because of the implicit conversion.\n\nAs a side effect, this PR has to more carefully handle self-assignment\nand self-append. This PR updates append and assignment to avoid calling\n`realloc` during append / assignment, as this may invalidate input\npointers held by `string_view` if they point to data held by the string.\nThis also fixes self-assignment, which previously didn\u0027t work, eg\n`cpp::string s \u003d \"abc\"; s \u003d s;` would zero out `s`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a81db64570f94c2ca8ac0f598c0b5bba1a7ae59e\n"
    },
    {
      "commit": "67b7bbe5bbc3ce492a67bc05bca39cf9fc032bf5",
      "tree": "3bb7ed50ba1ed1a15d05f097603cbf34b36fc15f",
      "parents": [
        "75ae50cd48c8a9d70f552ccff040029968778da9"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Sun Jul 26 07:47:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jul 26 07:50:26 2026"
      },
      "message": "[libc][test][NFC] Fix pthread_setschedparam_test flakiness (#212067)\n\nSynchronised child thread execution in pthread_setschedparam_test using\na mutex lock. This prevents race conditions where the child thread\nexited before scheduling parameter assertions ran on multi-core\nplatforms such as aarch64.\n\nAdded missing pthread target dependencies to CMakeLists.txt.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 653e7b05bbd7fbcaab3721ebfb2b3c2304f15ee4\n"
    },
    {
      "commit": "75ae50cd48c8a9d70f552ccff040029968778da9",
      "tree": "a76e949547e2e0c26351b50c2a0774bd56e1f08b",
      "parents": [
        "1e25c24def3756111ad143b26591a464c3351b09"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Fri Jul 24 23:57:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 25 00:00:45 2026"
      },
      "message": "[libc] Add symbolic constants for si_code values. (#211945)\n\nExtend SIGCHLD-specific `si_code` values, already available in\n`signal-macros.h` with Linux values for the rest of the signal-specific\ncodes specified in the POSIX.1-2024.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: efc78d2029b9f716de4546ed88571616d91e826c\n"
    },
    {
      "commit": "1e25c24def3756111ad143b26591a464c3351b09",
      "tree": "23ad7c97b1cbf37bc1ca9cd1c72fc022cd17c70a",
      "parents": [
        "c4cb3abf2c8b2cc47cdc64c1b2b70c38e78e705e"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Fri Jul 24 22:59:21 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 23:00:20 2026"
      },
      "message": "[libc][cpp::string] Do not count null terminator in capacity() (#211918)\n\nCurrently, `capacity()` includes the null terminator of the backing\nbuffer, which does not align with C++20\u0027s `std::string`. That is,\n`s.reserve(s.capacity())` should be a no-op. While there\u0027s no\nrequirement these be in-sync, it is less surprising to align its\nbehavior.\n\nAlso, this fixes the case where `reserve()` is called on an empty\nstring, where previously the null terminator was not set.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 921f7ca6be12efa9b4313e370352360ae9a8e415\n"
    },
    {
      "commit": "c4cb3abf2c8b2cc47cdc64c1b2b70c38e78e705e",
      "tree": "afc1f67e742500b411c27c2ca56684ddd87a6b41",
      "parents": [
        "8384ff3748f6cf8da76761ee9c3d242cc91f3b8c"
      ],
      "author": {
        "name": "Joseph Huber",
        "email": "huberjn@outlook.com",
        "time": "Fri Jul 24 21:07:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 21:11:07 2026"
      },
      "message": "[libc] Small correctness tweaks to GPU allocator (#211610)\n\nSummary:\nSmall bugs, like more strict C++ lifetime ordering for the header and\nfixing a bug in alignment sizing.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 29210021a3e792527ea546895d23a6a0db218fab\n"
    },
    {
      "commit": "8384ff3748f6cf8da76761ee9c3d242cc91f3b8c",
      "tree": "b279d8680d1c0ce6d2fc90075cbcad4fa9041efa",
      "parents": [
        "24ce61460cbd1442ff66037a5d9ac635de832b56"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Fri Jul 24 20:59:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 21:00:58 2026"
      },
      "message": "[libc] Add missing standard and Linux header macros (#211862)\n\nAdd missing header macro constants:\n\n* endian-macros.h: __BYTE_ORDER, __LITTLE_ENDIAN, and __BIG_ENDIAN\n* sys-stat-macros.h: S_IREAD, S_IWRITE, S_IEXEC, and ACCESSPERMS\n* limits-macros.h: _POSIX_HOST_NAME_MAX and HOST_NAME_MAX\n* unistd-macros.h: TEMP_FAILURE_RETRY\n\nPOSIX.1-2017 specifies _POSIX_HOST_NAME_MAX as 255. The Linux\ngethostname(2) man page specifies HOST_NAME_MAX as 64. The\ndouble-underscore byte order macros and TEMP_FAILURE_RETRY macro follow\nthe Linux and GNU C library conventions.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b545f9ff454b185278046edb725cb5fe20b8a620\n"
    },
    {
      "commit": "24ce61460cbd1442ff66037a5d9ac635de832b56",
      "tree": "437c3d1b86072d94e19f302606e74851cbe1ed9e",
      "parents": [
        "d9bc2e233be07f88599d17be35f4fe0d00f252db"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Fri Jul 24 20:49:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 20:50:37 2026"
      },
      "message": "[libc] Add missing sys/types.h integer and BSD/System V type definitions (#211861)\n\nAdd missing type definitions to llvm-libc-types and sys/types.yaml:\n\n* POSIX standard types: id_t, useconds_t\n* BSD and System V compatibility typedefs: caddr_t, u_int, u_int8_t,\nu_int16_t, u_long, u_short, ulong, ushort\n* Large File Support (LFS) and Linux kernel internal types: ino64_t,\noff64_t, __off_t, __off64_t, __uint64_t\n\nPOSIX.1-2017 defines id_t and useconds_t in sys/types.h. The BSD and\nSystem V standards specify the legacy unsigned integer shorthand types,\nand Linux kernel/glibc interfaces use the double-underscore prefix\noffset and integer types.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 39df67d0edef62294b177c97124d0ffc3eec3118\n"
    },
    {
      "commit": "d9bc2e233be07f88599d17be35f4fe0d00f252db",
      "tree": "8ceb0176922fd473ee50a58d5330c9a94164acf1",
      "parents": [
        "b3db8dcda0722c3073e6d5cce2d5e884f0d40b19"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Fri Jul 24 17:31:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 17:36:00 2026"
      },
      "message": "[libc][termios] Make termios hermetic and fix its compatibility with glibc 2.42 or after. (#211039)\n\nMake termios hermetic and address its compatibility with glibc 2.42\nbreaking change\nwith baud rate definitions:\n\nhttps://inbox.sourceware.org/libc-announce/5906001.DvuYhMxLoT@pinacolada/T/\n\nFixes include:\n- Baud rate translation utilities.\n- Add proxy headers for termios.h macros and types.\n- Update tests.\n\nAssisted-by: Gemini 3.5 Flash.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 995e2af5351507d2fc627398fc4d03b9a060b105\n"
    },
    {
      "commit": "b3db8dcda0722c3073e6d5cce2d5e884f0d40b19",
      "tree": "8d21e85f39f850b1cf9e8313e9b69a1955852b0f",
      "parents": [
        "2bf02ac888dddb16cdf6fe7992f9c506d8bdb4aa"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Fri Jul 24 17:07:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 17:10:38 2026"
      },
      "message": "[libc][memory_utils] Rename shadowed load/store to avoid ADL ambiguity (#211714)\n\nWhen compiling `inline_memmove` with MSVC for non-x86 architectures, `op_generic.h` picks\na non-builtin type for generic_v128 and friends:\nhttps://github.com/llvm/llvm-project/blob/cad3c95a89c48d714a71f6e8b4af6f3e3ab100ea/libc/src/string/memory_utils/op_generic.h#L54-L57\n\nThis causes calls to `load` and `store` to trigger ADL, which is\nambiguous with `load` definition in `memory_utils/utils.h`.\n\n```\nC:\\Users\\jtstogel\\Github\\llvm-project\\libc\\src/string/memory_utils/op_generic.h(348): error C2668: \u0027__llvm_libc_24_0_0_git::generic::store\u0027: ambiguous call to overloaded function\nC:\\Users\\jtstogel\\Github\\llvm-project\\libc\\src/string/memory_utils/op_generic.h(138): note: could be \u0027void __llvm_libc_24_0_0_git::generic::store\u003cT\u003e(__llvm_libc_24_0_0_git::Ptr,T)\u0027\n        with\n        [\n            T\u003d__llvm_libc_24_0_0_git::inline_memmove_aarch64::uint512_t\n        ]\nC:\\Users\\jtstogel\\Github\\llvm-project\\libc\\src/string/memory_utils/utils.h(221): note: or       \u0027void __llvm_libc_24_0_0_git::store\u003cT\u003e(__llvm_libc_24_0_0_git::Ptr,T)\u0027 [found using argument-dependent lookup]\n        with\n        [\n            T\u003d__llvm_libc_24_0_0_git::inline_memmove_aarch64::uint512_t\n        ]\nC:\\Users\\jtstogel\\Github\\llvm-project\\libc\\src/string/memory_utils/op_generic.h(348): note: while trying to match the argument list \u0027(__llvm_libc_24_0_0_git::Ptr, const T)\u0027\n        with\n        [\n            T\u003d__llvm_libc_24_0_0_git::inline_memmove_aarch64::uint512_t\n        ]\n```\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5337a2abb0b476d219cade1185b22890639ef9b8\n"
    },
    {
      "commit": "2bf02ac888dddb16cdf6fe7992f9c506d8bdb4aa",
      "tree": "574d653f707ba236171bf92beff2ac6c4737b8ad",
      "parents": [
        "806a81638c898190105e38f53278790a4c72abc7"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Fri Jul 24 08:34:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 08:40:48 2026"
      },
      "message": "[libc] Convert readv, writev, and read_write tests to use pipes (#210725)\n\nUsing a pipe avoids races between \"hermetic\" and \"unit\" versions of the\nsame test and avoids leaving filesystem artifacts around if the test\nfails. If I\u0027m successful, we won\u0027t have the worry about the first\nproblem anymore, but I think it\u0027s still a nice cleanup.\n\nAssisted by Gemini.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 35368cb5dd371b823a2ccc0f9598d753cb2529f4\n"
    },
    {
      "commit": "806a81638c898190105e38f53278790a4c72abc7",
      "tree": "639e0c394a8283a553c17760ec870e6f75956262",
      "parents": [
        "073460bfcffdc185ee8e5eef13c06724b55673c7"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Fri Jul 24 07:41:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 07:45:59 2026"
      },
      "message": "[libc] Make getauxval test hermetic (#210706)\n\nTo make this work, I needed to remove the getauxval definition from\nHermeticTestUtils.cpp‎. Even though it was weak, it still prevented the\nreal one from being used because the linker will not extract an archive\nmember if the dependency has already been satisfied by a weak\ndefinition.\n\nI *think* I\u0027ve removed the need for it by changing how the getauxval\ndependency is declared in cmake (it fixes the errors on the presubmit\naarch64 bot), but I don\u0027t know if that was the only issue.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7623cd8c6eec1741cb5ecd803d591fd38d3fc04b\n"
    },
    {
      "commit": "073460bfcffdc185ee8e5eef13c06724b55673c7",
      "tree": "53dc9bb14069926682c96c2d4651095785638c6d",
      "parents": [
        "fd00f8946571de0fc22a42c592091b094b5d8f86"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Fri Jul 24 06:53:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 06:56:18 2026"
      },
      "message": "Reapply \"[libc] Port process utilities to hermetic mode and enable some tests\" (#211484)\n\nThis reverts https://github.com/llvm/llvm-project/pull/210889\n(https://github.com/labath/llvm-project/commit/b7f642fdb262e2ed3c2209b9a10017084e1595ad,\n\"Revert\nrecent changes to the hermetic tests\"), re-applying\nhttps://github.com/llvm/llvm-project/pull/209999\n\n(https://github.com/labath/llvm-project/commit/9e2e9b33e14808541c0470b92ade34bee6608bf6,\n\"[libc] Port process\nutilities to hermetic mode and enable some tests\") and\nhttps://github.com/llvm/llvm-project/pull/210715\n\n(https://github.com/labath/llvm-project/commit/4bd1a447e136e60ea441370ac5d7b898aa4efab0,\n\"[libc] Make hermetic test\nsyscall deps linux-only\"), which was reverted due to failures on the GPU\nbots.\n\nThere are a couple of small changes w.r.t the original patches:\n- This version disables the exit tests on builds that do not\n  support subprocess tests (via the newly introduced\n  LIBC_TEST_SUBPROCESS_TESTS). This is necessary because the GPU builds\n  contain the relevant entry points, which means their tests are not\n  skipped automatically.\n- fix a typo in a variable name\n- make the dependencies conditional on LIBC_TEST_SUBPROCESS_TESTS\n  instead of listing the target OSs directly. This is a no-op, as that\u0027s\n  exactly how the variable is defined, but it makes the code cleaner.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ee407f7e7069cccfdc1815de07e17cebf83d19f9\n"
    },
    {
      "commit": "fd00f8946571de0fc22a42c592091b094b5d8f86",
      "tree": "2fb22d9084ffb2338bd0d91f7e265e009ec3c64e",
      "parents": [
        "19f5977e331ceaf3eb3c1a4c29aff7777a4605aa"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@google.com",
        "time": "Fri Jul 24 05:56:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 06:00:50 2026"
      },
      "message": "[libc] Fix compilation when AVX is not available (#211726)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bac13e7ea2cfcb250de462537b0e84d4403f5029\n"
    },
    {
      "commit": "19f5977e331ceaf3eb3c1a4c29aff7777a4605aa",
      "tree": "9f5444935f3df26d29a048096c4fe12b7d4e0caf",
      "parents": [
        "cf62e4917f259dd3c9e7e60238b401e5decac075"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Thu Jul 23 19:22:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 19:26:16 2026"
      },
      "message": "[libc] Silence sanitizer OOB reports in SIMD read/write helpers. (#211148)\n\nUse `LIBC_NO_SANITIZE_OOB_ACCESS` for small SIMD helper functions\n(load/store/gather/scatter/expand/compress). Even though the actual\nfunctions which have logical OOB reads (such as\n`clang_vector::string_length`) already have\n`LIBC_NO_SANITIZE_OOB_ACCESS` attribute to ignore OOB reads, it\u0027s not\nenough - as we see downstream reports from ASan builds of llvm-libc\n(using tip-of-trunk Clang), both with `-O1` and `-O2`. We simply can\u0027t\nrely on the SIMD helpers being inlined into the caller function, with\ntheir memory reads/writes ignored.\n\nThus, apply the `no_sanitize` attribute to the helpers themselves. This\nis clearly suboptimal, as we\u0027re effectively disabling sanitizer checks\nfor *all* the code using SIMD to read/write from memory, but it seems to\nbe the easiest reasonable fix. After all, code using SIMD (like code\nusing explicit intrinsics or inline assembly) should be written only in\nspecial cases, with author knowing what they\u0027re doing.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ea233a005b3a828affa482c1684f6f76d650a9c1\n"
    },
    {
      "commit": "cf62e4917f259dd3c9e7e60238b401e5decac075",
      "tree": "68d79fd0c7c4cf5af252cf702b570dd18d2eb1a7",
      "parents": [
        "ecd372b648a493212f818ee2cd30f3464404a7d5"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Thu Jul 23 16:59:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 17:05:37 2026"
      },
      "message": "[libc] Implement pthread_setschedparam and getschedparam (#205770)\n\nImplemented the pthread_setschedparam and pthread_getschedparam\nfunctions.\n\nAdded Linux syscall wrappers:\n* sched_setscheduler\n* sched_getscheduler\n* sched_getparam\n\nUpdated the Thread class to support getting and setting scheduling\nparameters.\n\nAdded integration tests to verify the implementation.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8d4f2368a090ca3caed692034422f27498a8d7be\n"
    },
    {
      "commit": "ecd372b648a493212f818ee2cd30f3464404a7d5",
      "tree": "898430adf79442ec331228991a3be5653a21b613",
      "parents": [
        "b1c596466968901351205862375011fa3a6175cc"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Thu Jul 23 15:56:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 16:00:39 2026"
      },
      "message": "[libc] Fix missed errno deps for integration tests (#211415)\n\nFullbuild testing pulls in LLVM-libc\u0027s errno, which needs to be linked\nexplicitly.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 66d6316c9f00ff67b763ce30583c34b1a92fa438\n"
    },
    {
      "commit": "b1c596466968901351205862375011fa3a6175cc",
      "tree": "9b9d7d15469e19327dec19da3a115e1277655772",
      "parents": [
        "2b2ad6cd867f3f7de427e6bb6c014f2004025436"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Thu Jul 23 06:48:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 06:51:10 2026"
      },
      "message": "[libc] Add err.h to Linux public header target lists (#210995)\n\nAdd libc.include.err to TARGET_PUBLIC_HEADERS for Linux targets\n(aarch64, arm, riscv, x86_64) so that err.h gets generated and\ninstalled.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5152c51477aad031eeac540a6f02ed1f6539c710\n"
    },
    {
      "commit": "2b2ad6cd867f3f7de427e6bb6c014f2004025436",
      "tree": "7838cef4d3e2a7718ac66bf88ae48394dc3afef0",
      "parents": [
        "fc207ca0fe8936a7c3746bea5d8080c4e5427018"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Thu Jul 23 04:53:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 04:55:47 2026"
      },
      "message": "[libc][cmake] Add LIBC_TEST_SUBPROCESS_TESTS (#211238)\n\nThis replaces the ENABLE_SUBPROCESS_TESTS preprocessor flag with a cmake\nvariable. By lifting the logic into cmake, we select which test\nframework files to build, and also exclude whole tests, if they do not\nmake sense without subprocess support.\n\nThis enables us to fix failures from (now reverted) #209999 and\n #210889, as it will let us skip the *exit family of tests. The problem\nthere was that GPU targets support the *exit entry points (so the\nauto-skipping logic does not kick in), but they do not have (and maybe\ncannot have?) the functionality necessary to test them.\n\nI convert two libgen tests (the only users of ENABLE_SUBPROCESS_TESTS)\nto the new framework.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 585c900260e0e0b7a381ac0ba7792a5d4c95eed3\n"
    },
    {
      "commit": "fc207ca0fe8936a7c3746bea5d8080c4e5427018",
      "tree": "6b67aea1984c55ec75c5a709ff57495cf1d62978",
      "parents": [
        "25f17ad25ed77ee467e98301c2d8257df774a6d0"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Wed Jul 22 18:44:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 22 18:45:47 2026"
      },
      "message": "[libc] Add missing functions in FEnvImpl.h under LIBC_MATH_USE_SYSTEM_FENV config. (#211303)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4e833e21cce5966ff9617f048ad40226ed60ca70\n"
    },
    {
      "commit": "25f17ad25ed77ee467e98301c2d8257df774a6d0",
      "tree": "e637a30cda20b5331f07c52ea66dcb7da03377e2",
      "parents": [
        "997ff00a9bce38952e415de76a384d5efd4fb033"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Wed Jul 22 10:45:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 22 10:51:01 2026"
      },
      "message": "[libc] Add langinfo.h header generation, macros, and types (#210941)\n\nAdd header generation support for langinfo.h, including nl_item type\ndefinition, langinfo macros, and YAML header specification.\n\n* libc/include/llvm-libc-types/nl_item.h: Define nl_item type\n* libc/include/llvm-libc-macros/langinfo-macros.h: Define POSIX macros\n* libc/include/langinfo.yaml: Define langinfo.h interface\n* libc/include/langinfo.h.def: Header template\n* libc/config/linux/*/headers.txt: Enable langinfo header for Linux\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6d0e88210cd02ef517e42bc095c1bfd1fd5d1d3c\n"
    },
    {
      "commit": "997ff00a9bce38952e415de76a384d5efd4fb033",
      "tree": "dcdf49f4882097082322146edb3f98395083e4fe",
      "parents": [
        "cbf784dd1de29f91e829788767958fbe9f378109"
      ],
      "author": {
        "name": "Alex Strelnikov",
        "email": "strel@google.com",
        "time": "Tue Jul 21 21:35:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 21:40:41 2026"
      },
      "message": "[libc] Migrate printf_core from stdio/ to __support/. (#208303)\n\nThe code will be updated and used for wide character printf functions\nimplemented in wchar/, so __support/ is a more consistent shared\nlocation.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c3373183d2fbb2184c249f93549c300104c994e0\n"
    },
    {
      "commit": "cbf784dd1de29f91e829788767958fbe9f378109",
      "tree": "480f77c62b8882ac9a8043150a18729f80ca70d6",
      "parents": [
        "9b650c244a3d4a0f6bba4ee81605bbaa1351a9de"
      ],
      "author": {
        "name": "Zorojuro",
        "email": "sawantsukumar@gmail.com",
        "time": "Tue Jul 21 13:20:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 13:25:35 2026"
      },
      "message": "[libc] Float128 Emulation in LLVM libc (#200565)\n\nIntroducing emulated float128 in LLVM libc\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7c445ab1d08597a89a829ff938b55264cc480150\n"
    },
    {
      "commit": "9b650c244a3d4a0f6bba4ee81605bbaa1351a9de",
      "tree": "8ef0171096b1876ffe391b85185936af80be6183",
      "parents": [
        "fd361e2e027827c330165542860cf49f95cba91d"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Jul 21 07:47:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 07:50:39 2026"
      },
      "message": "[ilbc] Revert recent changes to the hermetic tests (#210889)\n\nPR #209999 (9e2e9b33e14808541c0470b92ade34bee6608bf6) \"broke\" the GPU\nbuild by causing many/most tests to not run.\n\nThe follow-up in #210715 (4bd1a447e136e60ea441370ac5d7b898aa4efab0)\nbroke it for real\n(https://lab.llvm.org/buildbot/#/builders/10/builds/32254) by causing\ntoo many tests to run.\n\nI think we just need to disable the extra tests, but I want to start out\nby reverting both patches so that it\u0027s easier to compare the\nbefore/after state in the next attempt.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b7f642fdb262e2ed3c2209b9a10017084e1595ad\n"
    },
    {
      "commit": "fd361e2e027827c330165542860cf49f95cba91d",
      "tree": "db5265a02e1c1649e76b0cc753f9ab1ab6fdad18",
      "parents": [
        "47673d48c169f008526bc1c39dfcb2af13f0968f"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Jul 21 05:19:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 05:21:17 2026"
      },
      "message": "[libc] Add struct group_req, struct group_source_req, and related socket options (#210029)\n\nAdd definitions for struct group_req and struct group_source_req in\nllvm-libc-types and wire them into \u003cnetinet/in.h\u003e.\n\nAlso define the multicast socket options using these structs:\n- MCAST_JOIN_GROUP\n- MCAST_LEAVE_GROUP\n- MCAST_BLOCK_SOURCE\n- MCAST_UNBLOCK_SOURCE\n- MCAST_JOIN_SOURCE_GROUP\n- MCAST_LEAVE_SOURCE_GROUP\n\nAdd layout assertions for struct group_req and struct group_source_req\nto the netinet/in.h unit test.\n\nAssisted by Gemini.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 375231d8ea9b4f5a3a71f4afb3d76ba6e1dcefc5\n"
    },
    {
      "commit": "47673d48c169f008526bc1c39dfcb2af13f0968f",
      "tree": "df7fdfd3029426222b3a93b7adf9131da208a304",
      "parents": [
        "c0852c770d4ed1a8cf7a70cd8e6fd0d0a6ab8c43"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Jul 21 05:18:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 05:21:01 2026"
      },
      "message": "[libc] Make hermetic test syscall deps linux-only (#210715)\n\nThey are only used on linux, so this matches that.\n\nThey are also only used in full build mode, but hermetic tests only work\nin full build mode, so we don\u0027t need to check that here. The darwin\ncheck is a noop as (AAIU) we don\u0027t support full_build on darwin, but\nI\u0027ve kept it for symmetry.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4bd1a447e136e60ea441370ac5d7b898aa4efab0\n"
    },
    {
      "commit": "c0852c770d4ed1a8cf7a70cd8e6fd0d0a6ab8c43",
      "tree": "64e772482032267561e23d2ee970461f02b58563",
      "parents": [
        "09bba68f99ae26dcf064f07d0f5d0d198e3642a2"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Mon Jul 20 21:54:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 21:55:48 2026"
      },
      "message": "[libc][realpath] Validate path components (#209370)\n\nThis PR updates `realpath` to validate paths and return `ENOTDIR` or\n`ENOENT` according to\nhttps://pubs.opengroup.org/onlinepubs/9699919799/functions/realpath.html.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 66af87fd8b49cb44eabb9ccd08de77027ce3c90e\n"
    },
    {
      "commit": "09bba68f99ae26dcf064f07d0f5d0d198e3642a2",
      "tree": "7fe93a7690f77c4b2f852aa276bf17d4111f2d03",
      "parents": [
        "29a836469cc538e7ef8b5aeefc15efc6e3ff876f"
      ],
      "author": {
        "name": "Alex Strelnikov",
        "email": "strel@google.com",
        "time": "Mon Jul 20 19:51:07 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 19:55:53 2026"
      },
      "message": "[libc] Fix standard streams variable name typos in overlay mode. (#210728)\n\nThese appear to be a couple of copy/paste misses from #187522.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c9a17d3e4690b50d68124f7207a1035237bb5c16\n"
    },
    {
      "commit": "29a836469cc538e7ef8b5aeefc15efc6e3ff876f",
      "tree": "eeb65aeb0949dfd6874b9f802083554304234193",
      "parents": [
        "226ea9964cbbe489a0bca401d0f042b51f0d8aa5"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Mon Jul 20 15:44:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 15:45:44 2026"
      },
      "message": "[libc] Fix sockatmark test (#210655)\n\nWhen writing the test, I assumed that (linux) domain sockets do not\nsupport OOB data, and that sockatmark returns 0, because it can never\nread it.\n\nIn fact, as of 2021, linux does support OOB on domain sockets, but this\nfeature can be turned off at build time (CONFIG_AF_UNIX_OOB). In this\ncase (or in the case of older kernels), the kernel returns an error (and\nthe test fails).\n\nArmed with this knowledge, I modify the test to test both \"1\" (OOB\npresent) and \"0\" (no OOB data) cases by actually sending OOB data into\nthe socket. I use the send call to determine the presence of OOB\nsupport, and have the test skip itself if it is absent. OOB data only\nmakes sense on stream sockets, so change the socketpair type to that.\n\n---------\n\nCo-authored-by: Jeff Bailey \u003cjbailey@raspberryginger.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c84d20b18026fc230a7957c8faf3cf3a40d9cb55\n"
    },
    {
      "commit": "226ea9964cbbe489a0bca401d0f042b51f0d8aa5",
      "tree": "e4254a06e485ef6e9cab9eabdd1fdd3c6deaf3f9",
      "parents": [
        "fde15b19a6bb3f5818a874275829af2524c97758"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Mon Jul 20 08:09:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 08:10:42 2026"
      },
      "message": "[libc][cmake] Remove proxy header XXX_macros -\u003e XXX.h deps (#210008)\n\nIn the full build mode, these headers do not include the main XXX.h\nheader, which makes sense, because they exist to allow us only to expose\na part of it. They do include it in the overlay mode, but in this case,\nthey are referring to the header from the libc being overlaid, which\nexists outside of the build system.\n\nAlso fix float_macros by moving\nlibc.include.llvm-libc-macros.float_macros from DEPENDS to\nFULL_BUILD_DEPENDS, as llvm-libc-macros/float-macros.h is only included\nunder LIBC_FULL_BUILD.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a4ca7f3a670c84196cad4c739114b316fed6d8f1\n"
    },
    {
      "commit": "fde15b19a6bb3f5818a874275829af2524c97758",
      "tree": "4eeba16c2cbbe1f1f491a733d4dc47fe76741ee0",
      "parents": [
        "8840f8449abcf2bb3e4f6ce2350fd56202f8a50f"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Mon Jul 20 07:46:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 07:50:50 2026"
      },
      "message": "[libc] Port process utilities to hermetic mode and enable some tests (#209999)\n\nThis is achieved by calling internal libc functions in hermetic mode. In\nthe overlay mode I keep calling the system functions so that the tests\nwork even on systems which don\u0027t have these implemented.\n\nI also needed to implement the delete operators as both the libc proper\nand the test framework uses them nowadays.\n\nThis is sufficient to enable all stdlib tests in hermetic mode, except\nfor one, which actually exposes a bug in the implementation. I\u0027ll deal\nwith that in a separate patch.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9e2e9b33e14808541c0470b92ade34bee6608bf6\n"
    },
    {
      "commit": "8840f8449abcf2bb3e4f6ce2350fd56202f8a50f",
      "tree": "4c209dbc463e6caf7466e12f8b7dde9242f52a6b",
      "parents": [
        "11802f8ee207dd748437cd06df104e82708ca33f"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Sun Jul 19 02:41:23 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jul 19 02:46:09 2026"
      },
      "message": "[libc] Omit -fpie from the full build (#208343)\n\nWe shouldn\u0027t unconditionally set -fpie, users should be able to control\nthis with CMAKE_POSITION_INDEPENDENT_CODE.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8043ceb7591cc1e55e699cbf8f23fffe1e90381f\n"
    },
    {
      "commit": "11802f8ee207dd748437cd06df104e82708ca33f",
      "tree": "13c7a19c554ec01c18a25024fb61336989357f03",
      "parents": [
        "2b64180d54f8194a40cd942b31d272cce1891156"
      ],
      "author": {
        "name": "Anonmiraj",
        "email": "ezzibrahimx@gmail.com",
        "time": "Sun Jul 19 01:29:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jul 19 01:35:40 2026"
      },
      "message": "[libc][math] Implement half precision lgamma function (#192834)\n\nThe implementation uses three distinct paths based on $|x|$:\n\n- Small ($|x| \u003c 0.66$): Fits a degree-12 Chebyshev for $h(t) \u003d\n\\frac{\\text{lgamma}(t) + \\log(t)}{t}$, recovering $\\text{lgamma}(t) \u003d t\n\\cdot h - \\log(t)$.\n\n- Medium ($|x| \\in [0.66, 3.37]$): Fits a degree-20 Chebyshev for $g(t)\n\u003d \\frac{\\text{lgamma}(t)}{(t-1)(t-2)}$\n- Stirling ($|x| \u003e 3.37$): Uses $(x-0.5) \\cdot \\log(x) - x +\n\\frac{\\log(2\\pi)}{2}$ plus 1/2/4/8-term Bernoulli corrections by\nsub-range.\n\nSpecial cases: NaN, +/-Inf -\u003e +Inf, +/-0 pole, negative integer pole,\nlgamma(1) \u003d lgamma(2) \u003d 0 exactly, overflow for large positive x.\n\nExhaustive tests pass in all 4 rounding modes.\n\n-- CORE-MATH reciprocal throughput --\nNtrial \u003d 20 ; Min \u003d 391.348 + 77.447 clc/call; Median-Min \u003d 68.093\nclc/call; Max \u003d 540.055 clc/call;\n-- System LIBC reciprocal throughput --\nNtrial \u003d 20 ; Min \u003d 377.829 + 81.686 clc/call; Median-Min \u003d 64.851\nclc/call; Max \u003d 532.888 clc/call;\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f05a649741f248e3809a6d0e7b5a8daf7bed74a8\n"
    },
    {
      "commit": "2b64180d54f8194a40cd942b31d272cce1891156",
      "tree": "95009439ef5f95e2b6d67dc591531eade213c58d",
      "parents": [
        "51c4b85565c813ea1697e6bb92abbea80864303f"
      ],
      "author": {
        "name": "Pengxiang Huang",
        "email": "71998072+Pengxiang-Huang@users.noreply.github.com",
        "time": "Fri Jul 17 22:19:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 22:20:12 2026"
      },
      "message": "[libc][semaphore] Add post and wait operations for internal semaphore (#198959)\n\nThis pr implements https://github.com/llvm/llvm-project/issues/190847,\nadding the post and wait operations in posix semaphore for linux using\nfutex.\n\nParticularly,\n`sem_post`:\nhttps://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_post.html\n`sem_trywait`, `sem_wait`:\nhttps://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_wait.html\n`sem_timedwait`, `sem_clockwait`:\nhttps://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_clockwait.html#\n\nThe implementation is assisted by Claude Code Opus 4.7, specifically for\nthe unit tests generations.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2926d18a0620a768857dce1c827d0a3da0d0b565\n"
    },
    {
      "commit": "51c4b85565c813ea1697e6bb92abbea80864303f",
      "tree": "7712178f84c5541324b4519e747d1f4bc11ed125",
      "parents": [
        "b9781f7e5df000b4842bda089642b55750b403c5"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Fri Jul 17 21:51:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 21:56:09 2026"
      },
      "message": "[libc][realpath] Support relative paths (#209374)\n\nUpdates realpath to call the `getcwd` linux syscall wrapper to resolve\ncwd-relative queries.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b4a444ad635af70fe32f58d46fe0c08221fbcf5a\n"
    },
    {
      "commit": "b9781f7e5df000b4842bda089642b55750b403c5",
      "tree": "3d6723de4e8f19e47944870943eda888d30c352a",
      "parents": [
        "af2200b7673fdcde5e614ce501aad4ad66236ec1"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Fri Jul 17 19:12:15 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 19:15:25 2026"
      },
      "message": "[libc][realpath][test] Create test files/directories (#209369)\n\nFollow-up PRs will add path validation etc to `realpath`, which will\nrequire paths to exist in the filesystem.\n\nThis PR bumps the memory limit in `HermeticTestUtils.cpp`. The realpath\nunit tests allocate quite a few strings, and since memory in hermetic\ntests is never freed, the unit test quickly reaches the limit.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3e55f3c56e8706fa12792b5a4de05f636bf798d0\n"
    },
    {
      "commit": "af2200b7673fdcde5e614ce501aad4ad66236ec1",
      "tree": "41962669cbb31a1bcf67c04a6901df0c6fafcb7b",
      "parents": [
        "a10196985813c672d6950a1f25829fb63c0f1823"
      ],
      "author": {
        "name": "Mikhail R. Gadelha",
        "email": "mikhail@igalia.com",
        "time": "Fri Jul 17 17:23:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 17:26:00 2026"
      },
      "message": "[libc][NFC] Port raw syscall users to existing syscall_wrappers (#208039)\n\nSeveral call sites still invoked syscall_impl directly (or carried\ntheir own SYS_* fallback ladders) for syscalls that already have a\nwrapper in src/__support/OSUtil/linux/syscall_wrappers.\n\nThis PR removes these syscalls in favor of the syscall_wrappers.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f04bf4791ae6d56b822f9bca6eb82ce4adccb989\n"
    },
    {
      "commit": "a10196985813c672d6950a1f25829fb63c0f1823",
      "tree": "18df0e9772a4051859d4d1c19330ad8428d6f69b",
      "parents": [
        "d379b9abf58951be04eec1ec4ab257fb6b525335"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Fri Jul 17 07:14:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 07:20:27 2026"
      },
      "message": "[libc][docs] Dynamically generate time.h documentation (#210197)\n\nRemoved the static time.rst file.\n\nAdded time to docgen_list in libc/docs/CMakeLists.txt. Created\nlibc/utils/docgen/time.yaml to define the functions.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 89f5334990c5aa853fcbaa361aefe5b999e63dc5\n"
    },
    {
      "commit": "d379b9abf58951be04eec1ec4ab257fb6b525335",
      "tree": "d3e849ee76fa14eb4beff56342a897d612a0a2be",
      "parents": [
        "ee87761375fb7c02b5f55848273c264e09b3d02a"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Fri Jul 17 06:45:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 06:50:27 2026"
      },
      "message": "[libc] Fix size of struct sockaddr_storage (#210037)\n\nMy cleverness with the union backfired as it introduced an\n(architecture-specific) padding between before it. Drop the union to\navoid that.\n\nThis probably wouldn\u0027t break much as the structure exists just to\nallocate space (and this made it larger), but we should fix it\nnonetheless.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c571b0bd7330a4b737ad7dec31e7f2b52edd3953\n"
    },
    {
      "commit": "ee87761375fb7c02b5f55848273c264e09b3d02a",
      "tree": "bf296a3214aca05264bb310d1566e5bc477c4055",
      "parents": [
        "3639ff6d7633775ff27cea89d5159fa704155631"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Fri Jul 17 06:44:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 06:50:16 2026"
      },
      "message": "[libc] add net/if.h to the list of installed headers (#210021)\n\non aarch64, riscv and x86_64.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 02f55a9e5e4775bc17cc23f9d1e7f5ee23cf63cd\n"
    },
    {
      "commit": "3639ff6d7633775ff27cea89d5159fa704155631",
      "tree": "97dd0c85c95c5641f91395f67579f7fc003b766c",
      "parents": [
        "6ad514433158316d518ae46b1acc642a438bc65d"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Fri Jul 17 05:54:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 05:56:07 2026"
      },
      "message": "[libc][bazel] Add remaining sys/socket functions and tests (#209798)\n\nThis patch adds the following sys/socket functions and syscall wrapper\nlibraries to BUILD.bazel:\n- accept\n- accept4\n- bind\n- connect\n- getpeername\n- getsockname\n- listen\n- sockatmark\n\nI\u0027m also enabling the unit tests for these functions. Running AF_UNIX\nsocket tests under Bazel ran into a problem where the absolute path to\nthe test sandbox directory exceeds the 108-byte limit of\nsockaddr_un::sun_path. To work around that, I added a TestDirectoryScope\nhelper that temporarily chdirs into the test directory so the tests can\nuse short relative filenames, and restores the original working\ndirectory on exit.\n\nAssisted by Gemini.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c5837b469c6d6f35eb0822cd9ebd7c2aa7e2ab75\n"
    },
    {
      "commit": "6ad514433158316d518ae46b1acc642a438bc65d",
      "tree": "9339da70b6d4984417f86bbb8293aeadd361bf09",
      "parents": [
        "87c41132d521fde82485a0d1069c65a570766e6c"
      ],
      "author": {
        "name": "sohail",
        "email": "sohailraj.satapathy@gmail.com",
        "time": "Fri Jul 17 01:40:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 01:47:31 2026"
      },
      "message": "[libc][stdfix] Guard DiviFxTest shift edge cases against narrow IntType (#209970)\n\nFixes riscv32 buildbot failure from #206115.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7fec267c9a44c76604e1135ee0ef694c4eaae784\n"
    },
    {
      "commit": "87c41132d521fde82485a0d1069c65a570766e6c",
      "tree": "a3866e197c9b0069822cbde233efce52a191e4ea",
      "parents": [
        "8f19b617535aeeeec6a1e87dca2916f294267f50"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Fri Jul 17 00:11:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 00:15:53 2026"
      },
      "message": "[libc][math] Fix double-rounding errors with denormal inputs for hypot function. (#208247)\n\nThe issue was reported by Paul Zimmermann.\n\nSolution: for denormal inputs, we use 1.0 + x trick after proper scaling\nto mimick rounding at denormal scale.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a45ae4cf77776bdae8ab79c3b5b4d4ef7cbd7d99\n"
    },
    {
      "commit": "8f19b617535aeeeec6a1e87dca2916f294267f50",
      "tree": "a47199320eb3d757c037b87da7ad46989bb02779",
      "parents": [
        "02cf2ca576d787ed1b6a009ddfa9f0d1e127c232"
      ],
      "author": {
        "name": "Alexey Samsonov",
        "email": "vonosmas@gmail.com",
        "time": "Thu Jul 16 22:03:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 22:05:32 2026"
      },
      "message": "[libc] Move gettimeofday to sys/time.h header. (#210185)\n\n`gettimeofday` is supposed to be declared in the `\u003csys/time.h\u003e` header,\nnot the `\u003ctime.h\u003e` where we\u0027ve had it previously. Move the declaration\nto the correct header, and move the files with implementation and unit\ntests accordingly.\n\nNote that `gettimeofday` is removed removed from POSIX-2024, but let\u0027s\nkeep it available for now, since there\u0027s fair amount of existing code\nthat still uses it.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bd0395ebfe9830b1e3dc9580021fb5a3ab343a51\n"
    },
    {
      "commit": "02cf2ca576d787ed1b6a009ddfa9f0d1e127c232",
      "tree": "6707dadf1b9691bb46d6c0e5056b5e02c4e319e1",
      "parents": [
        "26a6cb34cf25bd4a54ac1d10c97af480066acea5"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Thu Jul 16 20:43:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 20:46:02 2026"
      },
      "message": "[libc] Implement alloca.h header (#210150)\n\nImplemented the alloca.h header for LLVM libc.\n\n* libc/include/llvm-libc-macros/alloca-macros.h: Defined alloca macro\nusing __builtin_alloca.\n* libc/include/alloca.yaml: Added header specification.\n* libc/include/CMakeLists.txt,\nlibc/include/llvm-libc-macros/CMakeLists.txt: Registered the new header\nand macro targets.\n* libc/config/linux/*/headers.txt: Enabled the header for Linux targets\n(x86_64, aarch64, arm, i386, riscv).\n* libc/test/include/alloca_test.cpp, libc/test/include/CMakeLists.txt:\nAdded and registered functional unit tests.\n\nTested by running the new unit and hermetic tests.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fe616e4d87cfbce9317537aa95e6068ac103a373\n"
    },
    {
      "commit": "26a6cb34cf25bd4a54ac1d10c97af480066acea5",
      "tree": "89fe388a80baea2a55d4cbbfbaee9eddfb781cd2",
      "parents": [
        "fe0d8474534cb6f8330458cf074230f3bb4ba1a7"
      ],
      "author": {
        "name": "DylanFleming-arm",
        "email": "85629460+DylanFleming-arm@users.noreply.github.com",
        "time": "Thu Jul 16 18:46:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 18:50:38 2026"
      },
      "message": "[libc][mathvec] Fix missing ABI-prefix from causing errors (#210127)\n\nabi_prefix.h throws errors for unsupported ABI targets. This patch\nmodifies that behaviour to instead fall back onto a default\nnaming scheme instead, as to not break non-vfabi supporting targets.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4c50e41095b36cfa2e362a4f1990c4df59533836\n"
    },
    {
      "commit": "fe0d8474534cb6f8330458cf074230f3bb4ba1a7",
      "tree": "e27b2f037efd4c09f52730dd8d4662c9a64f2462",
      "parents": [
        "d2aec35381b703fbbb3dfbcd80b3594e3830729e"
      ],
      "author": {
        "name": "hulxv",
        "email": "hulxxv@gmail.com",
        "time": "Thu Jul 16 18:37:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 18:42:21 2026"
      },
      "message": "[libc][math] reduce duplicated inv trig helpers (#191364)\n\nInstead of duplicate inv trig helpers for float and double. we can unify\nthem when that is possible and drop inv_trigf_utils after moving helpers\nto asin_utils and atan_utils. That makes everything clean.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f6ed48325939e40940fccce886e5414d26b7114e\n"
    },
    {
      "commit": "d2aec35381b703fbbb3dfbcd80b3594e3830729e",
      "tree": "817f6d9bcf64582d49ee872a05286315bf9f0f5e",
      "parents": [
        "e47bd251d50531ab503f875c847861f0589be158"
      ],
      "author": {
        "name": "DylanFleming-arm",
        "email": "85629460+DylanFleming-arm@users.noreply.github.com",
        "time": "Thu Jul 16 14:20:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 14:25:22 2026"
      },
      "message": "[libc][mathvec] Add loop over scalar for unary FP32 (#199273)\n\nAdds all FP32 unary functions currently supported in scalar LLVM LIBM to\nLIBMVEC as loop over scalars.\n\nIncludes some cleanup of existing mathvec testing infrastructure\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e3d3b3b0cf3672480d6f781a9726cec1e7983d14\n"
    },
    {
      "commit": "e47bd251d50531ab503f875c847861f0589be158",
      "tree": "47d2806e59c3a069b6849ab557091ed52dd3ef2a",
      "parents": [
        "340c8679547be4ab4cd2f09052308880aab20f09"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Thu Jul 16 06:35:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 06:40:33 2026"
      },
      "message": "[libc] Reimplement IN6_IS_ADDR_* macros using statement expressions (#209772)\n\nThis patch fixes three issues with the previous implementation:\n- the macro argument was being evaluated more than once\n- casting to other types (uint32_t in particular) was an aliasing\nviolation\n- it was casting to non-const pointers, resulting in compiler errors in\ncases where the user passes a const ptr.\n\nA statement expression fixes the first issue by using a temporary\nvariable. The second issue is fixed by using the appropriate members of\nstruct in6_addr. The last issue is fixed by dropping the cast\ncompletely. This requires the user to pass a correctly types pointer (as\nPOSIX requires). Implementations keep it for compatibility with old code\npassing void * and similar, but a quick survey shows that most modern\ncode passes the correct types. If this turns out to be an issue, we can\neasily add the cast (to a const type) back.\n\nImplementation notes:\n- IN6_IS_ADDR_MULTICAST doesn\u0027t use the statement expression because the\nargument is evaluated only once\n- I use private helper macros (__IN6_IS_ADDR_UNSPECIFIED and\n__IN6_IS_ADDR_LOOPBACK) so IN6_IS_ADDR_V4COMPAT does not nest statement\nexpressions\n- I considered using private entrypoints (like we do with cpuset macros)\ninstead of statement expressions, but decided against it because these\nmacros are simpler and would thus result in a higher\nboilerplate-to-useful-code ratio (particularly given our restriction on\ncalling other entrypoints)\n\nAssisted by Gemini.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5a530a22fae4aaa41da79779cd56db57f8de55f8\n"
    },
    {
      "commit": "340c8679547be4ab4cd2f09052308880aab20f09",
      "tree": "e7618012b97760cbc5c372a1644ee9a8ede18f9e",
      "parents": [
        "39a0c1d7862ffac0b9a0d36bedac9ea1b9800cba"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Thu Jul 16 06:30:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 06:35:26 2026"
      },
      "message": "[libc] Replace sys/select.h, sys/utsname.h and sys/wait.h includes with proxy headers (#209851)\n\nI\u0027m replacing system includes of \u003csys/select.h\u003e, \u003csys/utsname.h\u003e, and\n\u003csys/wait.h\u003e in non-test and non-proxy code with granular proxy headers.\n\n- add proxy headers for sys/select.h and sys/wait.h macros as well as\nfd_set, struct rusage, and struct utsname types\n- switch select, uname, gethostname, and wait4 internal headers and\nimplementations to include the proxy headers instead of system headers\n- update cmake dependencies for the affected entry points\n\nAssisted by Gemini.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 89a4b2f880a7b852cb9b4ff20a1e38a6b3a037a5\n"
    },
    {
      "commit": "39a0c1d7862ffac0b9a0d36bedac9ea1b9800cba",
      "tree": "691ca274d44225ba59dd06477da9c20a27ef59c6",
      "parents": [
        "6f9d59dd4bf483050b7b25169447de067fa0fd51"
      ],
      "author": {
        "name": "sohail",
        "email": "sohailraj.satapathy@gmail.com",
        "time": "Thu Jul 16 04:24:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 04:25:52 2026"
      },
      "message": "[libc][stdfix] Implement divifx functions in LLVM libc (#206115)\n\nFixes #129124\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 48607d29847349a617d4416c7be820032881a5a0\n"
    },
    {
      "commit": "6f9d59dd4bf483050b7b25169447de067fa0fd51",
      "tree": "8e306298d09a6416198de539572f39f0852ed181",
      "parents": [
        "6e8607024fab2f2e8f0ffa244da451ddd39dca93"
      ],
      "author": {
        "name": "Schrodinger ZHU Yifan",
        "email": "yfzhu@google.com",
        "time": "Wed Jul 15 22:24:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 22:25:15 2026"
      },
      "message": "[libc][baremetal] expose `malloc_usable_size` from freelist heap (#208337)\n\nExpose the `malloc_usable_size` API by reconstruct the `BlockRef` from a\npointer to the head of user payload. The operation is cheap as we only\ndo a query to the block header to obtain the metadata.\n\nAssisted-by: Gemini based automation tools (human-in-the-loop)\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1b5eb9b48dddd17b88f61f4718db357fbd2f8ed4\n"
    },
    {
      "commit": "6e8607024fab2f2e8f0ffa244da451ddd39dca93",
      "tree": "11e3bf8c05a09919f7a83c2270640652c35b0c14",
      "parents": [
        "f9ef9f298c5c1a0e839c277f7b3bde9c4fac699d"
      ],
      "author": {
        "name": "Schrodinger ZHU Yifan",
        "email": "yfzhu@google.com",
        "time": "Wed Jul 15 18:24:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 18:30:41 2026"
      },
      "message": "[libc][baremetal][NFC] cache away redundant freelist memory access during push and pop (#208282)\n\nBy explicitly caching Node *next \u003d node-\u003enext; and Node *prev \u003d\nnode-\u003eprev; at function entry:\n#### Before (Original):\n```llvm\n    13:                                               ; preds \u003d %6\n      %14 \u003d load ptr, ptr %1, align 8                 ; Load node-\u003eprev\n      %15 \u003d getelementptr inbounds nuw i8, ptr %14, i64 8\n      store ptr %8, ptr %15, align 8                  ; Store next to prev-\u003enext\n      %16 \u003d load ptr, ptr %7, align 8                 ; \u003c--- REDUNDANT LOAD of node-\u003enext\n      store ptr %14, ptr %16, align 8                 ; Store prev to next-\u003eprev\n      %17 \u003d icmp eq ptr %3, %1\n      br i1 %17, label %18, label %20\n\n    18:                                               ; preds \u003d %13, %10\n      %19 \u003d phi ptr [ null, %10 ], [ %16, %13 ]\n      store ptr %19, ptr %0, align 8\n```\n#### After (Manual GVN in  remove ):\n```llvm\n    13:                                               ; preds \u003d %6\n      %14 \u003d load ptr, ptr %1, align 8                 ; Load node-\u003eprev\n      %15 \u003d getelementptr inbounds nuw i8, ptr %14, i64 8\n      store ptr %8, ptr %15, align 8                  ; Store next to prev-\u003enext\n      store ptr %14, ptr %8, align 8                  ; \u003c--- REUSES CACHED %8 DIRECTLY\n      %16 \u003d icmp eq ptr %3, %1\n      br i1 %16, label %17, label %19\n\n    17:                                               ; preds \u003d %13, %10\n      %18 \u003d phi ptr [ null, %10 ], [ %8, %13 ]        ; \u003c--- REUSES CACHED %8 IN PHI NODE\n      store ptr %18, ptr %0, align 8\n```\n\n### 2. Compiler Optimization Remarks \u0026 LTO Impact\n\n  1.  GVN  Diagnostics:\n• Before: freelist.cpp:41:11: remark: load of type ptr not eliminated\n[-Rpass-missed\u003dgvn]\n      • After: Clean (0 missed GVN remarks).\n  2. LTO (Link-Time Optimization) \u0026 Code Size:\nEliminates 1 memory read ( MOV64rm ) and 1 memory store ( MOV64mr ) at\nevery inlined call site in malloc / free.\n\nAssisted-by: Gemini based automation tool (human-in-the-loop)\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c4c4f207590a1569b5c30ffe2f204f5d0d535a68\n"
    },
    {
      "commit": "f9ef9f298c5c1a0e839c277f7b3bde9c4fac699d",
      "tree": "c64dee245939acdb8a6eee4d683903da1b96b0ce",
      "parents": [
        "a27aa3e03738f79ae10807bfe5f80cf1cbf29101"
      ],
      "author": {
        "name": "Victor Campos",
        "email": "victor.campos@arm.com",
        "time": "Wed Jul 15 09:40:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 09:45:57 2026"
      },
      "message": "[libc] Annex K: Add constraint handler unit test class (#197707)\n\nThis unit test class will be useful for the tests related to Annex K.\nThe functions in Annex K may call a constraint handler, so this new unit\ntest class will facilitate the checks that the constraint handling\nmechanism is working as expected.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 94ef4fce34ca8bbf79729814959c0d70b4a9ba3b\n"
    },
    {
      "commit": "a27aa3e03738f79ae10807bfe5f80cf1cbf29101",
      "tree": "d3db6354d39514d129ce6bd9eef7df22e2674cc9",
      "parents": [
        "5477fb04c4629919181befbb75860286e066c5fc"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Wed Jul 15 07:50:27 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 07:55:28 2026"
      },
      "message": "[libc] Remove #include \u003csys/whatever.h\u003e (#209449)\n\nand replace with granular includes of type/macro proxy headers -- where\nthose headers exist. I\u0027m leaving the creation of new proxy headers for\nanother patch.\n\nAssisted by Gemini.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b790c5cd267974456806773f01dfb8936b22e4f2\n"
    },
    {
      "commit": "5477fb04c4629919181befbb75860286e066c5fc",
      "tree": "8128f8758dcc5c743671e5da0d6e4962d3c37404",
      "parents": [
        "a9c493640870f064b10a53fb26d298915340495d"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Wed Jul 15 07:08:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 07:10:05 2026"
      },
      "message": "[libc] Implement inet_ntoa (#208702)\n\nImplement inet_ntoa, reusing the internal net::ipv4_to_str helper that\nbacks inet_ntop.\n\nThe result is stored in a *thread-local* static buffer. A thread-local\nbuffer is not required for POSIX conformance, but there is some\nprecedent for that, both in llvm libc (e.g. `strsignal`) and in glibc\n(whose `inet_ntoa` uses it). I\u0027m doing the same for maximum\ncompatiblity.\n\nAssisted by Gemini.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 89fa7352a2cfd5ec498ba442de77d257475954f2\n"
    },
    {
      "commit": "a9c493640870f064b10a53fb26d298915340495d",
      "tree": "93456c305aa17c38721746afd88ed69c2aaca41b",
      "parents": [
        "26f8f855471934cd2aed6eb160850a9747fdc0be"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Wed Jul 15 06:52:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 06:55:33 2026"
      },
      "message": "[libc] Remove #include \u003csignal.h\u003e (#209433)\n\nReplace it with granular includes of the appropriate type/macro proxy\nheaders.\n\nAssisted by Gemini.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 36c6568b04aff4e1cf00a60570ab4a4344692920\n"
    },
    {
      "commit": "26f8f855471934cd2aed6eb160850a9747fdc0be",
      "tree": "be108790e5fdb3da366e2dbad0913fdf9bed4f0b",
      "parents": [
        "7b383c1eede792089bebb5e9c58cb97bda5d2774"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Tue Jul 14 19:15:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 19:20:42 2026"
      },
      "message": "[libc] Fix potential timespec type mismatch for arm32 targets in futex_utils.h. (#209556)\n\nThis causes the arm32 build bots to hang.\n\nAssisted-by: Gemini 3.5 Flash.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d0775bdb7f483b8aa4700b97a65718d5f3c9cfa8\n"
    },
    {
      "commit": "7b383c1eede792089bebb5e9c58cb97bda5d2774",
      "tree": "a5f4c501ff5a6c71e452438ecbef9a7a87e9804c",
      "parents": [
        "e39ecfe981e28a62383eaaf8273c8a1539bc9f8b"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Tue Jul 14 16:39:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 16:40:43 2026"
      },
      "message": "[libc] Fix a typo in posix_madvise_test. (#209523)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 77ff300cdfdbafc1abf60a79c32da497616afc1a\n"
    },
    {
      "commit": "e39ecfe981e28a62383eaaf8273c8a1539bc9f8b",
      "tree": "d210760394c30d8142796a55a7a7559f8959a358",
      "parents": [
        "b0b55307c8b70652f38938f052eb7547bbb5c581"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Tue Jul 14 15:10:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 15:15:41 2026"
      },
      "message": "[libc] Fix posix_madvise_test for riscv32 bot. (#209504)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: de4bb53abe61dec8482f91b39ce3dac6ab0d5cd9\n"
    },
    {
      "commit": "b0b55307c8b70652f38938f052eb7547bbb5c581",
      "tree": "f586ffeff4499fd3aa2b7b3e832a774c5dfe6ab7",
      "parents": [
        "fcac1c0c1a15313b3e4ae582d8126a851b608cdc"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Tue Jul 14 12:14:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 12:15:33 2026"
      },
      "message": "[libc] Fix non-relative includes of __llvm-libc-common.h (#209412)\n\nThis seems to work, but I ran into this problem when trying to expand\nhermetic tests.\n\nThe hdrgen-generated headers already use relative includes of this file.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: cf9a244fb2216fb55b77e1df785f6535b44b3e7f\n"
    },
    {
      "commit": "fcac1c0c1a15313b3e4ae582d8126a851b608cdc",
      "tree": "059b52b0dc8bb20d55176373d11518bed95df95d",
      "parents": [
        "83f32ad6082062f42d45886fba823bcc3b812bc3"
      ],
      "author": {
        "name": "Jeff Bailey",
        "email": "jbailey@raspberryginger.com",
        "time": "Tue Jul 14 11:23:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 11:24:51 2026"
      },
      "message": "[libc] Implement SA_NODEFER and SA_RESETHAND signal flags (#209429)\n\nDefined SA_NODEFER and SA_RESETHAND in Linux signal-macros.h.\n\nAdded unit tests in sigaction_test.cpp to verify the behavior of the new\nflags. Also added a test case for SA_SIGINFO.\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: da99ce2fe0f4a185ceb02c9a650ba5efdb208612\n"
    }
  ],
  "next": "83f32ad6082062f42d45886fba823bcc3b812bc3"
}
