)]}'
{
  "log": [
    {
      "commit": "3abc79db85306079782db401b2e80020dcc6253a",
      "tree": "575293a50f8152d1780b63df5a48ea8f4c646eb3",
      "parents": [
        "64a4b533cc2377904079de5fdcab6935a39bfe49",
        "5b5bab5b1c7a8a901a38c6bf72f2af5e18d03cf2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 17 19:38:48 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 17 19:38:48 2024 +0000"
      },
      "message": "Merge \"Add a \u003cstdatomic.h\u003e header test, and the missing kill_dependency macro.\" into main"
    },
    {
      "commit": "5b5bab5b1c7a8a901a38c6bf72f2af5e18d03cf2",
      "tree": "b6eaeea019a6b9563687543f4511171767cf7707",
      "parents": [
        "2bef43c039815b7a5e50fffdc2e3755acb958601"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 17 16:38:05 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 17 16:38:05 2024 +0000"
      },
      "message": "Add a \u003cstdatomic.h\u003e header test, and the missing kill_dependency macro.\n\nTest expectations based on\nhttps://pubs.opengroup.org/onlinepubs/9799919799/basedefs/stdatomic.h.html\n\nChange-Id: Ida47c3a9c67a9c4af8a4c4174d2e765615034175\n"
    },
    {
      "commit": "64a4b533cc2377904079de5fdcab6935a39bfe49",
      "tree": "82fada9e7950e7734c486fd9b8bae95d52102803",
      "parents": [
        "f459d8068ada0e25496fc4fee532a0d5c228b496",
        "45655d305d22f9c8d5a3ad771a84d149538d659d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 17 12:46:21 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 17 12:46:21 2024 +0000"
      },
      "message": "Merge \"Reuse the strtod_l()/strtof_l() polyfills as the \"real\" implementation.\" into main"
    },
    {
      "commit": "f459d8068ada0e25496fc4fee532a0d5c228b496",
      "tree": "3b47077bffe5cfc61e3e0c3e87782f666fb34266",
      "parents": [
        "81114877b92e3f29f7a19825d4decab4dd4ada2f",
        "ba3805abd8ec6502bb5bd2f67109b917b33cc8e2"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Oct 16 22:12:07 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 16 22:12:07 2024 +0000"
      },
      "message": "Merge \"Remove unused variable.\" into main"
    },
    {
      "commit": "81114877b92e3f29f7a19825d4decab4dd4ada2f",
      "tree": "5b26736dd3c1d443e16f80d1d03a527de898fd77",
      "parents": [
        "babfe8004b1ce4182a76895cae56bad3c2498c30",
        "eae2849b96c8a4ae70f781751057d676e335d087"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Oct 16 20:47:57 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 16 20:47:57 2024 +0000"
      },
      "message": "Merge \"Revert \"Tidy up and document \u003climits.h\u003e.\"\" into main"
    },
    {
      "commit": "babfe8004b1ce4182a76895cae56bad3c2498c30",
      "tree": "c15b9197ec5429d962535908c5df614f2b810a01",
      "parents": [
        "be3908975674d3eb3af760af14e3fe19f28be45a",
        "e11877813ecbdebd18f86685173f0e92a1bd7ab4"
      ],
      "author": {
        "name": "Matthew Maurer",
        "email": "mmaurer@google.com",
        "time": "Wed Oct 16 20:19:56 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 16 20:19:56 2024 +0000"
      },
      "message": "Merge \"Remove \u003cprivate/bsd_sys_param.h\u003e.\" into main"
    },
    {
      "commit": "e11877813ecbdebd18f86685173f0e92a1bd7ab4",
      "tree": "c84db89562222daea72fd7994b7498cccaa57475",
      "parents": [
        "4abb16385b2e1e7af478126a10a0ed6d208bc60f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 16 17:50:45 2024 +0000"
      },
      "committer": {
        "name": "Matthew Maurer",
        "email": "mmaurer@google.com",
        "time": "Wed Oct 16 20:10:46 2024 +0000"
      },
      "message": "Remove \u003cprivate/bsd_sys_param.h\u003e.\n\nIt\u0027s hardly used, and the two most interesting users are clearer with\nmodern alignof() anyway.\n\nBug: 373789390\nChange-Id: I52368ab372ee3afd4ed2dd8e373ff0223d59db0e\n"
    },
    {
      "commit": "eae2849b96c8a4ae70f781751057d676e335d087",
      "tree": "6158fc809ee4854c22f5ad83e744a04fe7eea983",
      "parents": [
        "47eb52732097ff9d4311f923ba48f4eabffe04b7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 16 19:52:11 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 16 19:53:34 2024 +0000"
      },
      "message": "Revert \"Tidy up and document \u003climits.h\u003e.\"\n\nThis reverts commit 47eb52732097ff9d4311f923ba48f4eabffe04b7.\n\nReason for revert: breaks ndk build because the OS build and the NDK build [which is just clang\u0027s built-in default] have clang\u0027s built-in include/ directory and ours in the opposite order; we\u0027ll have to fix the OS build include order before we can come back and do this properly.\n\nChange-Id: Ide5e05dec2f28d36e731bd896b00f7fd8469a6d0\n"
    },
    {
      "commit": "be3908975674d3eb3af760af14e3fe19f28be45a",
      "tree": "7fec3ad28964e2cba2292bd209802cd105a01fbc",
      "parents": [
        "665bf63cee07c9c0aadbbc18eda6d67229b6495f",
        "47eb52732097ff9d4311f923ba48f4eabffe04b7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 16 19:00:32 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 16 19:00:32 2024 +0000"
      },
      "message": "Merge \"Tidy up and document \u003climits.h\u003e.\" into main"
    },
    {
      "commit": "665bf63cee07c9c0aadbbc18eda6d67229b6495f",
      "tree": "71736aa90b8186238933b384e9a6ded9352a86f0",
      "parents": [
        "2a5473faec54a0a9d2362b05a77d628b76b726d0",
        "414dd2d6b5fbbaf23423abe5cdee7f40f9d95ec1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 16 17:58:06 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 16 17:58:06 2024 +0000"
      },
      "message": "Merge \"Always include \u003csys/cdefs.h\u003e first.\" into main"
    },
    {
      "commit": "2a5473faec54a0a9d2362b05a77d628b76b726d0",
      "tree": "19c067ef8a719d667fc43eb59d939f2188a90f37",
      "parents": [
        "4abb16385b2e1e7af478126a10a0ed6d208bc60f",
        "87a5d209f90a2a19aca34c32fe90efc37611605f"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Oct 16 17:43:32 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 16 17:43:32 2024 +0000"
      },
      "message": "Merge \"Remove unused variable.\" into main"
    },
    {
      "commit": "414dd2d6b5fbbaf23423abe5cdee7f40f9d95ec1",
      "tree": "ca898cdffaeeb8f2e796fa4627c754c770ed227c",
      "parents": [
        "4abb16385b2e1e7af478126a10a0ed6d208bc60f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 16 14:48:30 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 16 14:48:30 2024 +0000"
      },
      "message": "Always include \u003csys/cdefs.h\u003e first.\n\nOtherwise you can\u0027t be sure that things like __BIONIC__ work.\n\nChange-Id: Ic5e59988b69419828c3b1a97332c7e2ab58e09a1\n"
    },
    {
      "commit": "87a5d209f90a2a19aca34c32fe90efc37611605f",
      "tree": "19c067ef8a719d667fc43eb59d939f2188a90f37",
      "parents": [
        "4abb16385b2e1e7af478126a10a0ed6d208bc60f"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 15 23:55:14 2024 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 15 23:55:14 2024 +0000"
      },
      "message": "Remove unused variable.\n\nThe expected_end variable is set but not used. Remove it and all\nplaces where it is set.\n\nTest: Warning about used but not set variable is gone.\nChange-Id: I5576feb4fffe4064300c583f7be883b4963bafce\n"
    },
    {
      "commit": "47eb52732097ff9d4311f923ba48f4eabffe04b7",
      "tree": "7981010261e760e548b686c32c5b2485d0cdff96",
      "parents": [
        "4abb16385b2e1e7af478126a10a0ed6d208bc60f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 15 19:57:00 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 15 19:57:00 2024 +0000"
      },
      "message": "Tidy up and document \u003climits.h\u003e.\n\nIn particular, defer to clang for anything clang is willing to supply.\n\nChange-Id: I12cb6918fbfe453e07511c99fc0dd892910ea7c1\n"
    },
    {
      "commit": "ba3805abd8ec6502bb5bd2f67109b917b33cc8e2",
      "tree": "fc4e84e3b85a81df0ba9f47ee792f45a10c7c4ee",
      "parents": [
        "4abb16385b2e1e7af478126a10a0ed6d208bc60f"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 15 18:01:08 2024 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 15 18:02:00 2024 +0000"
      },
      "message": "Remove unused variable.\n\nTest: Builds with -Wunused-variable\nChange-Id: I095012f367fa86e6683e73c93d7167b875366178\n"
    },
    {
      "commit": "4abb16385b2e1e7af478126a10a0ed6d208bc60f",
      "tree": "6158fc809ee4854c22f5ad83e744a04fe7eea983",
      "parents": [
        "bc958541508a8f9c492e6d11f1e5a427d00cf716",
        "b4fa67f66d8b4720c75ae77c156ee7b6ec9aa7a8"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Oct 15 00:19:09 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 15 00:19:09 2024 +0000"
      },
      "message": "Merge changes Ifbb55372,I26f5833b,I19ec542e,Ibe203918 into main\n\n* changes:\n  Implement deterministic MTE globals for dlext RELRO sharing\n  Fix dlext tests for MTE globals\n  Re-land tests for MTE globals\n  Re-land linker support for MTE globals\n"
    },
    {
      "commit": "b4fa67f66d8b4720c75ae77c156ee7b6ec9aa7a8",
      "tree": "6158fc809ee4854c22f5ad83e744a04fe7eea983",
      "parents": [
        "c54d307ffdca290f7931ad04a5acbf873a9ee849"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Aug 21 19:43:08 2024 +0200"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon Oct 14 10:00:39 2024 -0700"
      },
      "message": "Implement deterministic MTE globals for dlext RELRO sharing\n\nThis patch makes MTE globals deterministic for dlext loading that uses\neither ANDROID_DLEXT_WRITE_RELRO or ANDROID_DLEXT_USE_RELRO. Without\nthis patch, every load of a dynamic library ends up with completely\nrandom tags. This of course, kills the page sharing 15/16-th of the\ntime.\n\nSo, instead, for this specific RELRO loading, we use deterministic\nglobal tags. This provides a small amount of protection without\nkilling the sharing and eating up more ram.\n\nAs a nice side effect, this fixes up one of the dlext tests that ensures\nthat the RELRO pages do get shared.\n\nBug: 315182011\nTest: On both an MTE-enabled and non-MTE-enabled device:\nTest: atest libprocinfo_test bionic-unit-tests bionic-unit-tests-static\nCtsGwpAsanTestCases gwp_asan_unittest debuggerd_test\n\nChange-Id: Ifbb55372346734d0a68e20c34cb0ae5be895021b\n"
    },
    {
      "commit": "c54d307ffdca290f7931ad04a5acbf873a9ee849",
      "tree": "1c64fb74279bfe4fec72dfb1be150598516334b0",
      "parents": [
        "61436e232b0891a97db16ca833100f6c8008d26c"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Aug 21 19:41:18 2024 +0200"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon Oct 14 10:00:39 2024 -0700"
      },
      "message": "Fix dlext tests for MTE globals\n\nExisting dlext anonymous tests use /proc/maps to figure out which\nmappings to create a duplicate of, and then branch to them and ensure\nthe symbol resolution ends up in the right place.\n\nUnfortunately, this breaks with MTE globals (and seems slightly broken\nalready with things like bss?) because the mapping name doesn\u0027t exactly\nmatch. The global variable sections, under MTE globals, are remapped as\nPROT_MTE which requires them to be anonymous, and so we use the kernel\nAPI to name them with a mt: prefix. This prefix trips up the\n/proc/maps selection.\n\nInstead of just implementing lazy-matching, I\u0027ve changed the logic to\ninstead use dl_iterate_phdr to ensure we grab all the sections from the\nDSO for now and in future. This seems more bullet-proof.\n\nTest: atest bionic-unit-tests on a fullmte device with MTE globals\nre-landed, enabled, and the new toolchain. Also on a non-MTE device.\nBug: 320448268\n\nChange-Id: I26f5833b22b66945459f09465d815d2ddee07c2a\n"
    },
    {
      "commit": "61436e232b0891a97db16ca833100f6c8008d26c",
      "tree": "85148ce3e9e46e857aac721159d8519f5116f380",
      "parents": [
        "2e6e409dc0f5b95e641ef7e24e9dfac02f9998b4"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Aug 21 19:36:51 2024 +0200"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon Oct 14 10:00:39 2024 -0700"
      },
      "message": "Re-land tests for MTE globals\n\nThe original patch (aosp/2709995) was reverted because of a bug in the\nlinker implementation of the feature.\n\nThis patch adds a couple of tests. In comparison to the previous\nversion, this comes in source-based only because we don\u0027t need a\nprebuilt now that the toolchain is modern enough to produce MTE-globals\ncapable binaries.\n\nThere is a main test that checks that MTE globals is working properly.\nAnd there\u0027s another test that checks against the regression that caused\nthis feature to be reverted in the first place.\n\nBug: 315182011\nTest: On both an MTE-enabled and non-MTE-enabled device:\nTest: atest libprocinfo_test bionic-unit-tests bionic-unit-tests-static\nCtsGwpAsanTestCases gwp_asan_unittest debuggerd_test memtag_stack_dlopen_test\n\nChange-Id: I19ec542ef792eaba59d21eb0e033ed7d00c6127b\n"
    },
    {
      "commit": "2e6e409dc0f5b95e641ef7e24e9dfac02f9998b4",
      "tree": "48b979103edb795d297d9ef614c1a64cd836f874",
      "parents": [
        "bc958541508a8f9c492e6d11f1e5a427d00cf716"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Aug 21 17:07:18 2024 +0200"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon Oct 14 10:00:38 2024 -0700"
      },
      "message": "Re-land linker support for MTE globals\n\nThe original patch (aosp/1845896) had a major bug. This happened for\nout-of-bounds RELR relocations, as we\u0027d attempt to materialize the\naddress tag of the result unconditionally. This meant crashes happened\non non-MTE devices (particularly the webview) when loading DSOs\ncontaining an OOB RELR reloc.\n\nThis patch includes a fix, where we only materialize the tag during RELR\nand other relocations if the result is in a binary that uses MTE\nglobals. Note that that\u0027s not the binary *containing* the relocation has\nMTE globals (for RELR/RELATIVE relocations the binary containing the\nrelocation and the result is the same binary, but that\u0027s not the case\nfor GLOB_DAT).\n\nOther than that, from the original patch, this adds the necessary\nbionic code for the linker to protect global data during MTE.\n\nThe implementation is described in the MemtagABI addendum to the\nAArch64 ELF ABI:\nhttps://github.com/ARM-software/abi-aa/blob/main/memtagabielf64/memtagabielf64.rst\n\nIn summary, this patch includes:\n\n1. When MTE globals is requested, the linker maps writable SHF_ALLOC\n   sections as anonymous pages with PROT_MTE (copying the file contents\n   into the anonymous mapping), rather than using a file-backed private\n   mapping. This is required as file-based mappings are not necessarily\n   backed by the kernel with tag-capable memory. For sections already\n   mapped by the kernel when the linker is invoked via. PT_INTERP, we\n   unmap the contents, remap a PROT_MTE+anonymous mapping in its place,\n   and re-load the file contents from disk.\n\n2. When MTE globals is requested, the linker tags areas of global memory\n   (as defined in SHT_AARCH64_MEMTAG_GLOBALS_DYNAMIC) with random tags,\n   but ensuring that adjacent globals are never tagged using the same\n   memory tag (to provide detemrinistic overflow detection).\n\n3. Changes to RELATIVE, ABS64, and GLOB_DAT relocations to load and\n   store tags in the right places. This ensures that the address tags are\n   materialized into the GOT entries as well. These changes are a\n   functional no-op to existing binaries and/or non-MTE capable hardware.\n\nBug: 315182011\nTest: On both an MTE-enabled and non-MTE-enabled device:\nTest: atest libprocinfo_test bionic-unit-tests bionic-unit-tests-static CtsGwpAsanTestCases gwp_asan_unittest debuggerd_test memtag_stack_dlopen_test\nChange-Id: Ibe203918f2e67b133b5ccdd57dbb07fe69a4c2ba\n"
    },
    {
      "commit": "bc958541508a8f9c492e6d11f1e5a427d00cf716",
      "tree": "705f100ce8260901e1e7a573f8b6a32f814b10e9",
      "parents": [
        "9232ff4f0ddebf5d7629dfc5607e410b459918b9",
        "6459ad3e67e8484817a285f573cb7df0d7b8c3c4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Oct 11 22:25:28 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 11 22:25:28 2024 +0000"
      },
      "message": "Merge \"bionic: Add page size 16KiB compat tests\" into main"
    },
    {
      "commit": "6459ad3e67e8484817a285f573cb7df0d7b8c3c4",
      "tree": "705f100ce8260901e1e7a573f8b6a32f814b10e9",
      "parents": [
        "9232ff4f0ddebf5d7629dfc5607e410b459918b9"
      ],
      "author": {
        "name": "Kalesh Singh",
        "email": "kaleshsingh@google.com",
        "time": "Wed Oct 02 14:12:23 2024 -0700"
      },
      "committer": {
        "name": "Kalesh Singh",
        "email": "kaleshsingh@google.com",
        "time": "Fri Oct 11 21:12:46 2024 +0000"
      },
      "message": "bionic: Add page size 16KiB compat tests\n\nThe test check whether an ELF built for 4KiB max-page-size can be\nloaded on a 16KiB page-sized device.\n\nThis test is only run on devices with 16KiB base page size.\n\nBug: 339709616\nTest: adb shell setprop bionic.linker.16kb.app_compat.enabled [true|false]\nTest: atest bionic-unit-tests\nTest: atest CtsBionicTestCases\nChange-Id: Ibd8a1c2e2d59bf13d7328377d012430c16b8e76c\nSigned-off-by: Kalesh Singh \u003ckaleshsingh@google.com\u003e\n"
    },
    {
      "commit": "9232ff4f0ddebf5d7629dfc5607e410b459918b9",
      "tree": "8e777b776c099f8d2847fdc0ecf80866ae2710af",
      "parents": [
        "25a5023ac2049f1e25a3a0f7ee75da5899ba5049",
        "ce1c3cf77b8b08d402818dad10b804013f46722f"
      ],
      "author": {
        "name": "Kalesh Singh",
        "email": "kaleshsingh@google.com",
        "time": "Fri Oct 11 20:58:05 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 11 20:58:05 2024 +0000"
      },
      "message": "Merge changes I3b4e4293,Ice110c6e into main\n\n* changes:\n  linker: LoadSegments: Load 4KiB ELFs on 16KiB page-sized systems\n  linker: LoadSegments: Preparatory work for 16KiB App Compat\n"
    },
    {
      "commit": "25a5023ac2049f1e25a3a0f7ee75da5899ba5049",
      "tree": "c49b1a86236b94b579e7595ac8e480f82b987061",
      "parents": [
        "341537e8a3edcfb538979c7d420b6663c15f063b",
        "755b9c127fb253085748cb3cd84aacbcbb501f70"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 11 18:08:15 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 11 18:08:15 2024 +0000"
      },
      "message": "Merge \"libc: Set __bionic_asm_align to 64 for arm and arm64\" into main"
    },
    {
      "commit": "45655d305d22f9c8d5a3ad771a84d149538d659d",
      "tree": "4b6e4d0ee2c6f249e5e9b45dec7b30f0fb29b420",
      "parents": [
        "4f50fd24bc3df50313b51322707505dfd7f252ba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 11 17:46:14 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 11 17:46:14 2024 +0000"
      },
      "message": "Reuse the strtod_l()/strtof_l() polyfills as the \"real\" implementation.\n\nChange-Id: I1efaff77e9836bcf87640bd9ea630d3a96fc9e9e\n"
    },
    {
      "commit": "755b9c127fb253085748cb3cd84aacbcbb501f70",
      "tree": "7976a43543f22de6fe86da60dc9b901db5081d3e",
      "parents": [
        "fdcb85d1e5cadd2e0b89d9dc74a55897ef5b5983"
      ],
      "author": {
        "name": "Jake Weinstein",
        "email": "jake@aospa.co",
        "time": "Thu May 30 11:43:07 2019 -0500"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 11 15:39:16 2024 +0000"
      },
      "message": "libc: Set __bionic_asm_align to 64 for arm and arm64\n\nThis matches arm-optimized-routines.\n\nChange-Id: I049e88d88a043911093641f44d9846fa5f6f3982\nSuggested-By: Wilco Dijkstra \u003cwilco.dijkstra@arm.com\u003e\nTest: Compiles and boots\n"
    },
    {
      "commit": "ce1c3cf77b8b08d402818dad10b804013f46722f",
      "tree": "07774b84d408b5aa6c3c917bea7b6cc19fbc909e",
      "parents": [
        "b23787f4870ca171d81d7bf8715c778b553e2adc"
      ],
      "author": {
        "name": "Kalesh Singh",
        "email": "kaleshsingh@google.com",
        "time": "Mon Sep 30 13:26:23 2024 -0700"
      },
      "committer": {
        "name": "Kalesh Singh",
        "email": "kaleshsingh@google.com",
        "time": "Fri Oct 11 03:14:18 2024 -0700"
      },
      "message": "linker: LoadSegments: Load 4KiB ELFs on 16KiB page-sized systems\n\nFirstly reserve additional space for aligning the permission boundary in\ncompat loading. Only kPageSize-kCompatForPageSize additional space is\nneeded, but reservation is done with mmap which can only give page sized\nmultiple reservations, so page-align the required size. This may result\nin reserving more space than needed, but this is not a problem; since VA\nspace can only be reserved in page-sized (16KiB) multiples.\n\nMake the initial reservation mapping RW, since in compat mode, the ELF\ncontents will be read into the mapping; instead of mapped over it, as done\nin conventional loading.\n\nFor determining the segment extent/boundaries for loading(reading in)\nthe ELF contents, use the compat(legacy)  page size (4096). The larger\n16KiB page size will lead to overwriting adjacent segments since the\nELF was not built with 16KiB aligned segments.\n\nIn 16KiB compatibility mode only ELFs that follow the below layout\ncan be loaded successfully:\n\n        ┌────────────┬─────────────────────────┬────────────┐\n        │            │                         │            │\n        │  (RO|RX)*  │   (RW - RELRO prefix)?  │    (RW)*   │\n        │            │                         │            │\n        └────────────┴─────────────────────────┴────────────┘\n\nIn other words, compatible layouts have:\n        - zero or more RO or RX segments;\n        - followed by zero or one RELRO prefix;\n        - followed by zero or more RW segments (this can include the RW\n          suffix from the segment containing the RELRO prefix, if any)\n\nIn 16KiB compat mode, after relocation, the ELF is laid out in virtual\nmemory as is shown below:\n        ┌──────────────────────────────────────┬────────────┐\n        │                                      │            │\n        │                (RX)?                 │    (RW)?   │\n        │                                      │            │\n        └──────────────────────────────────────┴────────────┘\n\nIn compat mode:\n        - the RO and RX segments along with the RELRO prefix are protected\n          as RX;\n        - and the RW segments along with RW suffix from the relro segment,\n          if any; are RW protected.\n\nThis allows for the single RX|RW permission boundary to be aligned with\na 16KiB page boundary; since a single page cannot share multiple\npermissions.\n\nIn compatibility mode, RELRO needs special handling. After relocation,\nthe relro segment shares RX permission with the preceding sections of\nthe ELF. This entire region i.e preceding RO/RX segments and the relro\nprefix is referred to as the \"compat relro section\" -- it\u0027s permission\nneeds to be modified as a whole.\n\nIntroduce ElfReader compat_relro_[start|size] to save the extent of the\n\"compat relro section\", when loading an ELF in 16KiB compat mode in\nElFReader and pipe it through to soinfo.\n\nOnce the RW|RX permission boundary of the ELF to be loaded in\ncompatibility mode is known, the RX|RW permission boundary is positioned\non a 16KiB page boundary by offseting from the load start; since a single\npage cannot share multiple permissions.\n\nFor debuggability, the VMAs(mappings) for the loaded ELF in compat mode\nare labelled with the file path followed by \"(compat loaded)\". This is\nnecessary since the segments were loaded in anonymous mappings.\n\nSample output from /proc/*/maps:\n\n71d6b91ec000-71d6b91f0000 r-xp 00000000 00:00 0    [anon:/system/lib64/elf_max_page_size_4kib.so (compat loaded)]\n71d6b91f0000-71d6b91f4000 rw-p 00000000 00:00 0    [anon:/system/lib64/elf_max_page_size_4kib.so (compat loaded)]\n\nBug: 339709616\nTest: atest linker-unit-tests\nChange-Id: I3b4e4293326a9adf06d429ebf38c86cf1d4276f6\nSigned-off-by: Kalesh Singh \u003ckaleshsingh@google.com\u003e\n"
    },
    {
      "commit": "341537e8a3edcfb538979c7d420b6663c15f063b",
      "tree": "a7cf46ba44565d44d5d32274b8cc6000a04a84a3",
      "parents": [
        "6b24bfa445fea911409e622c4a57f163b95ca85f",
        "52fe6ce2ed8557305b1c02753ae924151409d425"
      ],
      "author": {
        "name": "Aditya Kumar",
        "email": "appujee@google.com",
        "time": "Thu Oct 10 22:49:53 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 10 22:49:53 2024 +0000"
      },
      "message": "Merge \"Disable warning: passing no argument for the \u0027...\u0027 parameter of a variadic macro is a C23 extension\" into main"
    },
    {
      "commit": "52fe6ce2ed8557305b1c02753ae924151409d425",
      "tree": "a7cf46ba44565d44d5d32274b8cc6000a04a84a3",
      "parents": [
        "6b24bfa445fea911409e622c4a57f163b95ca85f"
      ],
      "author": {
        "name": "Aditya Kumar",
        "email": "appujee@google.com",
        "time": "Thu Oct 10 20:40:39 2024 +0000"
      },
      "committer": {
        "name": "Aditya Kumar",
        "email": "appujee@google.com",
        "time": "Thu Oct 10 20:40:39 2024 +0000"
      },
      "message": "Disable warning: passing no argument for the \u0027...\u0027 parameter of a variadic macro is a C23 extension\n\n\n\nBug: b/372529642\nChange-Id: I606429a647570b75e38ae09e468705e88111c048\n"
    },
    {
      "commit": "6b24bfa445fea911409e622c4a57f163b95ca85f",
      "tree": "20818cc558c15707048b1a7ebf8dc269ac6c7e46",
      "parents": [
        "6cd85a726e97adc5f298b3f527a279f2a807e109",
        "1d4f7f59ca94f5b79515cfc25f89af2e8494a69d"
      ],
      "author": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Thu Oct 10 17:51:08 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 10 17:51:08 2024 +0000"
      },
      "message": "Merge \"16kb: bionic: Re-align libtest_invalid-zero_shdr_table_offset.so to 16kb\" into main"
    },
    {
      "commit": "6cd85a726e97adc5f298b3f527a279f2a807e109",
      "tree": "b2e797e1701748decc5e697ad6550a1c8a12d7da",
      "parents": [
        "9eeb0336eeba33076041c17d5d3c563fadce544e",
        "9018e5fcd19dca8024a409a7fa210e886cfcff38"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Oct 10 17:35:31 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 10 17:35:31 2024 +0000"
      },
      "message": "Merge \"librust_baremetal: Use cc_baremetal_defaults\" into main"
    },
    {
      "commit": "9eeb0336eeba33076041c17d5d3c563fadce544e",
      "tree": "8b2e89fcc4b09ccf0bc846f25bfb0765b632940c",
      "parents": [
        "05113d4a2fbac6daf148703bf53f443e1395d912",
        "5b17c76f7f2a48d401a9a441d570d50389bb935e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Oct 10 17:27:38 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 10 17:27:38 2024 +0000"
      },
      "message": "Merge \"16kb: bionic: Re-align libtest_invalid-zero_shdr_table_content.so to 16kb\" into main"
    },
    {
      "commit": "b23787f4870ca171d81d7bf8715c778b553e2adc",
      "tree": "12d6cb0226c982b515a60e8f1750fc413b4ad686",
      "parents": [
        "846d85e83602649a28bd859f7f3989283d624c99"
      ],
      "author": {
        "name": "Kalesh Singh",
        "email": "kaleshsingh@google.com",
        "time": "Thu Sep 05 08:22:06 2024 +0000"
      },
      "committer": {
        "name": "Kalesh Singh",
        "email": "kaleshsingh@google.com",
        "time": "Wed Oct 09 17:23:14 2024 -0700"
      },
      "message": "linker: LoadSegments: Preparatory work for 16KiB App Compat\n\nIntroduce should_use_16kib_app_compat_ to ElfReader and pipe it through\nto soinfo.\n\nIntroduce seg_align and use align_up()/align_down to align the segment\nstart and end, as it offers more flexiblility than\npage_start()/page_end().\n\nUse should_use_16kib_app_compat_ to skip steps that won\u0027t be needed in\ncompatbility mode.\n\nNo functional change is introduced in this patch.\n\nBug: 339709616\nTest: atest linker-unit-tests\nChange-Id: Ice110c6e2ad54a2ca65e70eb119d9e2b7973a963\nSigned-off-by: Kalesh Singh \u003ckaleshsingh@google.com\u003e\n"
    },
    {
      "commit": "05113d4a2fbac6daf148703bf53f443e1395d912",
      "tree": "e5c55e419c4b4b63f9604395f1b0bf1ec2aaccd4",
      "parents": [
        "846d85e83602649a28bd859f7f3989283d624c99",
        "63fca20d45d1c34cb55aa3ef29d28cc9b4d22102"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Oct 10 00:16:05 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 10 00:16:05 2024 +0000"
      },
      "message": "Merge \"[AArch64] BTI flag is missing from the crt_pad_segment.S\" into main"
    },
    {
      "commit": "1d4f7f59ca94f5b79515cfc25f89af2e8494a69d",
      "tree": "1e7c10d5b9be5daa1fbd41b2c7174124dabc9b27",
      "parents": [
        "5b17c76f7f2a48d401a9a441d570d50389bb935e"
      ],
      "author": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Tue Oct 08 17:25:49 2024 -0700"
      },
      "committer": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Tue Oct 08 17:25:49 2024 -0700"
      },
      "message": "16kb: bionic: Re-align libtest_invalid-zero_shdr_table_offset.so to 16kb\n\nThe library libtest_invalid-zero_shdr_table_offset.so is realigned to 16kb\nfor arm64 and x86_64.\n\nIn order for the bionic-unit-tests to pass with 16kb page size targets,\nit is necessary to realign the libraries to 16kb.\n\nThis library was generated using:\n\n```\n$ m geninvalelf64\n$ adb push out/target/product/vsoc_x86_64_pgagnostic/system/bin/geninvalelf64 /data\n$ adb shell\n  vsoc_x86_64_pgagnostic:./data/geninvalelf64 test_X86_64/libtest_empty.so test_X86_64\n```\n\nWith this change, the test `dlopen_invalid_zero_shdr_table_offset` is passing in\naosp_cf_x86_64_phone_pgagnostic target.\n\n```\n$ m bionic-unit-tests\n$ atest bionic-unit-tests\n[2872/2978] dlfcn#dlopen_invalid_zero_shdr_table_offset: PASSED (2ms)\n```\n\nBug: 347728628\nTest: Use readelf to verify executable header\nFor arm64:\n\n```\n    $ readelf: test_arm64/libtest_invalid-zero_shdr_table_offset.so: bad shstrndx\n    ELF Header:\n      Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00\n      Class:                             ELF64\n      Data:                              2\u0027s complement, little endian\n      Version:                           1 (current)\n      OS/ABI:                            UNIX - System V\n      ABI Version:                       0\n      Type:                              DYN (Shared object file)\n      Machine:                           arm64\n      Version:                           0x1\n      Entry point address:               0x0\n      Start of program headers:          64 (bytes into file)\n      Start of section headers:          0 (bytes into file)\n      Flags:                             0x0\n      Size of this header:               64 (bytes)\n      Size of program headers:           56 (bytes)\n      Number of program headers:         9\n      Size of section headers:           64 (bytes)\n      Number of section headers:         22\n      Section header string table index: 20\n    section header 20\u0027s offset 28 + size 532575944724 \u003e file size 4888\n```\n\nFor x86_64\n\n```\n    $ readelf -h test_x86_64/libtest_invalid-zero_shdr_table_offset.so\n    readelf: test_x86_64/libtest_invalid-zero_shdr_table_offset.so: bad shstrndx\n    ELF Header:\n      Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00\n      Class:                             ELF64\n      Data:                              2\u0027s complement, little endian\n      Version:                           1 (current)\n      OS/ABI:                            UNIX - System V\n      ABI Version:                       0\n      Type:                              DYN (Shared object file)\n      Machine:                           x86-64\n      Version:                           0x1\n      Entry point address:               0x0\n      Start of program headers:          64 (bytes into file)\n      Start of section headers:          0 (bytes into file)\n      Flags:                             0x0\n      Size of this header:               64 (bytes)\n      Size of program headers:           56 (bytes)\n      Number of program headers:         9\n      Size of section headers:           64 (bytes)\n      Number of section headers:         22\n      Section header string table index: 20\n    section header 20\u0027s offset 94489297000 + size 68719476736 \u003e file size 4624\n```\n\nChange-Id: I303c3f10dfd64ced27e0c269d4e244f9fb6e1714\n"
    },
    {
      "commit": "5b17c76f7f2a48d401a9a441d570d50389bb935e",
      "tree": "ae02394a506c81e8fe9075a9ea7cd1bcaa60a6fd",
      "parents": [
        "846d85e83602649a28bd859f7f3989283d624c99"
      ],
      "author": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Tue Oct 08 13:35:05 2024 -0700"
      },
      "committer": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Tue Oct 08 13:35:05 2024 -0700"
      },
      "message": "16kb: bionic: Re-align libtest_invalid-zero_shdr_table_content.so to 16kb\n\nThe library libtest_invalid-zero_shdr_table_content.so is realigned to 16kb\nfor arm64 and x86_64.\n\nIn order for the bionic-unit-tests to pass with 16kb page size targets,\nit is necessary to realign the libraries to 16kb.\n\nThis library was generated using:\n\n```\n$ m geninvalelf64\n$ adb push out/target/product/vsoc_x86_64_pgagnostic/system/bin/geninvalelf64 /data\n$ adb shell\n  vsoc_x86_64_pgagnostic:./data/geninvalelf64 test_X86_64/libtest_empty.so test_X86_64\n```\n\nWith this change, the test `dlopen_invalid_zero_shdr_table_content` is passing in\naosp_cf_x86_64_phone_pgagnostic target.\n\n```\n$ m bionic-unit-tests\n$ atest bionic-unit-tests\n[2874/2978] dlfcn#dlopen_invalid_zero_shdr_table_content: PASSED (4ms)\n```\n\nBug: 347728628\nTest: Use readelf and xxd to verify executable header\nFor arm64:\n\n```\n      $ readelf -h arm64/libtest_invalid-zero_shdr_table_content.so\n      ELF Header:\n        Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00\n        Class:                             ELF64\n        ....\n        Start of section headers:          3480 (bytes into file)\n\n      # Check the content after the offset 3480\n      $ xxd -s 3480 arm64/libtest_invalid-zero_shdr_table_content.so\n      00000d98: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000da8: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000db8: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000dc8: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000dd8: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000de8: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      .....\n      000012c8: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      000012d8: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      000012e8: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      000012f8: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00001308: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n```\n\nFor x86_64\n\n```\n      $ readelf -h x86_64/libtest_invalid-zero_shdr_table_content.so\n      ELF Header:\n        Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00\n        Class:                             ELF64\n        ...\n        Start of section headers:          3216 (bytes into file)\n\n      # Check the content after the offset 3216\n      $ xxd -s 3216 x86_64/libtest_invalid-zero_shdr_table_content.so\n      00000c90: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000ca0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000cb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000cc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000cd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000ce0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000cf0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000d00: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000d10: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000d20: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000d30: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000d40: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00000d50: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      .....\n      000011e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      000011f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n      00001200: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n```\n\nChange-Id: I8a0129bc92f7cdc04907e62ac9c92a2edcde2f30\n"
    },
    {
      "commit": "9018e5fcd19dca8024a409a7fa210e886cfcff38",
      "tree": "10e0b3719cfa2d37deeac8c09107a2687ae9efe0",
      "parents": [
        "91c23e7a6f18351ef33f3e95f6d8e26be228e673"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Wed Oct 02 15:57:00 2024 +0100"
      },
      "committer": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Tue Oct 08 17:33:03 2024 +0100"
      },
      "message": "librust_baremetal: Use cc_baremetal_defaults\n\nUse the library to share configuration with other baremetal targets.\n\nTest: m pvmfw\nChange-Id: Idbcbffa1cfdc9b1408695396600702241de1eadf\n"
    },
    {
      "commit": "63fca20d45d1c34cb55aa3ef29d28cc9b4d22102",
      "tree": "e5c55e419c4b4b63f9604395f1b0bf1ec2aaccd4",
      "parents": [
        "846d85e83602649a28bd859f7f3989283d624c99"
      ],
      "author": {
        "name": "Daniel Kiss",
        "email": "daniel.kiss@arm.com",
        "time": "Tue Oct 08 14:24:28 2024 +0000"
      },
      "committer": {
        "name": "Daniel Kiss",
        "email": "daniel.kiss@arm.com",
        "time": "Tue Oct 08 14:24:38 2024 +0000"
      },
      "message": "[AArch64] BTI flag is missing from the crt_pad_segment.S\n\nWithout this the ctr_pad_segment.o will disable BTI on the final binary.\nSince no code inside it is BTI compliant anyway.\n\nChange-Id: I3a5986e77f6c6d38a5d35bae8756128b2d29e177\n"
    },
    {
      "commit": "846d85e83602649a28bd859f7f3989283d624c99",
      "tree": "5ddd748d46936bf61c27c2546307516836603b7b",
      "parents": [
        "fdcb85d1e5cadd2e0b89d9dc74a55897ef5b5983",
        "bad2272580d0b27b01e18fac3a340e7d502d1042"
      ],
      "author": {
        "name": "Alistair Delva",
        "email": "adelva@google.com",
        "time": "Mon Oct 07 22:05:56 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 07 22:05:56 2024 +0000"
      },
      "message": "Merge \"Allow v4l2r access to libc_uapi_headers\" into main"
    },
    {
      "commit": "bad2272580d0b27b01e18fac3a340e7d502d1042",
      "tree": "426d5e36bcd6d6e0788423f2c872069ff9e37160",
      "parents": [
        "ebe04db46e6aa121161a506310a78bcb394910ef"
      ],
      "author": {
        "name": "Alistair Delva",
        "email": "adelva@google.com",
        "time": "Mon Oct 07 12:52:40 2024 -0700"
      },
      "committer": {
        "name": "Alistair Delva",
        "email": "adelva@google.com",
        "time": "Mon Oct 07 12:52:43 2024 -0700"
      },
      "message": "Allow v4l2r access to libc_uapi_headers\n\nThe v4l2r rust crate depends on v4l2 headers from Linux to build\ngenerated bindings. When building this crate for a glibc host the\nheaders in our toolchain are too old and must be overridden. Use the\nbionic copies because they have been scrubbed.\n\nBug: 331411274\nChange-Id: I249cd713b128739d8d9a1e5a5e9fb03d7fef335d\n"
    },
    {
      "commit": "fdcb85d1e5cadd2e0b89d9dc74a55897ef5b5983",
      "tree": "cac6f78e2b7e95861dd185e8f47a4971cafcf92b",
      "parents": [
        "79cb4b9681baf446e167f818e188e708013f36fe",
        "0225a380fb2d165b259f4de43eab10ab03d3a238"
      ],
      "author": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Fri Oct 04 16:20:16 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 04 16:20:16 2024 +0000"
      },
      "message": "Merge \"16kb: bionic: Re-align libtest_invalid-local-tls.so to 16kb\" into main"
    },
    {
      "commit": "0225a380fb2d165b259f4de43eab10ab03d3a238",
      "tree": "ffacb683e0908c42d21f928a85139c7a36d437a7",
      "parents": [
        "2bef43c039815b7a5e50fffdc2e3755acb958601"
      ],
      "author": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Thu Oct 03 14:10:09 2024 -0700"
      },
      "committer": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Fri Oct 04 07:34:28 2024 -0700"
      },
      "message": "16kb: bionic: Re-align libtest_invalid-local-tls.so to 16kb\n\nThe library libtest_invalid-local-tls.so is realigned to 16kb\nfor arm64 and x86_64.\n\nIn order for the bionic-unit-tests to pass with 16kb page size targets,\nit is necessary to realign the libraries to 16kb.\n\nThis library was generated using the script gen-libtest_invalid-local-tls.sh\n\nWith this change, the test `dlopen_invalid_local_tls` is passing in\naosp_cf_x86_64_phone_pgagnostic target.\n\n```\n$ m bionic-unit-tests\n$ atest bionic-unit-tests\n[2876/2978] dlfcn#dlopen_invalid_local_tls: PASSED (3ms)\n```\n\nBug: 347728628\nTest: Use readelf to verify alignment\nChange-Id: I282e0cb6ee83ad986682cc57bc60eb311ad58f96\n"
    },
    {
      "commit": "79cb4b9681baf446e167f818e188e708013f36fe",
      "tree": "ca728f303e2a3f89007c88f958ddf5a57fbec2f6",
      "parents": [
        "98df7dbd113fb0e04ebefaa48324f4326cf8e940",
        "b71054867f2ce7d4ccd7a9306f241a207468d36e"
      ],
      "author": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Fri Oct 04 13:35:28 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 04 13:35:28 2024 +0000"
      },
      "message": "Merge \"16kb: bionic: Re-align libtest_invalid-unaligned_shdr_offset.so to 16kb\" into main"
    },
    {
      "commit": "b71054867f2ce7d4ccd7a9306f241a207468d36e",
      "tree": "ca728f303e2a3f89007c88f958ddf5a57fbec2f6",
      "parents": [
        "98df7dbd113fb0e04ebefaa48324f4326cf8e940"
      ],
      "author": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Thu Oct 03 16:51:31 2024 -0700"
      },
      "committer": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Fri Oct 04 13:35:13 2024 +0000"
      },
      "message": "16kb: bionic: Re-align libtest_invalid-unaligned_shdr_offset.so to 16kb\n\nThe library libtest_invalid-unaligned_shdr_offset.so is realigned to 16kb\nfor arm64 and x86_64.\n\nIn order for the bionic-unit-tests to pass with 16kb page size targets,\nit is necessary to realign the libraries to 16kb.\n\nThis library was generated using:\n\n```\n$ m geninvalelf64\n$ adb push out/target/product/vsoc_x86_64_pgagnostic/system/bin/geninvalelf64 /data\n$ adb shell\n  vsoc_x86_64_pgagnostic:./data/geninvalelf64 test_X86_64/libtest_empty.so test_X86_64\n```\n\nWith this change, the test `dlopen_invalid_unaligned_shdr_offset` is passing in\naosp_cf_x86_64_phone_pgagnostic target.\n\n```\n$ m bionic-unit-tests\n$ atest bionic-unit-tests\n[2868/2978] dlfcn#dlopen_invalid_unaligned_shdr_offset: PASSED (2ms)\n```\n\nBug: 347728628\nTest: Use readelf to verify executable header\nFor arm64:\n\n```\n       $ readelf -h arm64/libtest_invalid-unaligned_shdr_offset.so\n      ELF Header:\n        Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00\n        Class:                             ELF64\n        Data:                              2\u0027s complement, little endian\n        Version:                           1 (current)\n        OS/ABI:                            UNIX - System V\n        ABI Version:                       0\n        Type:                              DYN (Shared object file)\n        Machine:                           AArch64\n        Version:                           0x1\n        Entry point address:               0x0\n        Start of program headers:          64 (bytes into file)\n        Start of section headers:          3481 (bytes into file)\n        Flags:                             0x0\n        Size of this header:               64 (bytes)\n        Size of program headers:           56 (bytes)\n        Number of program headers:         9\n        Size of section headers:           64 (bytes)\n        Number of section headers:         22\n        Section header string table index: 20\n      readelf: Error: Reading 1408 bytes extends past end of file for section headers\n```\n\nFor x86_64\n\n```\n      $ readelf -h x86_64/libtest_invalid-unaligned_shdr_offset.so\n      ELF Header:\n        Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00\n        Class:                             ELF64\n        Data:                              2\u0027s complement, little endian\n        Version:                           1 (current)\n        OS/ABI:                            UNIX - System V\n        ABI Version:                       0\n        Type:                              DYN (Shared object file)\n        Machine:                           Advanced Micro Devices X86-64\n        Version:                           0x1\n        Entry point address:               0x0\n        Start of program headers:          64 (bytes into file)\n        Start of section headers:          3217 (bytes into file)\n        Flags:                             0x0\n        Size of this header:               64 (bytes)\n        Size of program headers:           56 (bytes)\n        Number of program headers:         9\n        Size of section headers:           64 (bytes)\n        Number of section headers:         22\n        Section header string table index: 20\n      readelf: Error: Reading 1408 bytes extends past end of file for section headers\n```\n\nChange-Id: Idb30d6510536796a669f173ae5df5703e3e86e98\n"
    },
    {
      "commit": "98df7dbd113fb0e04ebefaa48324f4326cf8e940",
      "tree": "47ecb3c708e3c5e95857a18be1d4a97128cd4cab",
      "parents": [
        "039a10061075687eb19210741939f02c7bbd1938",
        "80246ff67b277a2b71aa27b5d4206ca768290be6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 04 13:11:19 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 04 13:11:19 2024 +0000"
      },
      "message": "Merge \"Get out of the business of hard-coding a list of uapi unistd.h files.\" into main"
    },
    {
      "commit": "039a10061075687eb19210741939f02c7bbd1938",
      "tree": "bf42371aef1ffe4d20f3d39602623528b29dd20d",
      "parents": [
        "2bef43c039815b7a5e50fffdc2e3755acb958601",
        "81d7c8238858778be6129c210c0cc2f815d53d0e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Oct 04 03:31:56 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 04 03:31:56 2024 +0000"
      },
      "message": "Merge \"Add note about seemingly double relocation of the linker\" into main"
    },
    {
      "commit": "81d7c8238858778be6129c210c0cc2f815d53d0e",
      "tree": "bf42371aef1ffe4d20f3d39602623528b29dd20d",
      "parents": [
        "2bef43c039815b7a5e50fffdc2e3755acb958601"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Oct 04 00:40:14 2024 +0000"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Oct 04 00:40:14 2024 +0000"
      },
      "message": "Add note about seemingly double relocation of the linker\n\nChange-Id: I1775bf0166f255cc84f41c5d3077e94d7005d2c6\n"
    },
    {
      "commit": "2bef43c039815b7a5e50fffdc2e3755acb958601",
      "tree": "57df5e5e122d5c74b4256dae9488a58d59c08022",
      "parents": [
        "2b080511e9d342ca00a3a387fc6c1cc5ca0891e3",
        "b24d217e73c054901fe8817c40f2bec98b08d985"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 03 18:18:44 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 03 18:18:44 2024 +0000"
      },
      "message": "Merge \"Make the strncpy() test test strncpy().\" into main"
    },
    {
      "commit": "2b080511e9d342ca00a3a387fc6c1cc5ca0891e3",
      "tree": "63d12c3522b411dfe9eda90b41c0deda78127f6c",
      "parents": [
        "71e585d77a0c07c9daa2f12f4cb40368d53c37dc",
        "06f28bed67c8803c22c78e120891c9ebf74d70dd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 03 17:46:25 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 03 17:46:25 2024 +0000"
      },
      "message": "Merge \"Remove 32-bit x86 wcs*()/wmem*() assembler.\" into main"
    },
    {
      "commit": "80246ff67b277a2b71aa27b5d4206ca768290be6",
      "tree": "d1218e18dda4c2735ed9ed62b5a364c182b0627d",
      "parents": [
        "91c23e7a6f18351ef33f3e95f6d8e26be228e673"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 03 17:41:29 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 03 17:41:29 2024 +0000"
      },
      "message": "Get out of the business of hard-coding a list of uapi unistd.h files.\n\nIf we were being clever here (say, excluding the irrelevant x32 or\narm-oabi files) there might be some reason to keep this, but since we\u0027re\nliterally just dragging in \"all the things\", including the ones we don\u0027t\nsupport, let\u0027s just let python find them all.\n\nThis does actually remove a tiny amount of unwanted cruft from the\ngenerated header as an additional bonus.\n\nTest: ran manually, looked at output\nChange-Id: Ie2b349c42d566f3bbe138834febaa0ef2de1c87d\n"
    },
    {
      "commit": "71e585d77a0c07c9daa2f12f4cb40368d53c37dc",
      "tree": "fce99030444f69623a9d2f38c6e9a19dec670c81",
      "parents": [
        "91c23e7a6f18351ef33f3e95f6d8e26be228e673",
        "49074ba1db45e940dbf9056fefa0c3a356d76423"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 03 16:56:14 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 03 16:56:14 2024 +0000"
      },
      "message": "Merge \"Remove manual -fPIC from x86/x86-64 crt_so_defaults.\" into main"
    },
    {
      "commit": "49074ba1db45e940dbf9056fefa0c3a356d76423",
      "tree": "fce99030444f69623a9d2f38c6e9a19dec670c81",
      "parents": [
        "91c23e7a6f18351ef33f3e95f6d8e26be228e673"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 03 15:41:23 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 03 16:45:30 2024 +0000"
      },
      "message": "Remove manual -fPIC from x86/x86-64 crt_so_defaults.\n\nThis should be on all the time for all architectures anyway.\n\nChange-Id: Ia3933b113fa08cdc6526553dbe9fd17f68481e93\n"
    },
    {
      "commit": "b24d217e73c054901fe8817c40f2bec98b08d985",
      "tree": "259c3bb1159769502b51ed1d27237f8ed28af1e9",
      "parents": [
        "91c23e7a6f18351ef33f3e95f6d8e26be228e673"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 03 16:36:47 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 03 16:36:47 2024 +0000"
      },
      "message": "Make the strncpy() test test strncpy().\n\nPreviously it was a copy \u0026 paste of the stpncpy() test without the necessary modifications having taken place...\n\nChange-Id: I00f78adcc8e2088701be45b00d9ccd7e61367620\n"
    },
    {
      "commit": "06f28bed67c8803c22c78e120891c9ebf74d70dd",
      "tree": "2a3e7b5bf7b3de164a08e251c10f545b0860a3ec",
      "parents": [
        "91c23e7a6f18351ef33f3e95f6d8e26be228e673"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 03 16:16:17 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 03 16:18:02 2024 +0000"
      },
      "message": "Remove 32-bit x86 wcs*()/wmem*() assembler.\n\nNo other architecture (including x86-64) has these, so simplify our\nlives (as we start to think about how to use llvm-libc string/memory\nroutines for x86/x86-64) by removing this unnecessary difference between\nthe two.\n\nTest: treehugger\nChange-Id: Ie6c3f7ba268acbdb728b2d7dbca476a29f16af62\n"
    },
    {
      "commit": "91c23e7a6f18351ef33f3e95f6d8e26be228e673",
      "tree": "c08d4201ab6723d025f1758b19e6ae458d866fc1",
      "parents": [
        "72b47c9f4a9fa07bfc2172ef92ab5a70afde7b28",
        "e2d872ef40c8cd165729f14536ee458e0e60f2b0"
      ],
      "author": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Wed Oct 02 16:17:08 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 02 16:17:08 2024 +0000"
      },
      "message": "Merge \"16kb: bionic: Re-align libtest_invalid-empty_shdr_table.so to 16kb\" into main"
    },
    {
      "commit": "e2d872ef40c8cd165729f14536ee458e0e60f2b0",
      "tree": "25a4d43f7543502ad9bf7aa801158dcd254c43c0",
      "parents": [
        "366f5b511b572ac478203a0a87202c28d1090acc"
      ],
      "author": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Tue Oct 01 17:34:58 2024 -0700"
      },
      "committer": {
        "name": "Juan Yescas",
        "email": "jyescas@google.com",
        "time": "Tue Oct 01 17:36:15 2024 -0700"
      },
      "message": "16kb: bionic: Re-align libtest_invalid-empty_shdr_table.so to 16kb\n\nThe library libtest_invalid-empty_shdr_table.so is realigned to 16kb\nfor arm64 and x86_64.\n\nIn order for the bionic-unit-tests to pass with 16kb page size targets,\nit is necessary to realign the libraries to 16kb.\n\nThis library was generated using:\n\n```\n$ m geninvalelf64\n$ adb push out/target/product/vsoc_x86_64_pgagnostic/system/bin/geninvalelf64 /data\n$ adb shell\n  vsoc_x86_64_pgagnostic:./data/geninvalelf64 test_X86_64/libtest_empty.so test_X86_64\n```\n\nWith this change, the test `dlopen_invalid_empty_shdr_table` is passing in\naosp_cf_x86_64_phone_pgagnostic target.\n\n```\n$ m bionic-unit-tests\n$ atest bionic-unit-tests\n[2871/2978] dlfcn#dlopen_invalid_empty_shdr_table: PASSED (2ms)\n```\n\nBug: 347728628\nTest: Use readelf to verify executable header\nFor arm64:\n\n```\n $ readelf -h arm64/libtest_invalid-empty_shdr_table.so  | grep Number\n Number of program headers:         8\n Number of section headers:         0 (0)libtest_invalid-empty_shdr_table.so\n```\n\nFor x86_64\n\n```\n $ readelf -h x86_64/libtest_invalid-empty_shdr_table.so  | grep Number\n Number of program headers:         8\n Number of section headers:         0 (0)libtest_invalid-empty_shdr_table.so\n```\n\nChange-Id: I85f065018db798b378b52822826fea7bdb19fa0a\n"
    },
    {
      "commit": "72b47c9f4a9fa07bfc2172ef92ab5a70afde7b28",
      "tree": "b4eb01c1a115f652947d87101d419717f1b559b5",
      "parents": [
        "366f5b511b572ac478203a0a87202c28d1090acc",
        "c76342d72338827a39f9674f13a648a67a6fd2c8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Oct 01 20:44:04 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 01 20:44:04 2024 +0000"
      },
      "message": "Merge \"cpp: Explicitly retain array definitions\" into main"
    },
    {
      "commit": "c76342d72338827a39f9674f13a648a67a6fd2c8",
      "tree": "12106b0de9e6b17a15b8d84de7b022dc3e1ecf24",
      "parents": [
        "52c6164d89f6d1e6abbe0e081d8a510537bcfd3c"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "briannorris@google.com",
        "time": "Mon Sep 30 14:52:10 2024 -0700"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "briannorris@google.com",
        "time": "Tue Oct 01 17:09:13 2024 +0000"
      },
      "message": "cpp: Explicitly retain array definitions\n\nSome arrays get default-retained when we reach the semicolon, because\nthe default solution is to treat them as functions. This strips the\nsemicolon though, leaving us with invalid syntax.\n\nWe should really treat arrays (and variable definitions) as \"other\ndeclarations\", which can be OK to retain, as they don\u0027t rely on\nkernel-internal data.\n\nThis parser is fairly unsound in general, but it isn\u0027t much more unsound\nto assume that anything with an \u0027\u003d\u0027 token at depth 0 will be a variable\nor array definition.\n\nNB: there are existing UAPI arrays that *are* retained [1], because they\nhappen to look like struct declarations. I maintain that behavior as\nwell, encoded in the tests.\n\n[1] example from asm/amd_hsmp.h:\nstatic const struct hsmp_msg_desc hsmp_msg_desc_table[] \u003d {\n...\n};\n\nBug: 369900761\nTest: `ANDROID_BUILD_TOP\u003d... pytest ./cpp.py` has no new failures\nTest: `bionic/libc/kernel/tools/update_all.py` produces no diff\nChange-Id: I5997672436f5ed232fdcd94aafaf792c75fa6bce\n"
    },
    {
      "commit": "366f5b511b572ac478203a0a87202c28d1090acc",
      "tree": "7eb9daa8c0796d025616d138b788d0285179e88f",
      "parents": [
        "05a9ff8294a6c18fa24c634f7e7af43e881165fd",
        "44df2c41631aee861da0a941a7981dc1e5bb8a90"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 01 16:07:59 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 01 16:07:59 2024 +0000"
      },
      "message": "Merge \"Fix tests for change that modified #include names.\" into main"
    },
    {
      "commit": "05a9ff8294a6c18fa24c634f7e7af43e881165fd",
      "tree": "a85f17cf373d58fa1f0598225eff23a128235205",
      "parents": [
        "3258fa573b08b708519120d6d3e5b7b9e3bb6fa1",
        "63fcca4108d94df4e93c7fef59d440b4b63f1d11"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 01 16:07:19 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 01 16:07:19 2024 +0000"
      },
      "message": "Merge \"Update to v6.11 kernel headers.\" into main"
    },
    {
      "commit": "3258fa573b08b708519120d6d3e5b7b9e3bb6fa1",
      "tree": "cbdcaab3cd23ddd434f876199b2e9c94ef879765",
      "parents": [
        "815dc396244793031671bd8f88e123cc95899eab",
        "9d1ef60fe127ab2cc1be5484a795c5cb32a4d987"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Oct 01 05:38:46 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 01 05:38:46 2024 +0000"
      },
      "message": "Merge \"Product variants are not in the NDK API surface.\" into main"
    },
    {
      "commit": "44df2c41631aee861da0a941a7981dc1e5bb8a90",
      "tree": "79a2683d9331267ebc88f86d978d7cf403bc6005",
      "parents": [
        "815dc396244793031671bd8f88e123cc95899eab"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 01 00:28:43 2024 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 01 00:41:56 2024 +0000"
      },
      "message": "Fix tests for change that modified #include names.\n\nIn this cl:\n\nhttps://android-review.googlesource.com/c/platform/bionic/+/2852650\n\nThe way the removal of structs and the addition of includes was\nmodified so that the name of the include is in the map. However,\nthe tests were not updated. So update the tests.\n\nTest: Ran python3 bionic/libc/kernel/tools/cpp.py and everything passes.\nChange-Id: Idd6f64e4e9ed794fac211314d0ae4921939f2e42\n"
    },
    {
      "commit": "815dc396244793031671bd8f88e123cc95899eab",
      "tree": "188b010dfb81d728f4e7899b7d8c2c479c612e4f",
      "parents": [
        "b49b118f6d7b034bd1a2cd6927880193016bf9df",
        "dc9b0fd61f0f8626692dd53f6c2da97179903d15"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 01 00:17:59 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 01 00:17:59 2024 +0000"
      },
      "message": "Merge \"Revert^4 \"Use DoNotOptimize rather than rely on a volatile.\"\" into main"
    },
    {
      "commit": "dc9b0fd61f0f8626692dd53f6c2da97179903d15",
      "tree": "188b010dfb81d728f4e7899b7d8c2c479c612e4f",
      "parents": [
        "b49b118f6d7b034bd1a2cd6927880193016bf9df"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Sep 30 20:05:18 2024 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Sep 30 20:35:10 2024 +0000"
      },
      "message": "Revert^4 \"Use DoNotOptimize rather than rely on a volatile.\"\n\nThe previous code used a volatile to avoid optimizing away\nthe strlen, but it can trigger the unused variable warning.\nInstead use DoNotOptimize to avoid the code being optimized away.\n\nBreak out the DoNotOptimize into it\u0027s own header since the entirety\nof utils.h cannot be included here without getting compile errors.\nAdd the new include to all tests that use DoNotOptimize.\n\nChange-Id: Ica91ed6511ed6075cc6943c1036f82c5ee428830\nTest: Tests build and pass.\n"
    },
    {
      "commit": "b49b118f6d7b034bd1a2cd6927880193016bf9df",
      "tree": "c856d31faa8546bb7634a0b0d785c6e5ef370d15",
      "parents": [
        "62996f657df2b97e44c71b7e3ff8935a32a31bee",
        "f5d5f83565b4595432c5737a85bf943a334516e4"
      ],
      "author": {
        "name": "Liana Kazanova",
        "email": "lkazanova@google.com",
        "time": "Mon Sep 30 19:25:56 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 30 19:25:56 2024 +0000"
      },
      "message": "Merge \"Revert^3 \"Use DoNotOptimize rather than rely on a volatile.\"\" into main"
    },
    {
      "commit": "f5d5f83565b4595432c5737a85bf943a334516e4",
      "tree": "c856d31faa8546bb7634a0b0d785c6e5ef370d15",
      "parents": [
        "aad7abbd31a93a43da3163331d5ceb02d7c09fcb"
      ],
      "author": {
        "name": "Liana Kazanova",
        "email": "lkazanova@google.com",
        "time": "Mon Sep 30 19:20:35 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 30 19:20:35 2024 +0000"
      },
      "message": "Revert^3 \"Use DoNotOptimize rather than rely on a volatile.\"\n\nThis reverts commit aad7abbd31a93a43da3163331d5ceb02d7c09fcb.\n\nReason for revert: DroidMonitor: Potential culprit for http://b/370545152 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted\n\nChange-Id: Id35ba5d9c986d83357d4acff9dc17ce67049439a\n"
    },
    {
      "commit": "62996f657df2b97e44c71b7e3ff8935a32a31bee",
      "tree": "a92f8dc2c89fcf9b5d686421afeffc21c6d3684a",
      "parents": [
        "f48a8b9e7fd546decba2343893349fa7c4a8df10",
        "aad7abbd31a93a43da3163331d5ceb02d7c09fcb"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Sep 30 18:40:04 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 30 18:40:04 2024 +0000"
      },
      "message": "Merge \"Revert^2 \"Use DoNotOptimize rather than rely on a volatile.\"\" into main"
    },
    {
      "commit": "9d1ef60fe127ab2cc1be5484a795c5cb32a4d987",
      "tree": "04636434e3d850f3091a8420fb11820b2ae852e2",
      "parents": [
        "f48a8b9e7fd546decba2343893349fa7c4a8df10"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Mon Sep 30 22:35:57 2024 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Mon Sep 30 22:41:37 2024 +0900"
      },
      "message": "Product variants are not in the NDK API surface.\n\nIn addition to the vendor variants, product variants also use LLNDK\nlibraries. Ignore the __INTRODUCED_IN macros for product variants.\n\nBug: 368559337\nTest: TH\nChange-Id: I5a87425f5076a41ff29b3fc4877d347131fbacdb\n"
    },
    {
      "commit": "aad7abbd31a93a43da3163331d5ceb02d7c09fcb",
      "tree": "a92f8dc2c89fcf9b5d686421afeffc21c6d3684a",
      "parents": [
        "f48a8b9e7fd546decba2343893349fa7c4a8df10"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Sep 27 23:51:57 2024 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Sep 28 00:06:15 2024 +0000"
      },
      "message": "Revert^2 \"Use DoNotOptimize rather than rely on a volatile.\"\n\nThe previous code used a volatile to avoid optimizing away\nthe strlen, but it can trigger the unused variable warning.\nInstead use DoNotOptimize to avoid the code being optimized away.\n\nBreak out the DoNotOptimize into it\u0027s own header since the entirety\nof utils.h cannot be included here without getting compile errors.\nAdd the new include to all tests that use DoNotOptimize.\n\nTest: Tests build and pass.\nChange-Id: I1965ff7f36f1bcb8b410022c57c9ddd466a3b99f\n"
    },
    {
      "commit": "f48a8b9e7fd546decba2343893349fa7c4a8df10",
      "tree": "c856d31faa8546bb7634a0b0d785c6e5ef370d15",
      "parents": [
        "f976ec7a9164277c331dde07aa1578d6eaf07380",
        "8469cdc27b9418dc2e8a253c9823382042457f26"
      ],
      "author": {
        "name": "Priyanka Advani (xWF)",
        "email": "padvani@google.com",
        "time": "Fri Sep 27 23:51:09 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 27 23:51:09 2024 +0000"
      },
      "message": "Merge \"Revert \"Use DoNotOptimize rather than rely on a volatile.\"\" into main"
    },
    {
      "commit": "8469cdc27b9418dc2e8a253c9823382042457f26",
      "tree": "c856d31faa8546bb7634a0b0d785c6e5ef370d15",
      "parents": [
        "ea0b7fc2f1e533f392ea0f20e383315c974e641b"
      ],
      "author": {
        "name": "Priyanka Advani (xWF)",
        "email": "padvani@google.com",
        "time": "Fri Sep 27 23:27:53 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 27 23:27:53 2024 +0000"
      },
      "message": "Revert \"Use DoNotOptimize rather than rely on a volatile.\"\n\nThis reverts commit ea0b7fc2f1e533f392ea0f20e383315c974e641b.\n\nReason for revert: Droidmonitor created revert due to b/370105691. Will be verifying through ABTD before submission.\n\nChange-Id: I6355ed0b9dbd0169f73ad607244fd713b261aecb\n"
    },
    {
      "commit": "f976ec7a9164277c331dde07aa1578d6eaf07380",
      "tree": "a92f8dc2c89fcf9b5d686421afeffc21c6d3684a",
      "parents": [
        "ab777b22d2f48515701586b1fe1943d6b71ff261",
        "ea0b7fc2f1e533f392ea0f20e383315c974e641b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Sep 27 22:52:30 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 27 22:52:30 2024 +0000"
      },
      "message": "Merge \"Use DoNotOptimize rather than rely on a volatile.\" into main"
    },
    {
      "commit": "ea0b7fc2f1e533f392ea0f20e383315c974e641b",
      "tree": "a92f8dc2c89fcf9b5d686421afeffc21c6d3684a",
      "parents": [
        "ab777b22d2f48515701586b1fe1943d6b71ff261"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Sep 27 01:36:33 2024 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Sep 27 18:44:08 2024 +0000"
      },
      "message": "Use DoNotOptimize rather than rely on a volatile.\n\nThe previous code used a volatile to avoid optimizing away\nthe strlen, but it can trigger the unused variable warning.\nInstead use DoNotOptimize to avoid the code being optimized away.\n\nBreak out the DoNotOptimize into it\u0027s own header since the entirety\nof utils.h cannot be included here without getting compile errors.\nAdd the new include to all tests that use DoNotOptimize.\n\nTest: Tests build and pass.\nChange-Id: I292693bdc0269f8f0600bd8e9729420d63c4a919\n"
    },
    {
      "commit": "63fcca4108d94df4e93c7fef59d440b4b63f1d11",
      "tree": "11bb831422264a3e94bd0f9f06193c6068bc0828",
      "parents": [
        "ab777b22d2f48515701586b1fe1943d6b71ff261"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 26 01:12:10 2024 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 26 01:12:10 2024 +0000"
      },
      "message": "Update to v6.11 kernel headers.\n\nKernel headers coming from:\n\nGit: https://android.googlesource.com/kernel/common/\nBranch: android-mainline\nTag: android-mainline-6.11\n\nTest: Builds and bionic unit tests pass on raven.\nTest: Able to log in to an Android GO 32 bit device.\nChange-Id: Ica2c66ffb70b60244cfae4c8cff16b2a7392fceb\n"
    },
    {
      "commit": "ab777b22d2f48515701586b1fe1943d6b71ff261",
      "tree": "c856d31faa8546bb7634a0b0d785c6e5ef370d15",
      "parents": [
        "94f46d493251dc776d0da6b914824a21aac1bde4",
        "a8050343f020144cb34614b95c5901cf7da3aeaa"
      ],
      "author": {
        "name": "Priyanka Advani (xWF)",
        "email": "padvani@google.com",
        "time": "Wed Sep 25 21:37:05 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 25 21:37:05 2024 +0000"
      },
      "message": "Merge \"Revert \"Update to v6.11 kernel headers.\"\" into main"
    },
    {
      "commit": "a8050343f020144cb34614b95c5901cf7da3aeaa",
      "tree": "bea84956dab1dd5d8741d557667a29eef1fa576d",
      "parents": [
        "4ba54495e975d421125d4820be91c557ce24c100"
      ],
      "author": {
        "name": "Priyanka Advani (xWF)",
        "email": "padvani@google.com",
        "time": "Wed Sep 25 19:07:32 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 25 19:07:34 2024 +0000"
      },
      "message": "Revert \"Update to v6.11 kernel headers.\"\n\nRevert submission 3277111-kernel_611\n\nReason for revert: Droidmonitor created revert due to b/369448759.\n\nReverted changes: /q/submissionid:3277111-kernel_611\n\nChange-Id: I3cabcc2c55904459c69dbfa81e6e65863a7e57cc\n"
    },
    {
      "commit": "94f46d493251dc776d0da6b914824a21aac1bde4",
      "tree": "11bb831422264a3e94bd0f9f06193c6068bc0828",
      "parents": [
        "8b8f0cfa5a4ae9e8dca794fb238b3d08e945e900",
        "3b3b3569a536240d51b50e6a32f6e77a8d4f5e12"
      ],
      "author": {
        "name": "Jordan Abrahams-Whitehead",
        "email": "ajordanr@google.com",
        "time": "Wed Sep 25 18:45:56 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 25 18:45:56 2024 +0000"
      },
      "message": "Merge \"bionic: Disable arm32 cpu_target_featuers test\" into main"
    },
    {
      "commit": "8b8f0cfa5a4ae9e8dca794fb238b3d08e945e900",
      "tree": "71737a8e95814095212c311d863657247eb8d6d8",
      "parents": [
        "6e6da006a23e06b21dff548e592f351b4a19c506",
        "fb9df2530a80dace7bfcfcc19705eb837bcce9dc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 25 12:01:08 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 25 12:01:08 2024 +0000"
      },
      "message": "Merge \"unistd.h: document chdir()/fchdir().\" into main"
    },
    {
      "commit": "6e6da006a23e06b21dff548e592f351b4a19c506",
      "tree": "97587a791f3796d46e4b1aa99b0171ea31480dbb",
      "parents": [
        "1fd39828168d6e00c278662e8c1aeba45dc21df3",
        "ec07dacda4f5d0d9cfc634303675a9a4640cc296"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Sep 24 22:17:07 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 24 22:17:07 2024 +0000"
      },
      "message": "Merge \"Use new riscv unistd names for syscall definition.\" into main"
    },
    {
      "commit": "ec07dacda4f5d0d9cfc634303675a9a4640cc296",
      "tree": "832efac78e2b57e8d85d5087f4aaa40c81353fee",
      "parents": [
        "4ba54495e975d421125d4820be91c557ce24c100"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Sep 24 21:17:20 2024 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Sep 24 21:19:49 2024 +0000"
      },
      "message": "Use new riscv unistd names for syscall definition.\n\nThe 6.11 kernel moved the unistd files that include the system calls.\nSo update the script to use the new location.\n\nBug: 369418631\n\nTest: Build riscv target.\nChange-Id: Iaba736a3b057678ef1f34370d59a1a32b4022105\n"
    },
    {
      "commit": "1fd39828168d6e00c278662e8c1aeba45dc21df3",
      "tree": "a1387996d160f55e1628b47db94c13489a692edc",
      "parents": [
        "4747b65d0045301a49ee9cb80876fb0cf44aa90a",
        "4ba54495e975d421125d4820be91c557ce24c100"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Sep 24 19:29:34 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 24 19:29:34 2024 +0000"
      },
      "message": "Merge \"Update to v6.11 kernel headers.\" into main"
    },
    {
      "commit": "3b3b3569a536240d51b50e6a32f6e77a8d4f5e12",
      "tree": "05bfaca79c7d65a93f6f006e7cf25f45ea60ce0c",
      "parents": [
        "b975a72959e02e9f9863c1ad9fa593f3e4c312de"
      ],
      "author": {
        "name": "Jordan R Abrahams-Whitehead",
        "email": "ajordanr@google.com",
        "time": "Tue Sep 24 17:31:28 2024 +0000"
      },
      "committer": {
        "name": "Jordan R Abrahams-Whitehead",
        "email": "ajordanr@google.com",
        "time": "Tue Sep 24 17:33:14 2024 +0000"
      },
      "message": "bionic: Disable arm32 cpu_target_featuers test\n\nSome arm32 devices may not have ASE/CRC32 still (or they may,\nbut may not be able to use these features).\n\nWe don\u0027t want to break them until we can figure out how to\nproperly limit the breakage to true positives.\n\nBug: 369186774\nTest: Presubmit\nChange-Id: Id37395475838fc9424fb857bb66ce9f7a8567ff2\n"
    },
    {
      "commit": "fb9df2530a80dace7bfcfcc19705eb837bcce9dc",
      "tree": "1f715985d48c7d82616b1be5281768b90446e799",
      "parents": [
        "4747b65d0045301a49ee9cb80876fb0cf44aa90a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 24 15:38:22 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 24 15:38:22 2024 +0000"
      },
      "message": "unistd.h: document chdir()/fchdir().\n\nIn particular \"why you probably shouldn\u0027t use these on Android\".\n\nChange-Id: I54360886cd3f7e93711b46f99a762d963ee8a588\n"
    },
    {
      "commit": "4747b65d0045301a49ee9cb80876fb0cf44aa90a",
      "tree": "8511e9f414d9145b038ce6cf2cdb3a53a9cf29b0",
      "parents": [
        "5f386d5e22a9be328290bb12ae7bc2e13cc17031",
        "86da38c9d06831b7b6b5de620ff73509861e00cf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Sep 24 14:02:52 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 24 14:02:52 2024 +0000"
      },
      "message": "Merge \"fortify: rewrite strlen to fold to a constant\" into main"
    },
    {
      "commit": "86da38c9d06831b7b6b5de620ff73509861e00cf",
      "tree": "37a8bce76182bdeb7488498b6aa984ffaff2fa23",
      "parents": [
        "312e74ad0ab3e007df8b2c39ad7a8e50a8148523"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Aug 05 13:02:51 2024 -0600"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Sep 23 15:10:42 2024 -0600"
      },
      "message": "fortify: rewrite strlen to fold to a constant\n\nThis new spelling allows Clang, when parsing C, to fold `strlen(\"foo\")`\ninto a constant in many more places.\n\nThis shouldn\u0027t be much of a performance diff, since LLVM is already\nfully capable of folding `@__strlen_chk` into `@strlen` or a constant as\nappropriate. Mostly it matters for places where constants may be\nrequired, or may result in materially different codegen (e.g., static\ninitializers, array bounds, ...)\n\nBug: 139143453\nTest: mma\nChange-Id: Ib1636402a11338f6e05a731cc5a59c919cca09e8\n"
    },
    {
      "commit": "5f386d5e22a9be328290bb12ae7bc2e13cc17031",
      "tree": "5680f37426f8faa0b487340bac5eac46fa9f2096",
      "parents": [
        "5348da0e16f76c04b0f5d775868f5ba7f78065d1",
        "8ccb69fc03fceba71e1013518ed2886d4082b55c"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Sep 23 19:51:19 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 23 19:51:19 2024 +0000"
      },
      "message": "Merge \"Remove unused variable.\" into main"
    },
    {
      "commit": "5348da0e16f76c04b0f5d775868f5ba7f78065d1",
      "tree": "59649be92fc80a0d471cceb74c5f24cc32c6e68d",
      "parents": [
        "c78e954a82ad933e52a1903f63a1edfb1e7e2d46",
        "41d403e4c8c4b95f269dcfa4e87e341d9659f701"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Sep 23 18:19:05 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 23 18:19:05 2024 +0000"
      },
      "message": "Merge changes I3ba1e899,I62cbf638 into main\n\n* changes:\n  libc: replace generic memcmp with atom impl\n  libc: remove most dynamically-selected x86 atom functions\n"
    },
    {
      "commit": "41d403e4c8c4b95f269dcfa4e87e341d9659f701",
      "tree": "59649be92fc80a0d471cceb74c5f24cc32c6e68d",
      "parents": [
        "0193c3d992bf7b27e2116e504a10f0425d78465c"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Sep 18 11:04:15 2024 -0600"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Sep 23 11:11:23 2024 -0600"
      },
      "message": "libc: replace generic memcmp with atom impl\n\nThis \u0027atom\u0027 impl is optimized with sse2, whereas the baseline is very\nconservative. Since we use SSE-optimized builtins for ... everything\nelse, do that here, too.\n\nTo be clear, the atom impl for this is ssse3, which is required for x86\nby the ABI.\n\nBug: 358360849\nTest: mma\nChange-Id: I3ba1e89987b75249ca5dc996e0450cff9cdfc8cb\n"
    },
    {
      "commit": "0193c3d992bf7b27e2116e504a10f0425d78465c",
      "tree": "ecbc0faabc5914a40a3a9e1c313087d54b66ffd0",
      "parents": [
        "c78e954a82ad933e52a1903f63a1edfb1e7e2d46"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Sep 18 11:00:33 2024 -0600"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Sep 23 11:11:22 2024 -0600"
      },
      "message": "libc: remove most dynamically-selected x86 atom functions\n\nThe \u0027generic\u0027 versions of these all have newer impls from Intel, and\nseemingly use the same feature baseline (sse2 or ssse3). There\u0027s\nno obvious reason to carry these old impls around.\n\nWhile I\u0027m here, also remove the ssse3-memcpy. While that might be\na bit faster, `s/memmove/memcpy` seems slightly risky for 32-bit x86.\n\nBug: 358360849\nTest: mma\nChange-Id: I62cbf638bf4d9fdb799af93168b0cc0ea841526f\n"
    },
    {
      "commit": "4ba54495e975d421125d4820be91c557ce24c100",
      "tree": "70a49fa264b355616b046405b37bfe9a39bdc892",
      "parents": [
        "c78e954a82ad933e52a1903f63a1edfb1e7e2d46"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 18 16:25:22 2024 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Sep 23 17:00:25 2024 +0000"
      },
      "message": "Update to v6.11 kernel headers.\n\nKernel headers coming from:\n\nGit: https://android.googlesource.com/kernel/common/\nBranch: android-mainline\nTag: android-mainline-6.11\n\nTest: Builds and bionic unit tests pass on raven.\nTest: Able to log in to an Android GO 32 bit device.\nChange-Id: Ie3dc109cb5730a5e3d0ba2fe58ed9b69ea8857c6\n"
    },
    {
      "commit": "c78e954a82ad933e52a1903f63a1edfb1e7e2d46",
      "tree": "bea84956dab1dd5d8741d557667a29eef1fa576d",
      "parents": [
        "ebe04db46e6aa121161a506310a78bcb394910ef",
        "3f39551a905a79f974942796af15e1d31fa6b4a2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Sep 23 16:19:46 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 23 16:19:46 2024 +0000"
      },
      "message": "Merge \"libc: -x some assembly files\" into main"
    },
    {
      "commit": "ebe04db46e6aa121161a506310a78bcb394910ef",
      "tree": "dfceab3919cb121c2c141f542f29cc359683eb16",
      "parents": [
        "77eab0796319836eee61ec9edec7906786802b29",
        "b975a72959e02e9f9863c1ad9fa593f3e4c312de"
      ],
      "author": {
        "name": "Jordan Abrahams-Whitehead",
        "email": "ajordanr@google.com",
        "time": "Fri Sep 20 18:40:41 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 20 18:40:41 2024 +0000"
      },
      "message": "Merge \"bionic: Add tests for cpu target features\" into main"
    },
    {
      "commit": "77eab0796319836eee61ec9edec7906786802b29",
      "tree": "7a49c9093fc39284c58b2fca9f27f5363cb4af4f",
      "parents": [
        "81132381ff6280f7146d9a229a4c04731e6c1b16",
        "81ce887f1cf4dda11386cebf01c381bf55e81ba5"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Sep 20 01:01:51 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 20 01:01:51 2024 +0000"
      },
      "message": "Merge \"Remove use of ATOMIC_VAR_INIT.\" into main"
    },
    {
      "commit": "81ce887f1cf4dda11386cebf01c381bf55e81ba5",
      "tree": "7a49c9093fc39284c58b2fca9f27f5363cb4af4f",
      "parents": [
        "81132381ff6280f7146d9a229a4c04731e6c1b16"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 19 16:20:21 2024 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 19 16:20:21 2024 -0700"
      },
      "message": "Remove use of ATOMIC_VAR_INIT.\n\nThis macro does nothing and results in deprecated warnings.\n\nTest: Unit tests pass.\nChange-Id: I9d9f68a9047a0a51cd68b15cb7bc13e6a878a4b9\n"
    },
    {
      "commit": "b975a72959e02e9f9863c1ad9fa593f3e4c312de",
      "tree": "ae330912cfe293cd70c778bb6b68d2c9de6c8c31",
      "parents": [
        "aca0fc6532de632da2c11a85e0aafedd96bb6406"
      ],
      "author": {
        "name": "Jordan R Abrahams-Whitehead",
        "email": "ajordanr@google.com",
        "time": "Wed Sep 11 21:29:45 2024 +0000"
      },
      "committer": {
        "name": "Jordan R Abrahams-Whitehead",
        "email": "ajordanr@google.com",
        "time": "Thu Sep 19 22:03:48 2024 +0000"
      },
      "message": "bionic: Add tests for cpu target features\n\nThis adds actual tests to verify we are enabling basic\nThese tests are intended to be expanded as we require\nstricter target features.\n\nThese tests depend on the existence of the cpu-target-features\nexecutable on the test DUTs.\n\nBug: 354747380\nTest: Presubmits pass\n\nChange-Id: If2d0a9db04e112874cb65b5d4cfd48c9ee2efa4b\n"
    },
    {
      "commit": "81132381ff6280f7146d9a229a4c04731e6c1b16",
      "tree": "15eaadcd7e598325ca2eb98b27aa893f02af53b7",
      "parents": [
        "7af9bf092c6d3ce9fab5c23bab077a02558de12c",
        "0d4b5a7a25e3cc578796fe34c796841c1bd91d2b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Sep 19 20:46:31 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 19 20:46:31 2024 +0000"
      },
      "message": "Merge \"Revert \"Merge \"Revert \"towctrans() should return the input and set errno on failure.\"\" into android15-tests-dev am: fd55858120\"\" into main"
    },
    {
      "commit": "8ccb69fc03fceba71e1013518ed2886d4082b55c",
      "tree": "60900a53770f63b3ff40d7d08633a90f015b48bc",
      "parents": [
        "7af9bf092c6d3ce9fab5c23bab077a02558de12c"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 19 19:20:39 2024 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 19 19:20:39 2024 +0000"
      },
      "message": "Remove unused variable.\n\nTest: Builds with -Wunused-variable\nChange-Id: I043733e9ea982ecd0c4b2e52597cc2c396dccf02\n"
    },
    {
      "commit": "0d4b5a7a25e3cc578796fe34c796841c1bd91d2b",
      "tree": "7cbc86a6497db72f6610878491f7dc5e486d33fb",
      "parents": [
        "7be2a138fa85aa27ac4edf960a84fd3d8f680c45"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 19 17:58:45 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 19 17:58:45 2024 +0000"
      },
      "message": "Revert \"Merge \"Revert \"towctrans() should return the input and set errno on failure.\"\" into android15-tests-dev am: fd55858120\"\n\nThis reverts commit 7be2a138fa85aa27ac4edf960a84fd3d8f680c45.\n\nReason for revert: this change _should_ be in the main branch.\n\nChange-Id: I6beec6d6fa9ac6973b9b11a14de5b3bda6289617\n"
    },
    {
      "commit": "3f39551a905a79f974942796af15e1d31fa6b4a2",
      "tree": "78ab220ed8284f1359e8b368857dab03da098a5f",
      "parents": [
        "3592d194ade30f8e7f4835644cc8b1ae2229e13b"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Sep 18 10:47:41 2024 -0600"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Sep 18 12:51:08 2024 -0600"
      },
      "message": "libc: -x some assembly files\n\nNot sure why the +x bit was set here, but it shouldn\u0027t be.\n\nBug: 358360849\nTest: mma\nChange-Id: I02c2f8389dd2bfbc8636c675a114403c1374fc26\n"
    },
    {
      "commit": "7af9bf092c6d3ce9fab5c23bab077a02558de12c",
      "tree": "47dda59778169c1d4159892b9b7543b7e7d21f14",
      "parents": [
        "55aebf3312b7d0d51974ef30a4be7c582d0a4c2c",
        "bd6cc77285989db8feb7b15c2114a3c3b197d541"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Wed Sep 18 16:39:24 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 18 16:39:24 2024 +0000"
      },
      "message": "Merge changes If8861745,I2cd93e4d into main\n\n* changes:\n  Add hwasan_test[_static] to TEST_MAPPING\n  Add static variant of hwasan_test\n"
    }
  ],
  "next": "55aebf3312b7d0d51974ef30a4be7c582d0a4c2c"
}
