)]}'
{
  "log": [
    {
      "commit": "ee8e3dd67c910907115c7cef87be3d898d71a05d",
      "tree": "022d9c97d9bdc95c34dbf0052b8dcf9ce394bc46",
      "parents": [
        "44c7b6ad0ac277a8ed3ee2278f6c1ee23f130ab5"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Feb 21 15:01:22 2018 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Feb 21 15:10:17 2018 -0800"
      },
      "message": "Remove non-trivial constructors/destructors from SystemProperties\n\nWith the goal of disallowing exit time destructors, SystemProperties\u0027s\nnon-trivial destructor needs to be removed.  This means replacing the\nunion hack with yet another hack as we don\u0027t want to allocate anything\ndespite relying on some polymorphism.\n\nBug: 73485611\nTest: boot bullhead\nChange-Id: I64223714c9b26c9724bfb8f3e2b0168e47b56bc8\n"
    },
    {
      "commit": "44c7b6ad0ac277a8ed3ee2278f6c1ee23f130ab5",
      "tree": "fb4a4f1583d3523d9344c3b630daafc01df05b5a",
      "parents": [
        "d27a3d7853bcbf537ccaf440228a469e154f72ad",
        "5fe73268f3813144ed7ae29d5b91c26ae8b2f0ca"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Feb 21 04:41:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 21 04:41:21 2018 +0000"
      },
      "message": "Merge changes Ibcd45e9b,I1ff5c0fa\n\n* changes:\n  Do not munmap in MmapFile::~MmapFile\n  Build bionic/tests with cpp_std experimental.\n"
    },
    {
      "commit": "d27a3d7853bcbf537ccaf440228a469e154f72ad",
      "tree": "aa6ec7d58ea217aa966d0b711e507c7bb8e364d2",
      "parents": [
        "e510d9c369d76a5935501ebb4ba82984767060b2",
        "cb4d42173e008217ecb75ef7669d1c41be6ae0c7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 21 02:14:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 21 02:14:21 2018 +0000"
      },
      "message": "Merge \"Fix mmap leak in MmapFile\""
    },
    {
      "commit": "5fe73268f3813144ed7ae29d5b91c26ae8b2f0ca",
      "tree": "5b421af08544f44b179ae53585ec604b9fed88cf",
      "parents": [
        "60ddedff0b34f0058780b8cdbdeacef667526d08"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Feb 20 15:40:59 2018 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Feb 20 16:02:13 2018 -0800"
      },
      "message": "Do not munmap in MmapFile::~MmapFile\n\nHaving any destructor with a global variable in bionic is causing\nsome issues. Since we don\u0027t actually need to munmap in this case, we\nremove the destructor to work around that issue.\n\nA small class is used to still munmap during tests.\n\nBug: 73485611\nTest: bionic unit tests\nChange-Id: Ibcd45e9b1ab22d187ecfc2738bb87244250d81ea\n"
    },
    {
      "commit": "cb4d42173e008217ecb75ef7669d1c41be6ae0c7",
      "tree": "89b605ab10eaecfeed80a39389a95b053c66ae87",
      "parents": [
        "d5172fced0f88114e21086db5defaee64371de32"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Feb 20 15:50:04 2018 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Feb 20 15:50:04 2018 -0800"
      },
      "message": "Fix mmap leak in MmapFile\n\nIf the mmap\u0027ed file doesn\u0027t end in a new line, previously we\u0027d leak\nthe mmap\u0027ed region.  This change now munmap\u0027s the region.\n\nTest: unit tests\nChange-Id: If28d3d9a6b1b9c54123beecb3bbbe8ed984ca81d\n"
    },
    {
      "commit": "60ddedff0b34f0058780b8cdbdeacef667526d08",
      "tree": "7e301fc90ef9aa777f18bb29441c4554591f2386",
      "parents": [
        "d5172fced0f88114e21086db5defaee64371de32"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Feb 20 15:40:02 2018 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Feb 20 15:40:02 2018 -0800"
      },
      "message": "Build bionic/tests with cpp_std experimental.\n\nTest: bionic unit tests still pass.\nChange-Id: I1ff5c0fa391ae111ac19e863ef0f7f29868406e6\n"
    },
    {
      "commit": "e510d9c369d76a5935501ebb4ba82984767060b2",
      "tree": "892ac8546b3dc8e8fb179b2158f64e0452b464c0",
      "parents": [
        "0da25235703e8f382c7b9c5e606b84dd7a55711e",
        "153168c855962082d23b3124286005f90ccb39f8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 20 22:24:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 20 22:24:37 2018 +0000"
      },
      "message": "Merge \"Fix RTLD_NEXT/DEFAULT lookup\""
    },
    {
      "commit": "153168c855962082d23b3124286005f90ccb39f8",
      "tree": "892ac8546b3dc8e8fb179b2158f64e0452b464c0",
      "parents": [
        "0da25235703e8f382c7b9c5e606b84dd7a55711e"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Feb 20 16:51:41 2018 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Feb 20 17:10:00 2018 +0100"
      },
      "message": "Fix RTLD_NEXT/DEFAULT lookup\n\nRTLD_NEXT/DEFAULT lookup should not skip handle lookup\nin the case when the load group is RTLD_GLOBAL.\n\nNote that there is a difference between load group is local group.\nThe local group includes externally referenced libraries where\nthe load group does not. The external reference in this context is a\nDT_NEEDED library that belongs to a previously loaded group.\n\nBug: http://b/72237367\nTest: bionic-unit-tests --gtest_filter\u003ddl*\nChange-Id: I8997cc961c13a5396f1756161798b45ed1cab16c\n"
    },
    {
      "commit": "0da25235703e8f382c7b9c5e606b84dd7a55711e",
      "tree": "62c471a331c367c3fc4a4cea68674ae19e00d09f",
      "parents": [
        "e2d6c1e76cdb1a8cb00c4bd11466f4c4b350b03a",
        "4e6bf9e9fa745228fa46b93272eee18d3a22a0d9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 23:34:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 16 23:34:35 2018 +0000"
      },
      "message": "Merge \"Remove obsolete debuggerd32/debuggerd64 hack.\""
    },
    {
      "commit": "e2d6c1e76cdb1a8cb00c4bd11466f4c4b350b03a",
      "tree": "cebae02340e29719ff51cf0c5e8e96d9e029cfbb",
      "parents": [
        "d5172fced0f88114e21086db5defaee64371de32",
        "da1bb113408030cebd1b7f2ce4b10b0e1852666d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 16 21:51:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 16 21:51:54 2018 +0000"
      },
      "message": "Merge \"The VDSO soname varies by architecture.\""
    },
    {
      "commit": "4e6bf9e9fa745228fa46b93272eee18d3a22a0d9",
      "tree": "c6d6f165d8a2c15e0985984e0b650904c2e2e050",
      "parents": [
        "d5172fced0f88114e21086db5defaee64371de32"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 16 10:53:03 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 16 10:53:03 2018 -0800"
      },
      "message": "Remove obsolete debuggerd32/debuggerd64 hack.\n\nBug: N/A\nTest: builds\nChange-Id: I159eea4e1c0d88e5e51184479ed020e7597390ba\n"
    },
    {
      "commit": "da1bb113408030cebd1b7f2ce4b10b0e1852666d",
      "tree": "cebae02340e29719ff51cf0c5e8e96d9e029cfbb",
      "parents": [
        "d5172fced0f88114e21086db5defaee64371de32"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 16 10:05:08 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 16 10:05:08 2018 -0800"
      },
      "message": "The VDSO soname varies by architecture.\n\nFrom http://man7.org/linux/man-pages/man7/vdso.7.html:\n\n       user ABI   vDSO name\n       ─────────────────────────────\n       aarch64    linux-vdso.so.1\n       arm        linux-vdso.so.1\n       ia64       linux-gate.so.1\n       mips       linux-vdso.so.1\n       ppc/32     linux-vdso32.so.1\n       ppc/64     linux-vdso64.so.1\n       s390       linux-vdso32.so.1\n       s390x      linux-vdso64.so.1\n       sh         linux-gate.so.1\n*      i386       linux-gate.so.1\n*      x86-64     linux-vdso.so.1\n       x86/x32    linux-vdso.so.1\n\nNote that Android \"x86\" is Linux\u0027s \"i386\", which is the odd one out\namongst Android\u0027s supported architectures.\n\nBug: http://b/72831787\nTest: ran tests\nChange-Id: I0a28127af042e2fd7673f24bbb30f8a50556cf96\n"
    },
    {
      "commit": "d5172fced0f88114e21086db5defaee64371de32",
      "tree": "30bd20a165f5ba825d82e488a6f6f561c0f7de8b",
      "parents": [
        "665ce210fab00911321829e6e190405ef18e5032",
        "457852666cb870a844df016962fac487cb5e7559"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 15 02:36:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 15 02:36:38 2018 +0000"
      },
      "message": "Merge \"Add __fseterr.\""
    },
    {
      "commit": "665ce210fab00911321829e6e190405ef18e5032",
      "tree": "69b8621dfae13859842cc9a2f64f409fe16040cd",
      "parents": [
        "38a78728c343f6398763ae8d7e3e8202b927a056",
        "3376c23daceddd603478347c00163f39e7c9e1ee"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 15 01:26:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 15 01:26:17 2018 +0000"
      },
      "message": "Merge \"Add remaining _l function stubs.\""
    },
    {
      "commit": "457852666cb870a844df016962fac487cb5e7559",
      "tree": "b6d5ea190fca3841b956dc1cbe714fdef8982655",
      "parents": [
        "38a78728c343f6398763ae8d7e3e8202b927a056"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 14 15:21:45 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 14 15:25:21 2018 -0800"
      },
      "message": "Add __fseterr.\n\nTrivial, obvious counterpart to the standard ferror(3) and clearerr(3),\nand lets us build bison out of the box.\n\nBug: http://b/64273806\nTest: ran tests\nChange-Id: I20affabddb71210051165c41e86adfe5ae04f77f\n"
    },
    {
      "commit": "38a78728c343f6398763ae8d7e3e8202b927a056",
      "tree": "5f3188b527d17aff29fc7d50cd5c62ddcf17f4ab",
      "parents": [
        "2d1e1011cfe01716573e79c66c03a7d9f6cb2c86",
        "23415fc60d18b41b1a1ff9591176ce98b6f84485"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 14 21:24:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 14 21:24:11 2018 +0000"
      },
      "message": "Merge \"Add uc_sigmask64.\""
    },
    {
      "commit": "3376c23daceddd603478347c00163f39e7c9e1ee",
      "tree": "d8a6f5383a285783630af07f03e11a5a06677b10",
      "parents": [
        "3374d0cabb973ff2b73ad8cd909389bdeed18658"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 23:14:12 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 23:14:12 2018 -0800"
      },
      "message": "Add remaining _l function stubs.\n\nBug: http://b/65595804\nTest: ran tests\nChange-Id: I3bea3af20b354d1f0d3e05fd35421a9045f29020\n"
    },
    {
      "commit": "23415fc60d18b41b1a1ff9591176ce98b6f84485",
      "tree": "bb79fd7cf82c54ad730c8c268b68e02f29997e69",
      "parents": [
        "3374d0cabb973ff2b73ad8cd909389bdeed18658"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 19:09:04 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 19:09:04 2018 -0800"
      },
      "message": "Add uc_sigmask64.\n\nAdded to each ucontext_t for source compatibility between platforms where\nsigset_t and sigset64_t differ (arm, x86) and where they\u0027re the same\n(all the rest).\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: I65a37bfa177933701bbe6c2350448885fd0f9c43\n"
    },
    {
      "commit": "2d1e1011cfe01716573e79c66c03a7d9f6cb2c86",
      "tree": "638e26e848a26608d6b2344fe2fe4975bdf034a6",
      "parents": [
        "af8d54a7d715bd16bee279a87f42f8604b6b0a46",
        "cbc80ba9d839675a0c4891e2ab33f39ba51b04b2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 14 02:53:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 14 02:53:37 2018 +0000"
      },
      "message": "Merge \"Switch the rest of our internal headers to #pragma once.\""
    },
    {
      "commit": "af8d54a7d715bd16bee279a87f42f8604b6b0a46",
      "tree": "15fcd3caeea9269e5e3eefb881ec25bade966bcb",
      "parents": [
        "3374d0cabb973ff2b73ad8cd909389bdeed18658",
        "db478a627482c73c52df9e3929fe7a39f03e4eeb"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 14 00:49:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 14 00:49:48 2018 +0000"
      },
      "message": "Merge \"Implement malloc hooks.\""
    },
    {
      "commit": "cbc80ba9d839675a0c4891e2ab33f39ba51b04b2",
      "tree": "0b24e6123c94bd3e61d94fd6eca6a3b9cc9b074e",
      "parents": [
        "3374d0cabb973ff2b73ad8cd909389bdeed18658"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 14:26:29 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 14:27:17 2018 -0800"
      },
      "message": "Switch the rest of our internal headers to #pragma once.\n\nWe\u0027ve been using #pragma once for new internal files, but let\u0027s be more bold.\n\nBug: N/A\nTest: builds\nChange-Id: I7e2ee2730043bd884f9571cdbd8b524043030c07\n"
    },
    {
      "commit": "db478a627482c73c52df9e3929fe7a39f03e4eeb",
      "tree": "15fcd3caeea9269e5e3eefb881ec25bade966bcb",
      "parents": [
        "3374d0cabb973ff2b73ad8cd909389bdeed18658"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 07 18:42:14 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Feb 13 13:37:30 2018 -0800"
      },
      "message": "Implement malloc hooks.\n\nUse the malloc debug framework to implement the malloc debug hooks\nsince it can introduce a performance issue.\n\nAlso, modify the bionic/tests/utils.h slightly to dump an error message\nwhen the exe failed.\n\nBug: 30561479\n\nTest: Ran malloc hook unit tests.\nTest: Ran malloc debug unit tests.\nTest: Enabled malloc hooks and ran bionic unit tests and verified no\nTest: unexpected failures.\nTest: Enabled malloc debug and malloc hooks and verified malloc debug wins.\nTest: Enabled malloc debug using env, property, and property with name\nTest: still works.\n\nChange-Id: Ib50046a0493c5c2050cf831befb812310bdcc249\n(cherry picked from commit d6a1dc23796696f73f483943534d4c5c4b312d39)\n"
    },
    {
      "commit": "3374d0cabb973ff2b73ad8cd909389bdeed18658",
      "tree": "b5ad1431143845091595f16ca847b2f7ead82cda",
      "parents": [
        "f99b7a34c809ac658f06259d51efdb4cf052e166",
        "f857d59635cda31db2fdc0c58193f51eecf2cc73"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 16:17:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 13 16:17:27 2018 +0000"
      },
      "message": "Merge \"Switch x86 begin.c to asm; align ESP correctly\""
    },
    {
      "commit": "f99b7a34c809ac658f06259d51efdb4cf052e166",
      "tree": "124dae1fcd9e0d3fd876088a5aee513f42af7f0b",
      "parents": [
        "a8b179bcdd9c658ceacc9f944c92640ea2f219d0",
        "25f17e48df2e5e9e88b0c5cd2ebeded33c7cedc0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 13 15:42:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 13 15:42:55 2018 +0000"
      },
      "message": "Merge \"Better backwards compatibility for stat64.\""
    },
    {
      "commit": "a8b179bcdd9c658ceacc9f944c92640ea2f219d0",
      "tree": "9808c7d6f31c1c4c75a6f8cd9babbddea812ee12",
      "parents": [
        "919dd9dcb4ca547a67079b85494236cd5f680598",
        "41986a013a10c6f79822002800a9afe90efba4f2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 07:09:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 13 07:09:27 2018 +0000"
      },
      "message": "Merge \"Revert \"Remove a check for AIDs in the OEM range.\"\""
    },
    {
      "commit": "f857d59635cda31db2fdc0c58193f51eecf2cc73",
      "tree": "2cac454ac04d26b4b52518274d2914af11e0bb26",
      "parents": [
        "919dd9dcb4ca547a67079b85494236cd5f680598"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Feb 12 19:59:46 2018 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Feb 12 21:43:12 2018 -0800"
      },
      "message": "Switch x86 begin.c to asm; align ESP correctly\n\nEvery other architecture already uses an assembly file here.\n\nThe previous code aligned ESP incorrectly, but it doesn\u0027t really matter\nbecause everything is built with Clang\u0027s -mstackrealign, which realigns\nESP in every function prologue.\n\nBug: http://b/73140672#comment4\nTest: lunch aosp_x86-eng; m; emulator; device boots\nTest: manual\nChange-Id: I921fd7848cdc611b4f8f13d1176d1983ffea952d\n"
    },
    {
      "commit": "25f17e48df2e5e9e88b0c5cd2ebeded33c7cedc0",
      "tree": "f117b124c5aa047b3a4d922526040b8c894aef7c",
      "parents": [
        "919dd9dcb4ca547a67079b85494236cd5f680598"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 12 15:48:01 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 12 15:48:01 2018 -0800"
      },
      "message": "Better backwards compatibility for stat64.\n\nCaused problems for some Google source switching to unified headers\nbecause the legacy headers just used #define instead.\n\nBug: http://b/73210428\nTest: builds\nChange-Id: If8a36f284031e57af419903610029a8c34a23d91\n"
    },
    {
      "commit": "41986a013a10c6f79822002800a9afe90efba4f2",
      "tree": "f736c2bf52ae95d5b5317e4c5efc91000b7a507f",
      "parents": [
        "ab8c86159738a774ca99a5b3311e5e3b81fc8ce9"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Feb 12 10:49:13 2018 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Feb 12 10:49:13 2018 -0800"
      },
      "message": "Revert \"Remove a check for AIDs in the OEM range.\"\n\nWe now have a proper mechanism for OEMs to create new AIDs via\nconfig.fs and /vendor/etc/{passwd,group}.  This means that there is no\nreason for OEMs to add AIDs by modifying android_filesystem_config.h,\nand therefore we can add this check back.\n\nBug: 27999086\nTest: pwd and grp tests pass with custom AIDs in config.fs\n\nThis reverts commit a14485addeacc23587743dad307184c00224b823.\n\nChange-Id: I74a28ff267a595e83cf692b27fd8b5170a021f54\n"
    },
    {
      "commit": "919dd9dcb4ca547a67079b85494236cd5f680598",
      "tree": "3c7b781ad09a97d4c4d802bb040b4e060a9b8ac5",
      "parents": [
        "ab8c86159738a774ca99a5b3311e5e3b81fc8ce9",
        "379666996de37cc21a9b05faf692cd17a4421631"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 12 18:49:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 12 18:49:12 2018 +0000"
      },
      "message": "Merge \"MIPS32: Make sigset64_t equal to sigset_t\""
    },
    {
      "commit": "ab8c86159738a774ca99a5b3311e5e3b81fc8ce9",
      "tree": "a35165b08fe9fcd81d936d5a3ae2eadee6e2dc48",
      "parents": [
        "4362da80760ef76af310280e70fddb6b6d3d043f",
        "6034ef85d86675d063d6b1920e85e4c471b95904"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Feb 12 16:27:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 12 16:27:20 2018 +0000"
      },
      "message": "Merge \"Add ability to read /etc/passwd and /etc/group\""
    },
    {
      "commit": "379666996de37cc21a9b05faf692cd17a4421631",
      "tree": "e73d4137a7fd1c906b8117be9755e0e5359694f2",
      "parents": [
        "4362da80760ef76af310280e70fddb6b6d3d043f"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Mon Feb 12 09:03:10 2018 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Mon Feb 12 09:03:10 2018 +0100"
      },
      "message": "MIPS32: Make sigset64_t equal to sigset_t\n\nsigset_t is already large enough on mips so use the same principle\nas on LP64 architectures: typedef sigset_t sigset64_t\n\nAlso prevent accessing sa_restorer field for architectures which\ndon\u0027t define SA_RESTORER in signal_test.\n\nThis allows compilation of signal_test.\n\nTest: bionic-unit-tests in QEMU (MIPS32)\nChange-Id: I965e202c9a7f7d109e4ec25ad87172dc7c1b8806\n"
    },
    {
      "commit": "4362da80760ef76af310280e70fddb6b6d3d043f",
      "tree": "1c82e79065e631ec1739f588025154696469d253",
      "parents": [
        "6fa9bddbc7188aeb20d6faa4da2e62c12f5a5af2",
        "90242350053e6fd2c03640d3f9b37864d18c414d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 10 02:30:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 10 02:30:37 2018 +0000"
      },
      "message": "Merge \"Remove __overloadable/__RENAME_CLANG\""
    },
    {
      "commit": "6fa9bddbc7188aeb20d6faa4da2e62c12f5a5af2",
      "tree": "552563660ec8210ce32014970dd35c58d424fca1",
      "parents": [
        "5bf2c20f43b0f1883048a929f61ba8797b331203",
        "72282add20b19a0500140e0ffcab4b36a9548290"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 10 01:44:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 10 01:44:07 2018 +0000"
      },
      "message": "Merge \"linker_memory: return success in enable_fallback_allocator.\""
    },
    {
      "commit": "5bf2c20f43b0f1883048a929f61ba8797b331203",
      "tree": "5ebfab5b75e6b826072cdc14f4b54546e819be93",
      "parents": [
        "59a0a37b9dec1c311525bafe4ec5c22bb84a8199",
        "a0d177d0105a4ca8ea15901843357817c64e777e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 09 06:56:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 09 06:56:31 2018 +0000"
      },
      "message": "Merge \"crtbegin: Correctly align ESP to 16 for __i386__\""
    },
    {
      "commit": "59a0a37b9dec1c311525bafe4ec5c22bb84a8199",
      "tree": "192967519ea057bbda0e085cc419198f8b1bead8",
      "parents": [
        "3d6b2e78a9ea982093c91312c56f644e84e70517",
        "3e4d4d4cf25d8adfe969e4033047b3e2ea62910d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 09 05:41:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 09 05:41:31 2018 +0000"
      },
      "message": "Merge \"Add _FORCE_CRT_ATFORK config for crtbegin.\""
    },
    {
      "commit": "a0d177d0105a4ca8ea15901843357817c64e777e",
      "tree": "632e35a408cbeca24173ea0ca7fc9fbefd586a44",
      "parents": [
        "12d96ed7f59d1e463df581ad6ec7ccfc87d9ef5d"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Feb 08 18:37:26 2018 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Feb 08 20:55:57 2018 -0800"
      },
      "message": "crtbegin: Correctly align ESP to 16 for __i386__\n\nThe (lowest) address of the argument area (aka ESP immediately prior to\nthe call instruction) must be aligned to 0 mod 16. Here, it is aligned to\n12 mod 16.\n\nFrom the SysV ABI doc (2.2.2 The Stack Frame)\n\n\"\"\"The end of the input argument area shall be aligned on a 16 (32, if\n__m256 is passed on stack) byte boundary. In other words, the value\n(%esp + 4) is always a multiple of 16 (32) when control is transferred to\nthe function entry point.\"\"\"\n\nTest: extract code into a separate C file and verify stack alignment in a\n  \"start_main\" function\nTest: use the upcoming NDK r17-beta1 (with new Bionic crtbegin*.o files)\n  with an M-23 x86 system image, check alignment in main (compiled with\n  Clang not GCC, compiled w/o -mstackrealign)\nBug: b/73140672\n\nChange-Id: Ia8d93fe5668d0a514a9fd22c40bf8362805111e6\n"
    },
    {
      "commit": "3d6b2e78a9ea982093c91312c56f644e84e70517",
      "tree": "45a0cbbcd141d2907e2f1e73950064cc70699621",
      "parents": [
        "aac0dd98913a4ef5527916cf562cc835f0176d59",
        "1a1b57cb836dced5d6826c4693f8a6184e21c62b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 09 03:33:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 09 03:33:43 2018 +0000"
      },
      "message": "Merge \"Document the rules of thumb for \"should I add a syscall wrapper?\".\""
    },
    {
      "commit": "6034ef85d86675d063d6b1920e85e4c471b95904",
      "tree": "717a7dfe7c2778a81919f04cccd1cbaf43f9297d",
      "parents": [
        "4cd3550d50cb14efe3d86ab9732ce75def5b85bd"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Feb 02 16:10:07 2018 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Feb 08 12:38:57 2018 -0800"
      },
      "message": "Add ability to read /etc/passwd and /etc/group\n\nAdd the capability to read /etc/passwd and /etc/group for getpw* and\ngetgr* functions.\n\nBug: 27999086\nTest: pwd, grp, grp_pwd_file unit tests\nTest: Read in custom users/groups from /etc/{passwd,group}\nChange-Id: Idc1f054af8a7ca34743a90493495f0ccc775a0d8\n"
    },
    {
      "commit": "1a1b57cb836dced5d6826c4693f8a6184e21c62b",
      "tree": "4b50797667a5c0452d9296685cbd6df106570492",
      "parents": [
        "1a5737a48f0d9bd3159482c24424416a3aeeabcb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 08 09:38:54 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 08 09:53:59 2018 -0800"
      },
      "message": "Document the rules of thumb for \"should I add a syscall wrapper?\".\n\nThis isn\u0027t well known, and causes confusion for at least a couple of\npeople each year.\n\nBug: N/A\nTest: N/A\nChange-Id: I43127d937ee81d0c79bbc496638a1b1b6003dd80\n"
    },
    {
      "commit": "aac0dd98913a4ef5527916cf562cc835f0176d59",
      "tree": "e2c12930dc5e974e2b519979b8da4f7c117058e1",
      "parents": [
        "1a5737a48f0d9bd3159482c24424416a3aeeabcb",
        "87c6aac6d2d63ad46778dc38727f229bd4f45898"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 08 07:47:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 08 07:47:21 2018 +0000"
      },
      "message": "Merge \"Don\u0027t use SA_RESTORER if it is not defined\""
    },
    {
      "commit": "1a5737a48f0d9bd3159482c24424416a3aeeabcb",
      "tree": "e72e40b505fe0646b04a2fbe20071c33c21fffe7",
      "parents": [
        "13dec2354d0ed1e1f91a583d6f0bc474ff4c80ea",
        "55ca56c27ca166a247b1e621a0a0e3f4d1907b4d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 07 20:10:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 07 20:10:01 2018 +0000"
      },
      "message": "Merge \"Fix __gnu_Unwind_Find_exidx again.\""
    },
    {
      "commit": "13dec2354d0ed1e1f91a583d6f0bc474ff4c80ea",
      "tree": "573d84b4f5ca0ce348c41dd2ba60708e22b2f60d",
      "parents": [
        "dd1742aca592c7f53b9be0daa71ff02f9d2f601f",
        "4d4a7832add84dbae97f17efd478cd0ecfb8d8bc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 07 19:55:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 07 19:55:43 2018 +0000"
      },
      "message": "Merge \"Add a few more legacy inlines for strto*_l.\""
    },
    {
      "commit": "dd1742aca592c7f53b9be0daa71ff02f9d2f601f",
      "tree": "c60c6622d2b80f9ad4ae5a990b7fb3439f16444b",
      "parents": [
        "be6fbae74fc3048647caadd58a9eaad81245e934",
        "cae21a9b53a10f0cba79bf6783c4a5af16228fed"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 07 17:00:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 07 17:00:20 2018 +0000"
      },
      "message": "Merge \"Add aligned_alloc to libc.\""
    },
    {
      "commit": "87c6aac6d2d63ad46778dc38727f229bd4f45898",
      "tree": "0cf702adc123e070d4963cc9838c45fdc2b721f0",
      "parents": [
        "be6fbae74fc3048647caadd58a9eaad81245e934"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Wed Feb 07 11:05:54 2018 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@mips.com",
        "time": "Wed Feb 07 16:56:33 2018 +0100"
      },
      "message": "Don\u0027t use SA_RESTORER if it is not defined\n\nThis is a follow up to I47b0560a30aa33a9b1f1978dfb7f84d2e3d389b8.\nThis fixes MIPS32 build.\n\nTest: successful build and boot aosp_mips-eng\nChange-Id: Ia5b245f5536d8fd037f1798bbdf6215c5f059045\n"
    },
    {
      "commit": "cae21a9b53a10f0cba79bf6783c4a5af16228fed",
      "tree": "c60c6622d2b80f9ad4ae5a990b7fb3439f16444b",
      "parents": [
        "be6fbae74fc3048647caadd58a9eaad81245e934"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Feb 05 18:14:55 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 07 06:57:14 2018 -0800"
      },
      "message": "Add aligned_alloc to libc.\n\nBug: 72969374\n\nTest: Bionic unit tests pass.\nTest: Malloc debug unit tests pass.\nChange-Id: I235985bbc638855d94249c97c98f14ab2924bda0\n(cherry picked from commit d69ee59594088c0d92ba9273188ef53ea5e6cd6a)\n"
    },
    {
      "commit": "be6fbae74fc3048647caadd58a9eaad81245e934",
      "tree": "d38a3b6da4bc70dbfb4792bc356ba9764f5ec2f7",
      "parents": [
        "fe44c3cde05cac4eacba261cff407c3f9e9b8772",
        "c11fb66739abb9346793c4267cf1437aa8896a6e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 07 03:19:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 07 03:19:12 2018 +0000"
      },
      "message": "Merge \"Inline __libc_arc4random_has_unlimited_entropy.\""
    },
    {
      "commit": "55ca56c27ca166a247b1e621a0a0e3f4d1907b4d",
      "tree": "1be96b12296ebb2bff8a8427f0ca94472f56fb7b",
      "parents": [
        "177429cb8db80496a5fe65430253b37d254dc66f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 06 16:51:32 2018 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 06 17:23:33 2018 -0800"
      },
      "message": "Fix __gnu_Unwind_Find_exidx again.\n\nThe math on the size calculation was wrong as the type of\n__exidx_start/__exidx_end was unsigned rather than a char. Make a\nstruct that represents each item instead and remove the division.\n\nTest: built artifacts and used them in the NDK\nBug: None\nChange-Id: Ic2c0c123a369b9319e8645d806d659290eb2f69c\n"
    },
    {
      "commit": "fe44c3cde05cac4eacba261cff407c3f9e9b8772",
      "tree": "b9711407cb69339a17d7a9fc049c12e17413d935",
      "parents": [
        "177429cb8db80496a5fe65430253b37d254dc66f",
        "11f607641000993a90ef774bfab18347052094d6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 06 23:41:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 06 23:41:46 2018 +0000"
      },
      "message": "Merge \"Make sigaction consistent about SA_RESTORER and sa_restorer\""
    },
    {
      "commit": "c11fb66739abb9346793c4267cf1437aa8896a6e",
      "tree": "dd7e857806c36a201dabf6f86dcb85afb2ef3ebb",
      "parents": [
        "a70089163ca09a983772dd2a8daa17e47f8ede53"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 05 17:28:51 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 06 15:35:15 2018 -0800"
      },
      "message": "Inline __libc_arc4random_has_unlimited_entropy.\n\nThe name is misleading anyway.\n\nBug: http://b/67015565\nTest: boots\nChange-Id: Ic765e376d84e1ca474d3324eab32e14ea1ae9712\n"
    },
    {
      "commit": "4d4a7832add84dbae97f17efd478cd0ecfb8d8bc",
      "tree": "51974db8a37e902d78d47578717f6fa9b2df2cc0",
      "parents": [
        "177429cb8db80496a5fe65430253b37d254dc66f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 06 13:45:29 2018 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 06 13:45:29 2018 -0800"
      },
      "message": "Add a few more legacy inlines for strto*_l.\n\nThese three functions are the only reason we need libandroid_support\npost-L. Add these so we can remove it entirely for LP64 or users\ntargeting L+.\n\nTest: make checkbuild\nTest: build/soong/scripts/build-ndk-prebuilts.sh\nTest: Imported the prebuilts generated from the above to the NDK,\n      `./checkbuild.py \u0026\u0026 ./run_tests.py` with a handful of patches\n      to remove libandroid_support for L+.\nBug: None\n\nChange-Id: I39f8ee686bd76ebdb2fc3745b013d56175ba8ff0\n"
    },
    {
      "commit": "90242350053e6fd2c03640d3f9b37864d18c414d",
      "tree": "86bd08eae994cc61618b28520cab3ea1b423493e",
      "parents": [
        "2bf1d3dae262f92dbc964be467060dc6a24787af"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Feb 06 12:51:31 2018 -0800"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Feb 06 13:35:56 2018 -0800"
      },
      "message": "Remove __overloadable/__RENAME_CLANG\n\nNow that we have a clang that supports transparent overloads, we can\nkill all of this cruft, and restore our upstream sources to their\nuntouched glory. Woohoo!\n\nBug: 12231437\nTest: Built aosp_marlin; no obvious patch-related aosp_mips issues.\nChange-Id: I520a19d014f12137f80e43f973dccd6711c571cd\n"
    },
    {
      "commit": "177429cb8db80496a5fe65430253b37d254dc66f",
      "tree": "74322a9df62db283947059d6e939946442d3bf12",
      "parents": [
        "2bf1d3dae262f92dbc964be467060dc6a24787af",
        "e58d49e76c56b835a1713803292fef5d25095ad5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 06 19:27:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 06 19:27:12 2018 +0000"
      },
      "message": "Merge \"Improve the comment in the ARM setjmp.S.\""
    },
    {
      "commit": "2bf1d3dae262f92dbc964be467060dc6a24787af",
      "tree": "73ef163a800395ba312e5fa25d57303b05a7d9da",
      "parents": [
        "0f546f45d7a748fb30b7611b63572dd3e50816c6",
        "ef40d25cebe09c1098edd3b7e946c196bd978f7b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 06 17:21:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 06 17:21:30 2018 +0000"
      },
      "message": "Merge \"Duplicate tests for duplicated symbols.\""
    },
    {
      "commit": "0f546f45d7a748fb30b7611b63572dd3e50816c6",
      "tree": "89f1c14cde53a3648c35dcc6ede2cd2c4de10c45",
      "parents": [
        "a325151da0dec4d488a9e1cc93a29a561dd00578",
        "d50a1de565c00d415ad39ef8c14e392da4c99d43"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 06 03:58:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 06 03:58:23 2018 +0000"
      },
      "message": "Merge \"Run bpfmt manually.\""
    },
    {
      "commit": "d50a1de565c00d415ad39ef8c14e392da4c99d43",
      "tree": "011e021bbb021d83634d00ffa3255ebd7d468cfe",
      "parents": [
        "a70089163ca09a983772dd2a8daa17e47f8ede53"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 05 17:30:57 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 05 17:30:57 2018 -0800"
      },
      "message": "Run bpfmt manually.\n\nBug: N/A\nTest: builds\nChange-Id: I0cf145c3b699ac8ef170a63366832f63a9cc1a91\n"
    },
    {
      "commit": "a325151da0dec4d488a9e1cc93a29a561dd00578",
      "tree": "210b9c4879315ce41089b7f1dd3db705bf628297",
      "parents": [
        "a70089163ca09a983772dd2a8daa17e47f8ede53",
        "211c4d35f2a6bea0a3ff1bb1215ec5df9a6115b5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 06 01:12:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 06 01:12:35 2018 +0000"
      },
      "message": "Merge \"Rewrite getentropy.\""
    },
    {
      "commit": "a70089163ca09a983772dd2a8daa17e47f8ede53",
      "tree": "24149efc78d3b4a70692bbc719ae5662ba49693c",
      "parents": [
        "a026108ec10c0b711add1e5fb920710ced4a9046",
        "733c1e4221b0bbd6967813982dcad9f8342dd038"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 05 23:10:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 05 23:10:19 2018 +0000"
      },
      "message": "Merge \"Avoid trademarks.\""
    },
    {
      "commit": "e58d49e76c56b835a1713803292fef5d25095ad5",
      "tree": "777f9f6d4da9f34930834eb73c4014cb858193c7",
      "parents": [
        "a026108ec10c0b711add1e5fb920710ced4a9046"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 05 13:36:02 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 05 13:36:02 2018 -0800"
      },
      "message": "Improve the comment in the ARM setjmp.S.\n\nBased on code review comments for 460130b7d07f0efba7f4f43f657f0f60daeb71e2.\n\nBug: N/A\nTest: N/A\nChange-Id: Ia86bc92dfe3f18261e06af33488a548ea9911b10\n"
    },
    {
      "commit": "733c1e4221b0bbd6967813982dcad9f8342dd038",
      "tree": "24149efc78d3b4a70692bbc719ae5662ba49693c",
      "parents": [
        "a026108ec10c0b711add1e5fb920710ced4a9046"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 05 13:29:33 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 05 13:29:33 2018 -0800"
      },
      "message": "Avoid trademarks.\n\nAPI levels are generally more useful anyway.\n\nBug: N/A\nTest: N/A\nChange-Id: Ie7bd69c3d0223c9bc8ed52c871b1d2d34373e2d0\n"
    },
    {
      "commit": "11f607641000993a90ef774bfab18347052094d6",
      "tree": "9acfa2f2965a78ca994bfa5aa8c56b06b4d39653",
      "parents": [
        "a026108ec10c0b711add1e5fb920710ced4a9046"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Feb 05 13:33:35 2018 +0100"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Feb 05 22:08:25 2018 +0100"
      },
      "message": "Make sigaction consistent about SA_RESTORER and sa_restorer\n\nBug: http://b/72493232\nTest: bionic-unit-tests --gtest_filter\u003d*signal.sigaction*\nChange-Id: Ia9fceb478498d09c8f2f6222d6a81725e1f6eb23\n"
    },
    {
      "commit": "211c4d35f2a6bea0a3ff1bb1215ec5df9a6115b5",
      "tree": "711bb56de3483b6dff3aef90109038f40435e612",
      "parents": [
        "12d96ed7f59d1e463df581ad6ec7ccfc87d9ef5d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 02 15:10:32 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 05 12:57:22 2018 -0800"
      },
      "message": "Rewrite getentropy.\n\nThe error handling was a mess, resulting in an infinite loop\n(and a test timeout) if you actually took the /dev/urandom\nfallback. I\u0027m also unconvinced that the getrandom(2) path was correct\nbecause of the various reasons why we might get a short count back\n(http://man7.org/linux/man-pages/man2/getrandom.2.html). In this version,\nthe two paths look very similar except for the getrandom(2) failure case,\nwhere it\u0027s now much clearer that we just give up so that we can boot\n(http://b/33059407).\n\nBug: http://b/33059407\nBug: http://b/67015565\nTest: ran tests on hikey and a ICS Galaxy Nexus\nChange-Id: Ie715d59b46f7a70bae66943c316168838787b40d\n"
    },
    {
      "commit": "a026108ec10c0b711add1e5fb920710ced4a9046",
      "tree": "481b943639b90a725b8469d5ab367ff679103e8f",
      "parents": [
        "b82dcc6fa70a31f6014b069fb97c4a25faebea2c",
        "2dec3d7021fca57721ca7cd973d63ef817557aee"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sat Feb 03 02:03:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 03 02:03:47 2018 +0000"
      },
      "message": "Merge \"Avoid abort when calling pthread_mutex_destroy more than once.\""
    },
    {
      "commit": "2dec3d7021fca57721ca7cd973d63ef817557aee",
      "tree": "138d1d646af52de9a7c10f05fa143649883489a4",
      "parents": [
        "5a00ba7c1c5d563b58255257898fe0a5903933eb"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Feb 02 15:45:24 2018 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Feb 02 15:45:24 2018 -0800"
      },
      "message": "Avoid abort when calling pthread_mutex_destroy more than once.\n\nBug: http://b/72878088\nTest: run bionic-unit-tests.\nChange-Id: I0c3a6c5a625d187d5f32ec8c821cfdd5e807a671\n"
    },
    {
      "commit": "b82dcc6fa70a31f6014b069fb97c4a25faebea2c",
      "tree": "a5990c3e25acd17d3d8e1ac7425e92e73b9e0f31",
      "parents": [
        "ed95f37bc89ab40c54b67bfc57a6fae16fc77e7a",
        "5a00ba7c1c5d563b58255257898fe0a5903933eb"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Feb 02 19:44:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 02 19:44:51 2018 +0000"
      },
      "message": "Merge \"Support priority inheritance mutex in 32-bit programs.\""
    },
    {
      "commit": "ed95f37bc89ab40c54b67bfc57a6fae16fc77e7a",
      "tree": "8f5fee8d96c598dfa8c3ce0dfec03d0d051aa762",
      "parents": [
        "86a7806c9ede898e7f3920bf096b8b8e6cbd6f10",
        "3e235911c9cf5062adbb73efb53fe5ed712d7c53"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 02 17:11:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 02 17:11:20 2018 +0000"
      },
      "message": "Merge \"Add `struct sigaction64` and `sigaction64`.\""
    },
    {
      "commit": "86a7806c9ede898e7f3920bf096b8b8e6cbd6f10",
      "tree": "052eccdd8608f052f744f4e39872ce90455fb24b",
      "parents": [
        "12d96ed7f59d1e463df581ad6ec7ccfc87d9ef5d",
        "934ec9495505d234b2c2fa284470c2f44aae9de9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Feb 02 14:42:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 02 14:42:19 2018 +0000"
      },
      "message": "Merge \"Update to v4.15 kernel headers.\""
    },
    {
      "commit": "5a00ba7c1c5d563b58255257898fe0a5903933eb",
      "tree": "083ed71cdeb769c6de53fd333ca249ff77ab8f3d",
      "parents": [
        "2e2a8930e5f9eb2d9ea4fdb61f746c6f2e2048ac"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Jan 26 17:32:31 2018 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Feb 01 16:01:46 2018 -0800"
      },
      "message": "Support priority inheritance mutex in 32-bit programs.\n\nAdd fast path calling PIMutexTryLock() in pthread_mutex_lock.\nAdd trace for pi mutex waiting.\n\nBug: http://b/29177606\nTest: run bionic-unit-tests.\nTest: run bionic-benchmarks.\n\nChange-Id: I30b6436692d5ea6b63ca9905df745edb843b5528\n"
    },
    {
      "commit": "12d96ed7f59d1e463df581ad6ec7ccfc87d9ef5d",
      "tree": "914faa845ce5620c7918314b50d2acb1d37bd31e",
      "parents": [
        "b44bd827abf2b870ebf4a0f6b126098a46bf42ec",
        "a9fc82fefe07307f3af2e18014dbc6bc3925504f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 01 23:22:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 01 23:22:07 2018 +0000"
      },
      "message": "Merge \"Renames nonplat_property_contexts to vendor_property_contexts\""
    },
    {
      "commit": "3e235911c9cf5062adbb73efb53fe5ed712d7c53",
      "tree": "cdd84807bba4a7d0b0fd947555b2edaa2618df95",
      "parents": [
        "b44bd827abf2b870ebf4a0f6b126098a46bf42ec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 01 14:21:51 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 01 14:45:15 2018 -0800"
      },
      "message": "Add `struct sigaction64` and `sigaction64`.\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: I47b0560a30aa33a9b1f1978dfb7f84d2e3d389b8\n"
    },
    {
      "commit": "934ec9495505d234b2c2fa284470c2f44aae9de9",
      "tree": "ff6d5b5c9a57f994492c8ce74518b60baf0f48ef",
      "parents": [
        "b44bd827abf2b870ebf4a0f6b126098a46bf42ec"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 31 15:29:16 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 01 10:51:01 2018 -0800"
      },
      "message": "Update to v4.15 kernel headers.\n\nTest: Compiles, boots bullhead/hikey960.\nChange-Id: I118beb8b6cac0881b1270f9bf6981959297a41a8\n"
    },
    {
      "commit": "a9fc82fefe07307f3af2e18014dbc6bc3925504f",
      "tree": "914faa845ce5620c7918314b50d2acb1d37bd31e",
      "parents": [
        "b44bd827abf2b870ebf4a0f6b126098a46bf42ec"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Thu Feb 01 23:03:49 2018 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Thu Feb 01 23:32:24 2018 +0800"
      },
      "message": "Renames nonplat_property_contexts to vendor_property_contexts\n\nBug: 64240127\nTest: build\nChange-Id: Ifff956fa1a0557d7d10e1012b29d16f25bb80e8f\n"
    },
    {
      "commit": "b44bd827abf2b870ebf4a0f6b126098a46bf42ec",
      "tree": "b74709deb7bd530b7c5621da8f541209bf2cff5e",
      "parents": [
        "d8fde3f8a9210789c97dfcc16f048fd20c1ec0ec",
        "460130b7d07f0efba7f4f43f657f0f60daeb71e2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 01 09:30:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 01 09:30:12 2018 +0000"
      },
      "message": "Merge \"Fix sigsetjmp/siglongjmp to save/restore RT signals on arm/x86 too.\""
    },
    {
      "commit": "460130b7d07f0efba7f4f43f657f0f60daeb71e2",
      "tree": "b74709deb7bd530b7c5621da8f541209bf2cff5e",
      "parents": [
        "d8fde3f8a9210789c97dfcc16f048fd20c1ec0ec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 31 09:05:26 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 31 17:47:16 2018 -0800"
      },
      "message": "Fix sigsetjmp/siglongjmp to save/restore RT signals on arm/x86 too.\n\nOur arm and x86 ABIs shipped with a 32-bit `sigset_t`, so we need to\nuse sigprocmask64 to save/restore the RT signals too. (This is important\nbecause several are in use by the system, and the behavior of our 32-bit\n`sigset_t` is to clear the RT signals.)\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: Idff91f8b2849276e5a3073d07eccd84e02a34410\n"
    },
    {
      "commit": "d8fde3f8a9210789c97dfcc16f048fd20c1ec0ec",
      "tree": "92e4fe3ed9dddb34bba5b8598e9b114d99c3884a",
      "parents": [
        "5dbbf78bd7e4508476c2690e19f8d4ae7fc5feb8",
        "5905d6f8797056ca4178d42bf1220b6692e557a5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 31 17:04:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 31 17:04:31 2018 +0000"
      },
      "message": "Merge \"Add `sigset64_t` and accompanying functions.\""
    },
    {
      "commit": "5dbbf78bd7e4508476c2690e19f8d4ae7fc5feb8",
      "tree": "85fbfa14268de7d38189a8fe852cb2661ecffb82",
      "parents": [
        "d435d256da57fdf4278b3198720d881f3edcf452",
        "6dfa5b55a53bb7da93e41f4d3c9f073f74a2769e"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Jan 31 16:39:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 31 16:39:06 2018 +0000"
      },
      "message": "Merge \"Make pthread_attr_getstack__main_thread test native-bridge friendly\""
    },
    {
      "commit": "6dfa5b55a53bb7da93e41f4d3c9f073f74a2769e",
      "tree": "24507d73823e21b85950a7669cbc078ecadbe8e7",
      "parents": [
        "4cd3550d50cb14efe3d86ab9732ce75def5b85bd"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Jan 30 13:24:28 2018 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Jan 31 10:20:15 2018 +0100"
      },
      "message": "Make pthread_attr_getstack__main_thread test native-bridge friendly\n\nDetect stack mappings based on a pointer to the stack instead of\nrelying on \"[stack]\" label. This does not change the test but\nmakes it native-bridge friendly. In translated environment native\nbridge implementation may have a separate stack for the guest code.\n\nBug: http://b/30443561\nTest: bionic-unit-tests --gtest_filter\u003dpthread*\nChange-Id: Ic98a3b74b43ec63c7b37821a1f86525d32efd459\n"
    },
    {
      "commit": "5905d6f8797056ca4178d42bf1220b6692e557a5",
      "tree": "222848ae0ced32fcf2028a2c6502b4a763c83830",
      "parents": [
        "d435d256da57fdf4278b3198720d881f3edcf452"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 15:09:51 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 18:47:16 2018 -0800"
      },
      "message": "Add `sigset64_t` and accompanying functions.\n\nThis doesn\u0027t address `struct sigaction` and `sigaction`. That will\ncome later.\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: I4134346757ce3a4dac6feae413361cec16223386\n"
    },
    {
      "commit": "d435d256da57fdf4278b3198720d881f3edcf452",
      "tree": "73b9e54a979e9d4b1e2ce50ccc129e58b0484b31",
      "parents": [
        "4cd3550d50cb14efe3d86ab9732ce75def5b85bd",
        "cc0fe6e8c0bb2dfb250522872be6facb4d4a0339"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 18:51:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 30 18:51:06 2018 +0000"
      },
      "message": "Merge \"The future is now (2018 edition).\""
    },
    {
      "commit": "cc0fe6e8c0bb2dfb250522872be6facb4d4a0339",
      "tree": "73b9e54a979e9d4b1e2ce50ccc129e58b0484b31",
      "parents": [
        "4cd3550d50cb14efe3d86ab9732ce75def5b85bd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 08:54:12 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 08:54:12 2018 -0800"
      },
      "message": "The future is now (2018 edition).\n\nBug: N/A\nTest: builds\nChange-Id: Ic638e5b1f4e5901885fe7bc60b2a265817636b21\n"
    },
    {
      "commit": "4cd3550d50cb14efe3d86ab9732ce75def5b85bd",
      "tree": "42e8d4bf48c35810a65a428f2ccf7d917e0e5d01",
      "parents": [
        "4a0797c9d6b7c335b2baf63468ad3f63fc5e2533",
        "2cb5f7f578ec682c2bf628f29ffe21de8ccbc917"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 01:17:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 30 01:17:47 2018 +0000"
      },
      "message": "Merge \"Move static variable out of should_trace().\""
    },
    {
      "commit": "4a0797c9d6b7c335b2baf63468ad3f63fc5e2533",
      "tree": "422ecc2bc4eb3916b2afaa0aedabc2d2ebbaa784",
      "parents": [
        "8d8e576aee781e02e92adb73784026aa683b10ef",
        "7ebafb365a99968ea87fd7d62c1b0eab1b3f1033"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 29 20:30:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 29 20:30:21 2018 +0000"
      },
      "message": "Merge \"Use sigprocmask rather than sigblock/sigsetmask.\""
    },
    {
      "commit": "7ebafb365a99968ea87fd7d62c1b0eab1b3f1033",
      "tree": "3ee42cb8f190d4310af1387af66e30cbec29a9d0",
      "parents": [
        "6dafb4ac781fea2950180048ce903d2a6bbeda39"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 29 10:23:01 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 29 10:23:01 2018 -0800"
      },
      "message": "Use sigprocmask rather than sigblock/sigsetmask.\n\nNo effect right now, because sigprocmask on LP32 also only touches\nthe non-RT signals, but this makes it easier to switch to __rt_sigprocmask.\n\nBug: http://b/72460436\nTest: ran tests\nChange-Id: I693f0ea36701e9ab5d10e6aefb26387ba45a6064\n"
    },
    {
      "commit": "8d8e576aee781e02e92adb73784026aa683b10ef",
      "tree": "c0b4a8781d1fc16eecb53950a497d12d993b7ec0",
      "parents": [
        "fb56e048971e9955f902f2036299af726c02beab",
        "321476a3ecc6b25579b2ddfb86b10a405f90eb8c"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Jan 29 17:16:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 29 17:16:44 2018 +0000"
      },
      "message": "Merge \"Test ld-android.so directly\""
    },
    {
      "commit": "321476a3ecc6b25579b2ddfb86b10a405f90eb8c",
      "tree": "c0b4a8781d1fc16eecb53950a497d12d993b7ec0",
      "parents": [
        "fb56e048971e9955f902f2036299af726c02beab"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Mon Jan 29 15:32:37 2018 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Mon Jan 29 15:32:37 2018 +0100"
      },
      "message": "Test ld-android.so directly\n\nThis CL addresses review comments from\nhttps://android-review.googlesource.com/c/platform/bionic/+/595067\n\nTest: bionic-unit-tests --gtest_filter\u003ddl*\nChange-Id: I2c0fdf2a89fe6ff134308e202fb99a74080ee0ed\n"
    },
    {
      "commit": "fb56e048971e9955f902f2036299af726c02beab",
      "tree": "610f24970a195ec6e235790651a0eb3285aaf9b9",
      "parents": [
        "2e2a8930e5f9eb2d9ea4fdb61f746c6f2e2048ac",
        "6dafb4ac781fea2950180048ce903d2a6bbeda39"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 27 08:35:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jan 27 08:35:30 2018 +0000"
      },
      "message": "Merge \"Move all the short \u003csignal.h\u003e functions together.\""
    },
    {
      "commit": "6dafb4ac781fea2950180048ce903d2a6bbeda39",
      "tree": "610f24970a195ec6e235790651a0eb3285aaf9b9",
      "parents": [
        "2e2a8930e5f9eb2d9ea4fdb61f746c6f2e2048ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 26 17:47:56 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 26 17:47:56 2018 -0800"
      },
      "message": "Move all the short \u003csignal.h\u003e functions together.\n\nBug: N/A\nTest: ran tests\nChange-Id: Ie5509e4108efcd5d403227ce99bef2b61c79f757\n"
    },
    {
      "commit": "2e2a8930e5f9eb2d9ea4fdb61f746c6f2e2048ac",
      "tree": "8adca0f4df67038588d4dbe7095204498e2f4dce",
      "parents": [
        "97d1c75ca5125f8e1dc6db32af1d22807fca1950",
        "f16b65932bb7adb1568a3a1e11ffa750d18e30ae"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 27 00:00:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jan 27 00:00:17 2018 +0000"
      },
      "message": "Merge \"linker: simpler encoding for SHT_RELR sections.\""
    },
    {
      "commit": "97d1c75ca5125f8e1dc6db32af1d22807fca1950",
      "tree": "7edc0c869e5c31db62125f0bb3b67bd249f74e32",
      "parents": [
        "b96b02e50b9fedefca6df44b259c0f7d5d403553",
        "4b1c6e73850d2e77c6d05a2f7dad8e3e8c928103"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 26 23:07:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 23:07:49 2018 +0000"
      },
      "message": "Merge \"Better handling of sigset_t on LP32.\""
    },
    {
      "commit": "b96b02e50b9fedefca6df44b259c0f7d5d403553",
      "tree": "a3a7ea835d2eedc640adcdc6a1b846772c9f3e48",
      "parents": [
        "c6ea39d33b50b54354e4709c4f65d83c87022adf",
        "13550b8c57c927b0738b8e69785c7e3e1cbb499b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 26 21:25:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 21:25:13 2018 +0000"
      },
      "message": "Merge \"Update our status in light of recent additions.\""
    },
    {
      "commit": "4b1c6e73850d2e77c6d05a2f7dad8e3e8c928103",
      "tree": "685c224a8f997ec868c9c0a93e194fe2ae2d8eb8",
      "parents": [
        "73871ad09be8a8259171d606c4e3e3cf08d4733c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 24 18:54:38 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 26 13:04:57 2018 -0800"
      },
      "message": "Better handling of sigset_t on LP32.\n\nThe main motivation here is that the sigprocmask in pthread_exit wasn\u0027t\nactually blocking the real-time signals, and debuggerd (amongst other\nthings) is using them. I wasn\u0027t able to write a test that actually won\nthat race but I did write an equivalent one for posix_spawn.\n\nThis also fixes all the uses of sigset_t where the sigset_t isn\u0027t\nexposed to the outside (which we can\u0027t easily fix because it would be\nan ABI change).\n\nBug: https://issuetracker.google.com/72291624\nTest: ran tests\nChange-Id: Ib6eebebc5a7b0150079f1cb79593247917dcf750\n"
    },
    {
      "commit": "f16b65932bb7adb1568a3a1e11ffa750d18e30ae",
      "tree": "61eba52655668d025687547b8f9b3cf3c4c75c6b",
      "parents": [
        "25ac4476d86f93990d1404526618fd0529cc9d36"
      ],
      "author": {
        "name": "Rahul Chaudhry",
        "email": "rahulchaudhry@google.com",
        "time": "Thu Jan 25 15:34:15 2018 -0800"
      },
      "committer": {
        "name": "Rahul Chaudhry",
        "email": "rahulchaudhry@google.com",
        "time": "Fri Jan 26 11:46:47 2018 -0800"
      },
      "message": "linker: simpler encoding for SHT_RELR sections.\n\nThis change modifies the encoding used in SHT_RELR sections to a simpler\nversion that gives better results. This encoding was suggested by Andrew\nGrieve and is described in this post on generic-abi@googlegroups.com:\n    https://groups.google.com/d/msg/generic-abi/bX460iggiKg/Pi9aSwwABgAJ\n\nBug: None\nTest: Built image for marlin, flashed on device, ran arm and\n      aarch64 binaries containing \u0027.relr.dyn\u0027 sections using\n      the new encoding.\n\nChange-Id: I266affe0fbad91dc375995985a221cb02499447b\n"
    },
    {
      "commit": "c6ea39d33b50b54354e4709c4f65d83c87022adf",
      "tree": "bfec4d6262242f04eb5170cc7b2263bd203553af",
      "parents": [
        "4debf20829b152bf3efae79bc85377c44b40eb8a",
        "f81abef14852f2738043998e2f420d97ba59c286"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Jan 26 17:08:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 17:08:26 2018 +0000"
      },
      "message": "Merge \"Use __BIONIC_FORTIFY_VARIADIC for variadic functions.\""
    },
    {
      "commit": "4debf20829b152bf3efae79bc85377c44b40eb8a",
      "tree": "260005caaf5a88282787418341dcedf6a7caae34",
      "parents": [
        "c9cd4eb1635fa8a621735046c0bb09e3f929763f",
        "5046e5fe87a2638049ee3113b603944f42241ca5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 26 16:06:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 16:06:54 2018 +0000"
      },
      "message": "Merge \"Make the \u003candroid/dlext.h\u003e docs show up on the web.\""
    },
    {
      "commit": "c9cd4eb1635fa8a621735046c0bb09e3f929763f",
      "tree": "044e3f9db221b1fc04dab20f48289e32fda00674",
      "parents": [
        "40517761dc7c69a704285e61a51bd3b76046fcdf",
        "5f6d1a59a85d28e4ea25e55230179de9ac4d343f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 26 16:05:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 16:05:24 2018 +0000"
      },
      "message": "Merge \"\u003csys/ioctl.h\u003e shouldn\u0027t pollute the namespace as much.\""
    },
    {
      "commit": "2cb5f7f578ec682c2bf628f29ffe21de8ccbc917",
      "tree": "9628aa10b187d7d6abc5be6688df9daa2c36df8a",
      "parents": [
        "40517761dc7c69a704285e61a51bd3b76046fcdf"
      ],
      "author": {
        "name": "Wei Li",
        "email": "sirius.liwei@huawei.com",
        "time": "Fri Jan 26 15:00:32 2018 +0800"
      },
      "committer": {
        "name": "Jinguang Dong",
        "email": "dongjinguang@huawei.com",
        "time": "Fri Jan 26 17:01:55 2018 +0800"
      },
      "message": "Move static variable out of should_trace().\n\nStatic variable initialization calls pthread_mutex_lock() and may lead to\ndeadlock if should_trace() is called in pthread_mutex_lock context.\n\nHere is a stack of blocked init process:\n__cxa_guard_acquire -\u003e\nshould_trace        -\u003e\nbionic_trace_begin  -\u003e\n__pthread_mutex_lock_with_timeout -\u003e\n__cxa_guard_release -\u003e\nshould_trace        -\u003e\nbionic_trace_begin  -\u003e\n__pthread_mutex_lock_with_timeout -\u003e\nmutex::lock        -\u003e\nLogMessage::~LogMessage\n......\nSo we need to move it out\n\nTest: 1 Compiled and booted.\n      2 Reboot pressure test for more than 30000 times.\n\nChange-Id: I8d97745161f1aa8942b63338208ea74830768ae1\nSigned-off-by: Wei Li \u003csirius.liwei@huawei.com\u003e\nSigned-off-by: Jinguang Dong \u003cdongjinguang@huawei.com\u003e\n"
    },
    {
      "commit": "13550b8c57c927b0738b8e69785c7e3e1cbb499b",
      "tree": "b54424a34d04bf4da86d4c767958a026a3cf9098",
      "parents": [
        "73871ad09be8a8259171d606c4e3e3cf08d4733c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 25 22:50:09 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 25 22:50:09 2018 -0800"
      },
      "message": "Update our status in light of recent additions.\n\nBug: N/A\nTest: N/A\nChange-Id: Ib0af6ba6bb270b03b3837c7e0fa2f9c02508c924\n"
    },
    {
      "commit": "5f6d1a59a85d28e4ea25e55230179de9ac4d343f",
      "tree": "c003b05858d0cfb9ab861e38b7236061621cc230",
      "parents": [
        "73871ad09be8a8259171d606c4e3e3cf08d4733c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 25 22:21:25 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 25 22:21:25 2018 -0800"
      },
      "message": "\u003csys/ioctl.h\u003e shouldn\u0027t pollute the namespace as much.\n\nThe history has no motivation for \u003casm/termbits.h\u003e, and other C libraries\ndon\u0027t seem to include any of the extra types and constants that gains us.\n\nThis caused problems building FFMPEG, which defines its own B0.\n\nBug: https://github.com/android-ndk/ndk/issues/630\nTest: builds\nChange-Id: If032b9fa7860777c13f7bd8e68fb78ff606dcd94\n"
    },
    {
      "commit": "40517761dc7c69a704285e61a51bd3b76046fcdf",
      "tree": "58e8093447687bb636d62940d7fcece352013b7f",
      "parents": [
        "25ac4476d86f93990d1404526618fd0529cc9d36",
        "9ee4591cb4a23b3c1a899f5ae3e4d769d0ba5a15"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Jan 26 04:45:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 04:45:26 2018 +0000"
      },
      "message": "Merge \"linker: Allow link namespaces without name filters\""
    },
    {
      "commit": "f81abef14852f2738043998e2f420d97ba59c286",
      "tree": "6dd2d8846f0a34993159a8576a35a2a20411f972",
      "parents": [
        "4a2407b3a1ad7b71bbc617ffdee961e416b121e4"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jan 25 15:30:27 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jan 25 17:54:50 2018 -0800"
      },
      "message": "Use __BIONIC_FORTIFY_VARIADIC for variadic functions.\n\n* Variadic functions usually cannot be inlined.\n* Do not use misleading __always_inline attribute,\n  and also avoid early clang 7.0 compiler bug.\n\nBug: 72412382\nTest: build and boot aosp*-eng in emulator\nChange-Id: I7490976166581abc626f397ad408581ada0ed308\n"
    },
    {
      "commit": "5046e5fe87a2638049ee3113b603944f42241ca5",
      "tree": "283a2d0e640c589ed0093358ed317fc963fdc11b",
      "parents": [
        "73871ad09be8a8259171d606c4e3e3cf08d4733c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 25 15:48:32 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 25 15:48:32 2018 -0800"
      },
      "message": "Make the \u003candroid/dlext.h\u003e docs show up on the web.\n\nJust enough doxygen so that\nhttps://developer.android.com/ndk/reference/dlext_8h.html won\u0027t be completely\ndevoid of all this.\n\nBug: N/A\nTest: ran doxygen manually\nChange-Id: I1e0667feae93227e32c1bd671065359f5be85d9d\n"
    }
  ],
  "next": "25ac4476d86f93990d1404526618fd0529cc9d36"
}
