)]}'
{
  "log": [
    {
      "commit": "b6d2b87d2d93eae0267f3c86017d5ebbc3cdb2f5",
      "tree": "b8ba0b16f41f42c3d5a78250ca5bd3c4c6df4eaf",
      "parents": [
        "ab9dc08bdd60d3709e1bce555625d923b32812be"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Oct 18 15:15:54 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu Oct 19 18:18:23 2017 +0200"
      },
      "message": "Make __libc_init_main_thread and android_set_abort_message weak\n\nBug: http://b/67672033\nBug: http://b/67934730\nTest: make \u0026\u0026 flash and boot angler.\nTest: run bionic-unit-tests\nChange-Id: Ibf47f00dd7fae19014f56c857eb9712711363029\n"
    },
    {
      "commit": "ab9dc08bdd60d3709e1bce555625d923b32812be",
      "tree": "c522f501d7eb293e9d8418f96779d7028be585c6",
      "parents": [
        "435e6384de8f9e35b8878b1ccda5bb5686c15207",
        "dfcc6e4f8acf41159c43e9b50547d99379483c72"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 17 22:46:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 17 22:46:00 2017 +0000"
      },
      "message": "Merge \"Rename libdl.c to libdl.cpp.\""
    },
    {
      "commit": "435e6384de8f9e35b8878b1ccda5bb5686c15207",
      "tree": "f4c6b8cfb9794b0cc5ee56034280cd194ca5e327",
      "parents": [
        "5f1a8440ad0869f495724c705cc4dec091b7a41a",
        "dff08ced5685a0d1adb0ef875a15caca99556e1e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 17 17:58:19 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 17 17:58:19 2017 +0000"
      },
      "message": "Merge \"Add pthread_setschedprio.\""
    },
    {
      "commit": "5f1a8440ad0869f495724c705cc4dec091b7a41a",
      "tree": "881e9f2ff1848ca9b5d5bd8ff9a2bc85d0df2849",
      "parents": [
        "bf886f621b7c5fb4f690fe182f42640410a32d5c",
        "aa81761c5e7d33074e83230019e638c67a4e974d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 17 17:55:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 17 17:55:26 2017 +0000"
      },
      "message": "Merge \"Force _start to be the top frame for the linker.\""
    },
    {
      "commit": "dff08ced5685a0d1adb0ef875a15caca99556e1e",
      "tree": "9b84626d5a3f8dec14c36ad7a42221b0e11a6f5a",
      "parents": [
        "bf886f621b7c5fb4f690fe182f42640410a32d5c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 16 09:58:45 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 17 09:14:05 2017 -0700"
      },
      "message": "Add pthread_setschedprio.\n\nBug: http://b/26204555\nTest: ran tests\nChange-Id: Ic34062b9b6036a1ce2642a069514bab48a893338\n"
    },
    {
      "commit": "bf886f621b7c5fb4f690fe182f42640410a32d5c",
      "tree": "25e230e68d945e0e7eb221bb4c7a1acfd3089fd5",
      "parents": [
        "1ef6a6ad1a9708b79fc7c45296ddfa890d645064",
        "5033918092f27179b0c2bbe3babceaed509d4935"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 17 16:03:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 17 16:03:54 2017 +0000"
      },
      "message": "Merge \"Complete \u003cnetdb.h\u003e.\""
    },
    {
      "commit": "1ef6a6ad1a9708b79fc7c45296ddfa890d645064",
      "tree": "8a39ea9040d36a498bfb15815d16aa49f1bc06bb",
      "parents": [
        "9deef03c16747404b650e1af35bbaa02e743f056",
        "9cb8639b18bc90dab461b4709607083301c9f6fc"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 17 08:50:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 17 08:50:07 2017 +0000"
      },
      "message": "Merge \"Revert \"Cleanup transitive includes in the legacy inlines.\"\""
    },
    {
      "commit": "9cb8639b18bc90dab461b4709607083301c9f6fc",
      "tree": "36a2c69a6fdca4c4da71da08cfc08e5e4cfcf395",
      "parents": [
        "43df953502c9615781e73ac3cc0db2a711a86998"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 17 08:41:23 2017 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 17 08:41:23 2017 +0000"
      },
      "message": "Revert \"Cleanup transitive includes in the legacy inlines.\"\n\nThis reverts commit 43df953502c9615781e73ac3cc0db2a711a86998.\n\nReason for revert: Breaks most AOSP builds.\nhttps://android-build.googleplex.com/builds/branch-dashboard/aosp-master?build_id\u003d4399910\n\nChange-Id: I53459f97b7dffb1f7f602db03893564dd3cfe6bf\n"
    },
    {
      "commit": "9deef03c16747404b650e1af35bbaa02e743f056",
      "tree": "7416a8b34bf6921773d83f4727acddc98401eb62",
      "parents": [
        "d4b4f06cad57eb40551807e3fa4e08d4ec6459e0",
        "43df953502c9615781e73ac3cc0db2a711a86998"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 17 07:17:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 17 07:17:23 2017 +0000"
      },
      "message": "Merge \"Cleanup transitive includes in the legacy inlines.\""
    },
    {
      "commit": "d4b4f06cad57eb40551807e3fa4e08d4ec6459e0",
      "tree": "8a39ea9040d36a498bfb15815d16aa49f1bc06bb",
      "parents": [
        "03507a1d2960df6dea387809bd1d11f312afc1b9",
        "0e0e370154ea478c9d7102061cbb62d9bfea6c1d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 17 06:29:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 17 06:29:27 2017 +0000"
      },
      "message": "Merge changes I93dc3811,I710d2929,I6ae029ed\n\n* changes:\n  Add libc_nopthread.\n  Trivial style fix.\n  Don\u0027t use PR_SET_DUMPABLE to prevent crash dumping in death tests.\n"
    },
    {
      "commit": "dfcc6e4f8acf41159c43e9b50547d99379483c72",
      "tree": "6d4407f72ca8ac44e9454f95bbdc45965c03c70d",
      "parents": [
        "0e0e370154ea478c9d7102061cbb62d9bfea6c1d"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 13 11:56:55 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 16 21:31:37 2017 -0700"
      },
      "message": "Rename libdl.c to libdl.cpp.\n\nThe no-arg function definitions in libdl.c weren\u0027t strictly correct,\nbecause they should have taken void. Rename .c to .cpp instead of\nfixing them.\n\nTest: mma\nChange-Id: I9e3528c836ffc8625a6a4d529034263b19b9fb3a\n"
    },
    {
      "commit": "0e0e370154ea478c9d7102061cbb62d9bfea6c1d",
      "tree": "8a39ea9040d36a498bfb15815d16aa49f1bc06bb",
      "parents": [
        "a0f6dc577e1bf63e199599d8dc79311a3083aec2"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Oct 12 13:34:42 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 16 21:31:37 2017 -0700"
      },
      "message": "Add libc_nopthread.\n\nAdd a static library containing the non-pthread dependent parts of\nlibc.\n\nBug: http://b/64400027\nTest: sailfish boots\nTest: bionic-unit-tests32/64, no new failures\nTest: bionic-unit-tests-static32/64, no new failures\nChange-Id: I93dc3811acddad7936d11b369b98cefd945ee2d5\n"
    },
    {
      "commit": "a0f6dc577e1bf63e199599d8dc79311a3083aec2",
      "tree": "08b0e12f1864c62d17f1a646989fbc3cae62eb19",
      "parents": [
        "084f6ec9af0c054f0386a13f62daf0790d6244ae"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Oct 12 13:34:12 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 16 21:31:37 2017 -0700"
      },
      "message": "Trivial style fix.\n\nTest: none\nChange-Id: I710d29293171c6160558dab66c515eae16b92923\n"
    },
    {
      "commit": "084f6ec9af0c054f0386a13f62daf0790d6244ae",
      "tree": "19d5365aac077ba2f38be705ac5c1f0dac59e96c",
      "parents": [
        "03507a1d2960df6dea387809bd1d11f312afc1b9"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Oct 12 13:32:45 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 16 21:31:37 2017 -0700"
      },
      "message": "Don\u0027t use PR_SET_DUMPABLE to prevent crash dumping in death tests.\n\nBug: http://b/27833000\nTest: bionic-unit-tests are way faster\nChange-Id: I6ae029edcd4c4b4b0dfaf613fc17c208d3cb24d1\n"
    },
    {
      "commit": "03507a1d2960df6dea387809bd1d11f312afc1b9",
      "tree": "bdc933d3a91ce16be6cf271b34ba55f1c916db13",
      "parents": [
        "a27bfd4131441a24fcfe6b5b3cf1cf9469be6719",
        "5fd11666dfe40661b95196ebe6d36993a93c5c86"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 17 01:37:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 17 01:37:27 2017 +0000"
      },
      "message": "Merge \"Remove dangling symlink.\""
    },
    {
      "commit": "5fd11666dfe40661b95196ebe6d36993a93c5c86",
      "tree": "bdc933d3a91ce16be6cf271b34ba55f1c916db13",
      "parents": [
        "a27bfd4131441a24fcfe6b5b3cf1cf9469be6719"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 16 15:10:00 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 16 15:10:00 2017 -0700"
      },
      "message": "Remove dangling symlink.\n\nBug: N/A\nTest: N/A\nChange-Id: I6af95827b28f47aa0cd5f1abb5dded15253f7686\n"
    },
    {
      "commit": "aa81761c5e7d33074e83230019e638c67a4e974d",
      "tree": "b9f20865a3c79bfbc0e2602d2b04b6657365d0a6",
      "parents": [
        "a27bfd4131441a24fcfe6b5b3cf1cf9469be6719"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 13 17:04:41 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Oct 16 14:43:34 2017 -0700"
      },
      "message": "Force _start to be the top frame for the linker.\n\nI noticed that sometimes the old unwinder will add an extra PC 0 frame\nafter this change, but the new unwinder works in all cases. I\u0027m not going\nto fix the old unwinder since I plan to remove it very soon.\n\nBug: 67784501\n\nTest: Forced a crash in the linker and verified that the unwind\nTest: stops in __dl_start. Tested on arm/aarch64/x86/x86_64.\n\nChange-Id: Id6585768023256be5c1d341df7b06b786a220b40\n"
    },
    {
      "commit": "5033918092f27179b0c2bbe3babceaed509d4935",
      "tree": "77f5a0f1eb5fec80dc7bc6a297eed66af83713b9",
      "parents": [
        "a27bfd4131441a24fcfe6b5b3cf1cf9469be6719"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 13 17:52:01 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 15 10:37:51 2017 -0700"
      },
      "message": "Complete \u003cnetdb.h\u003e.\n\nAdd all the missing \u003cnetdb.h\u003e functions.\n\nAlso fix getservbyport to handle a null protocol correctly.\n\nAlso fix getservbyname/getservbyport to not interfere with getservent.\n\nAlso fix endservent to reset getservent iteration.\n\nAlso reduce unnecessary differences from upstream NetBSD sethostent.c.\n\nThe servent implementation is still horrific, and we should\nprobably support protoent too so that debugging tools can use\ngetprotobyname/getprotobynumber.\n\nBug: N/A\nTest: ran tests\nChange-Id: I639108c46df0a768af297cf3bbce857cb1bef9d9\n"
    },
    {
      "commit": "a27bfd4131441a24fcfe6b5b3cf1cf9469be6719",
      "tree": "5b84dc9c20f981f2e7df4563d7d8de7b590aa4d4",
      "parents": [
        "92b0f36acc612ad537f6d85b8330a091e87616c2",
        "c972ea7da0501d3082f06f65869776c786c19fca"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 13 23:27:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 13 23:27:26 2017 +0000"
      },
      "message": "Merge \"Fix missing includes, again.\""
    },
    {
      "commit": "92b0f36acc612ad537f6d85b8330a091e87616c2",
      "tree": "bedf0a899bc85b08c0e07add065f3dd6802747d4",
      "parents": [
        "9db0e013b195fb09831a17699e32bd1f40da823e",
        "ab413c535c872a773b99a941bfba02ddc1711f4a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 13 22:26:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 13 22:26:31 2017 +0000"
      },
      "message": "Merge \"Fix mip64 build.\""
    },
    {
      "commit": "43df953502c9615781e73ac3cc0db2a711a86998",
      "tree": "963a99ec161ed010560436f253a83d0aedecd9f4",
      "parents": [
        "c972ea7da0501d3082f06f65869776c786c19fca"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Oct 09 14:42:16 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Oct 13 14:39:03 2017 -0700"
      },
      "message": "Cleanup transitive includes in the legacy inlines.\n\nWe don\u0027t want to be exposing so much through the headers for the\nimplementation details unless we have to.\n\nTest: make checkbuild\nBug: None\nChange-Id: Ieca9cd8106725e08887a3e9fde60d1eef64ef98b\n"
    },
    {
      "commit": "c972ea7da0501d3082f06f65869776c786c19fca",
      "tree": "36a2c69a6fdca4c4da71da08cfc08e5e4cfcf395",
      "parents": [
        "9db0e013b195fb09831a17699e32bd1f40da823e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Oct 13 14:32:43 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Oct 13 14:38:55 2017 -0700"
      },
      "message": "Fix missing includes, again.\n\nTest: mma\nBug: None\nChange-Id: I17f07e51ebb425ebbcd2cd48e2aa173ab728c498\n"
    },
    {
      "commit": "ab413c535c872a773b99a941bfba02ddc1711f4a",
      "tree": "bedf0a899bc85b08c0e07add065f3dd6802747d4",
      "parents": [
        "9db0e013b195fb09831a17699e32bd1f40da823e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 13 13:22:24 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 13 13:22:24 2017 -0700"
      },
      "message": "Fix mip64 build.\n\nFallout from the unified sysroot work.\n\nBug: N/A\nTest: builds\nChange-Id: If0595a241b9ce0d8c8c7137ddaf8fca932487b7c\n"
    },
    {
      "commit": "9db0e013b195fb09831a17699e32bd1f40da823e",
      "tree": "bbe615044c03112bc4eeda3beecefe602af140dc",
      "parents": [
        "73651cf23f8ab575a9aed87fce52f573d3ff992e",
        "62446279f324d0b68aa786ad0caf06663282f1ee"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 13 19:33:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 13 19:33:28 2017 +0000"
      },
      "message": "Merge \"Ignore pthread_getconcurrency/pthread_setconcurrency.\""
    },
    {
      "commit": "73651cf23f8ab575a9aed87fce52f573d3ff992e",
      "tree": "7dc9a8765c222a6c22bf2cf29373523f6e91a2e3",
      "parents": [
        "1a5a9b7bbcafbf7b3eab8b769ede3106ecf89d1f",
        "e8c76b7a30b57ec1b9858353bb32bfceda285f4b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 13 19:07:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 13 19:07:45 2017 +0000"
      },
      "message": "Merge \"MIPS: Fix MIPS linker VDSO issues\""
    },
    {
      "commit": "62446279f324d0b68aa786ad0caf06663282f1ee",
      "tree": "fad7a8dd42088dabea4bee46c80e9b25b8147b96",
      "parents": [
        "1a5a9b7bbcafbf7b3eab8b769ede3106ecf89d1f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 13 10:21:37 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 13 10:21:37 2017 -0700"
      },
      "message": "Ignore pthread_getconcurrency/pthread_setconcurrency.\n\nThey\u0027re marked obsolescent in POSIX, don\u0027t clearly mean anything, aren\u0027t\nportable because the values don\u0027t mean anything, and are no-ops in other\nC libraries that do \"implement\" them.\n\nBug: N/A\nTest: N/A\nChange-Id: I07342a0a6a5f6616a8432bfea24ed944c7971d27\n"
    },
    {
      "commit": "1a5a9b7bbcafbf7b3eab8b769ede3106ecf89d1f",
      "tree": "d9e0b93230e262ef38d637c63ccf605faebfff1d",
      "parents": [
        "f9433e6891b5e65385345ffe272e381f1e78f4d9",
        "ea827925ab7a31d3637dfc9169e0270f503049da"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 13 16:42:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 13 16:42:25 2017 +0000"
      },
      "message": "Merge \"Define BIONIC_STOP_UNWIND for mips\""
    },
    {
      "commit": "f9433e6891b5e65385345ffe272e381f1e78f4d9",
      "tree": "f6c58d6ebe9bfe0a7d53fa47efe503037b380dea",
      "parents": [
        "ddd6436df2adef2e195cf45634750a31c3e03bd1",
        "d036a8dd176ee212dc04d140975d84f941265288"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 13 16:12:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 13 16:12:32 2017 +0000"
      },
      "message": "Merge \"Ignore endutxent.\""
    },
    {
      "commit": "ea827925ab7a31d3637dfc9169e0270f503049da",
      "tree": "9da6c5e6a93c9f10b1e1514adebe692811e7cf87",
      "parents": [
        "ddd6436df2adef2e195cf45634750a31c3e03bd1"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Fri Oct 13 14:22:10 2017 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Fri Oct 13 14:22:10 2017 +0200"
      },
      "message": "Define BIONIC_STOP_UNWIND for mips\n\nThis fixes mips and mips64 build failures.\n\nTest: successful aosp_mips-eng and aosp_mips64-eng builds\nChange-Id: I6648b9cae876cda13369cf10edf61ce9fdca342c\n"
    },
    {
      "commit": "e8c76b7a30b57ec1b9858353bb32bfceda285f4b",
      "tree": "e7d9cee9965a7c5a66aaaf38508616208a34d19b",
      "parents": [
        "ddd6436df2adef2e195cf45634750a31c3e03bd1"
      ],
      "author": {
        "name": "Goran Ferenc",
        "email": "goran.ferenc@imgtec.com",
        "time": "Tue Feb 21 16:24:51 2017 +0100"
      },
      "committer": {
        "name": "Goran Ferenc",
        "email": "goran.ferenc@imgtec.com",
        "time": "Fri Oct 13 12:08:30 2017 +0200"
      },
      "message": "MIPS: Fix MIPS linker VDSO issues\n\nThis patch resolves two issues:\n(1) AOSP MIPS linker crash with SIGSEGV while relocating VDSO GOT\n(2) Missing of MIPS_ABI_FP_ANY flag while ckecking \u0026 adjusting MIPS FP modes\n\n(1): AOSP MIPS linker crash with SIGSEGV while relocating VDSO GOT\n\nDuring bringup and testing of the kernel VDSO support on the emulator we\nencountered an issue where all userspace processes were crashing due to\nlinker crash with SIGSEGV during VDSO GOT relocation.\n\nThe mentioned scenario will trigger SIGSEGV in the linker only if the kernel\ncode base contains VDSO implementation introduced with the following commits:\n\na7f4df4 MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime()\nc0a9f72 irqchip: irq-mips-gic: Provide function to map GIC user section\nebb5e78 MIPS: Initial implementation of a VDSO\n\nAnother prerequisite is that the linker contains the following commit from AOSP:\nhttps://android-review.googlesource.com/#/c/264857/\n\nThe above commit introduces auxvec.h header containing definition of\nAT_SYSINFO_EHDR in:\nhttps://android.googlesource.com/platform/bionic/+/master/libc/kernel/uapi/asm-mips/asm/auxvec.h,\nwhich in turn activates VDSO GOT relocations in mips_relocate_got():\nhttps://android.googlesource.com/platform/bionic/+/master/linker/linker_mips.cpp#149\n\nSince VDSO is mapped as a RO region, writing anything to its page will result\nin SIGSEGV.\n\nRemoving this 0xdeadbeef cookies writes to the got[0]/got[1] solved SIGSEGV issue.\nWe also compared with the glibc linker code and we haven\u0027t seen anything similar\nlike writing some cookie values into GOT entries.\n\n(2): Missing of MIPS_ABI_FP_ANY flag while checking \u0026 adjusting MIPS FP modes\n\nThis issue was found during testing of the patch:\nhttps://android-review.googlesource.com/#/c/platform/bionic/+/494440/\n\nThis patch adds a bionic dlfcn.dlopen_vdso test which tries to open \"linux-vdso.so.1\"\n(virtual ELF shared library) and expects to succeed.\n\ndlopen fails in the mips linker part due to the following error:\n\"Unsupported MIPS32 FloatPt ABI 0 found in linux.vdso.so.1\"\n\nAccording to:\nhttps://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#A.2._O32_FPXX_code_calling_FPXX,\nABI 0 is:\nVal_GNU_MIPS_ABI_FP_ANY \u003d 0 /* Not tagged or not using any ABIs affected by the differences.  */\n\nThe issue appeared because MIPS_ABI_FP_ANY is not supposed to be checked as\na possible FP ABI-variant compatibility flag.\n\nThis patch adds logic to MIPS linker to handle this case appropriately,\nafter which dlfcn.dlopen_vdso test passes.\n\nTest:\n* bionic-unit-tests --gtest_filter\u003ddlfcn.dlopen_vdso\n* Boot android in emulator with kernel which supports VDSO optimizations\n\nChange-Id: Icbcd9879beea1b38fbe8d97b3b205058eaa861f4\nSigned-off-by: Goran Ferenc \u003cgoran.ferenc@imgtec.com\u003e\n"
    },
    {
      "commit": "d036a8dd176ee212dc04d140975d84f941265288",
      "tree": "f6c58d6ebe9bfe0a7d53fa47efe503037b380dea",
      "parents": [
        "ddd6436df2adef2e195cf45634750a31c3e03bd1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 12 20:32:22 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 12 20:32:22 2017 -0700"
      },
      "message": "Ignore endutxent.\n\nWe have no utmp, and we\u0027re ignoring getutxent/setutxent, and endutxent\nbelongs in the same group.\n\nBug: N/A\nTest: N/A\nChange-Id: Ide032960a0f95750f3bb8f2e62a25e5e7d25c7b6\n"
    },
    {
      "commit": "ddd6436df2adef2e195cf45634750a31c3e03bd1",
      "tree": "ae58a01e0582b0a5b19f7545b048e56756993052",
      "parents": [
        "01bb7bf6fb6b5b43c4b1ff00be79b64f01015691",
        "d4ca231ae2891e5c9eccb6e9a2e6af7fabcfc2a5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 12 22:23:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 12 22:23:58 2017 +0000"
      },
      "message": "Merge \"Unified sysroot: kill arch-specific include dirs.\""
    },
    {
      "commit": "01bb7bf6fb6b5b43c4b1ff00be79b64f01015691",
      "tree": "3142e44a0c79f3c15b1cb2286051ffec9be34f8b",
      "parents": [
        "b49ac81c8e7e4e0c6e931f97551236792e69d2be",
        "14e3ff9f09fdd52db43628ccd6f39a6d3fb41740"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 12 21:02:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 12 21:02:54 2017 +0000"
      },
      "message": "Merge \"Implement \u003cspawn.h\u003e.\""
    },
    {
      "commit": "d4ca231ae2891e5c9eccb6e9a2e6af7fabcfc2a5",
      "tree": "4ffbf1b6c0d0acb3df88b1ce02d574eeaead3f0a",
      "parents": [
        "36f7b8b7891f0af56eb61e7d32cc8cedb5ded8de"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 11 22:27:45 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 12 13:19:51 2017 -0700"
      },
      "message": "Unified sysroot: kill arch-specific include dirs.\n\n\u003cmachine/asm.h\u003e was internal use only.\n\n\u003cmachine/fenv.h\u003e is quite large, but can live in \u003cbits/...\u003e.\n\n\u003cmachine/regdef.h\u003e is trivially replaced by saying $x instead of x in\nour assembler.\n\n\u003cmachine/setjmp.h\u003e is trivially inlined into \u003csetjmp.h\u003e.\n\n\u003csgidefs.h\u003e is unused.\n\nBug: N/A\nTest: builds\nChange-Id: Id05dbab43a2f9537486efb8f27a5ef167b055815\n"
    },
    {
      "commit": "b49ac81c8e7e4e0c6e931f97551236792e69d2be",
      "tree": "96d7d34eafd7f52e1c78719cfe22650a8c8a525c",
      "parents": [
        "a08f704e2a35aaa1173c762db037caa8aa166ba8",
        "8eaf28dc42c8228f9418c31bc04df58186963545"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 12 17:26:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 12 17:26:32 2017 +0000"
      },
      "message": "Merge \"ns_anonymous test: Make it work for natively bridged environment\""
    },
    {
      "commit": "8eaf28dc42c8228f9418c31bc04df58186963545",
      "tree": "d19a15d67ed8041f1ccbdcd0569e8bc21c063c73",
      "parents": [
        "983c2da84cdcd0171b7f726b78990cabd0a58f49"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Oct 11 10:04:14 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu Oct 12 15:02:16 2017 +0200"
      },
      "message": "ns_anonymous test: Make it work for natively bridged environment\n\nThe executable flag might not be present for the executable segment\nif the code is being handled by native bridge implementation. This\ncommit changes the test to restore executable flag for first segment\nif it was removed.\n\nTest: bionic-unit-tests\nChange-Id: Ie930539135edc4db3245574b5cbe476aa1ad49c7\n"
    },
    {
      "commit": "a08f704e2a35aaa1173c762db037caa8aa166ba8",
      "tree": "050ad559f6855803a4a548a41e846b5ae0020dc1",
      "parents": [
        "36f7b8b7891f0af56eb61e7d32cc8cedb5ded8de",
        "8a311631edc0c6212d4f9c50854956d2233aea40"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Oct 12 00:22:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 12 00:22:57 2017 +0000"
      },
      "message": "Merge \"Allow read-only system properties to have arbitrary lengths\""
    },
    {
      "commit": "14e3ff9f09fdd52db43628ccd6f39a6d3fb41740",
      "tree": "8ed0ba1d0744ac95265e2ea634b6e1ff8d72d88c",
      "parents": [
        "e387c2f08841ac0f6578e903ab21b54d01f3266e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 06 16:58:36 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 11 14:57:49 2017 -0700"
      },
      "message": "Implement \u003cspawn.h\u003e.\n\nAs described here:\n\n  http://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_spawn.html\n\nAnd here:\n\n  http://man7.org/linux/man-pages/man3/posix_spawn.3.html\n\nBug: N/A (but mentioned in my inbox since 2013)\nTest: ran tests\nChange-Id: I0b27b2919b660779e3bd8a25fb429527c16dc621\n"
    },
    {
      "commit": "36f7b8b7891f0af56eb61e7d32cc8cedb5ded8de",
      "tree": "79c1e812efca268d8679fdd3a5a0312f96266e4e",
      "parents": [
        "1d297d2654ce9aa062e8a719fc6d728d4a9df80f",
        "1c78cb0fee257cdee13acceaee3de88e40d77e1b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 11 20:39:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 11 20:39:56 2017 +0000"
      },
      "message": "Merge \"Add missing includes.\""
    },
    {
      "commit": "1d297d2654ce9aa062e8a719fc6d728d4a9df80f",
      "tree": "a84b47775696e4194fff1365e4435ceecc5bed91",
      "parents": [
        "a52555d356f6b58f47a9d8da888b12812248d831",
        "b9555a9251467bc2d0b05a4e2f011531c1d3bd4a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 11 19:17:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 11 19:17:10 2017 +0000"
      },
      "message": "Merge \"Fix dlopen_vdso test\""
    },
    {
      "commit": "1c78cb0fee257cdee13acceaee3de88e40d77e1b",
      "tree": "c6bf25c41c4e4d863871f4a7cc191542ffbe89f1",
      "parents": [
        "983c2da84cdcd0171b7f726b78990cabd0a58f49"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Oct 11 11:25:25 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Oct 11 11:25:52 2017 -0700"
      },
      "message": "Add missing includes.\n\nTest: mma\nBug: None\nChange-Id: I0221b213e08d07cc5ac0b704a86e98ae8c0f456f\n"
    },
    {
      "commit": "b9555a9251467bc2d0b05a4e2f011531c1d3bd4a",
      "tree": "495d6b1fecfc00122c2e4c60acc9feed2841b6ba",
      "parents": [
        "983c2da84cdcd0171b7f726b78990cabd0a58f49"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Oct 11 18:04:05 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Oct 11 18:04:05 2017 +0200"
      },
      "message": "Fix dlopen_vdso test\n\narm32 is still missing vdso (at least on some kernels).\nThis commit adds explicit check for it and skip the test\nif AT_SYSINFO_EHDR is not set.\n\nTest: run 32bit bionic-unit-tests --gtest_filter\u003ddlfcn.dlopen_vdso on angler\nChange-Id: I7fae78c6a4f819601a4ac9e8e1da53ff07c833ff\n"
    },
    {
      "commit": "a52555d356f6b58f47a9d8da888b12812248d831",
      "tree": "a0c4c7cd3aaa6d8c906648c319634301b0aa86ae",
      "parents": [
        "983c2da84cdcd0171b7f726b78990cabd0a58f49",
        "f7a8e95fe844d9596bc9e2e0c53ce42b761f86c7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 10 23:32:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 10 23:32:52 2017 +0000"
      },
      "message": "Merge \"Fix fcntrl#tee test to use the same expected/actual buffer size.\""
    },
    {
      "commit": "8a311631edc0c6212d4f9c50854956d2233aea40",
      "tree": "885d3feb21fc2545d9830aaa819e4f24236722fd",
      "parents": [
        "983c2da84cdcd0171b7f726b78990cabd0a58f49"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Oct 09 13:49:17 2017 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Oct 10 15:52:25 2017 -0700"
      },
      "message": "Allow read-only system properties to have arbitrary lengths\n\nWe need to be able to store build fingerprints that are over 92 characters\nlong, which is the current restriction for system property value\nlength.\n\nIncreasing the value maximum across the board has plenty of caveats,\nparticularly that an allocator would be required to handle\ndeallocation when replacing long property values with short values.\nThere is also no compelling reasons to do this.\n\nBut, increasing the length of simply read-only properties, such as the\nbuild fingerprint, has less caveats as there will never be a\ndeallocation of these strings.\n\nThis change uses spare bits in the top of serial (only spare for\nread-only properties) to indicate if a property is \u0027long\u0027 or not.  The\ninformation required to access these \u0027long\u0027 properties is stored in a\nunion where the legacy property value is located.  An error message is\nretained for legacy callers.\n\nThe new property is readable via __system_property_read_callback() and\nmost importantly android::base::GetProperty and higher level (Java,\n`getprop`) callers.  All code should move to these higher level\nfunctions as much as possible.\n\nBug: 23102347\nBug: 34954705\nTest: bionic unit tests\nChange-Id: Ia85e0d979b92afff601cc52b39114379617a0c64\n"
    },
    {
      "commit": "983c2da84cdcd0171b7f726b78990cabd0a58f49",
      "tree": "3999b3d031db052787c2259104187b34c57f9f37",
      "parents": [
        "3dacc4764220fc5e7969e4281f5cfca8f2082241",
        "8c2323c697289508e7c9ec15ac802afb0ab9a046"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 07 00:56:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 07 00:56:41 2017 +0000"
      },
      "message": "Merge \"Fix \"Add a legacy inline for mmap64\".\""
    },
    {
      "commit": "8c2323c697289508e7c9ec15ac802afb0ab9a046",
      "tree": "3999b3d031db052787c2259104187b34c57f9f37",
      "parents": [
        "3dacc4764220fc5e7969e4281f5cfca8f2082241"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 05 16:39:33 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Oct 06 16:01:36 2017 -0700"
      },
      "message": "Fix \"Add a legacy inline for mmap64\".\n\nAutosubmit fired before the CL was actually ready (forgot to hit \"y\"\non the repo upload).\n\nTest: make checkbuild\nTest: copied into the NDK and ran mmap64_fob64 test.\nBug: lots\nChange-Id: I8c0400a703f319e8e230f7ba9178009ed7c88be0\n"
    },
    {
      "commit": "3dacc4764220fc5e7969e4281f5cfca8f2082241",
      "tree": "59cf0da278f1f1c0bdbdd9f8158342ab7359ba9b",
      "parents": [
        "e387c2f08841ac0f6578e903ab21b54d01f3266e",
        "a613d0df5c682617380728a7d151483de05a4f92"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 06 22:20:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 06 22:20:54 2017 +0000"
      },
      "message": "Merge \"Add a legacy inline for mmap64.\""
    },
    {
      "commit": "e387c2f08841ac0f6578e903ab21b54d01f3266e",
      "tree": "ee40a87bb99b95e38e95a505e7084d6b695c21c9",
      "parents": [
        "7181e53cfed1ae9c877a6aacb7da6c48165e91f9",
        "93ea09f65c59585c082797bbfa4f4c7778d6e8b9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 06 17:08:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 06 17:08:34 2017 +0000"
      },
      "message": "Merge \"Add directives to force stop unwinding.\""
    },
    {
      "commit": "a613d0df5c682617380728a7d151483de05a4f92",
      "tree": "5a73110db954e5fc92116ad0930ed83495607729",
      "parents": [
        "3e8584d4a7d617289e8a954711ba895415d781c4"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 05 16:39:33 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 05 23:41:47 2017 -0700"
      },
      "message": "Add a legacy inline for mmap64.\n\nWhile this was never an inline, this function alone has caused most of\nthe bug reports related to _FILE_OFFSET_BITS\u003d64. Providing an inline\nfor it should allow a lot more code to build with _FILE_OFFSET_BITS\u003d64\nwhen targeting pre-L.\n\nTest: make checkbuild\nTest: built trivial cc_binary for LP32 against API 14 with\n      _FILE_OFFSET_BITS\u003d64 set\nBug: lots\nChange-Id: I8479d34af4da358c11423bee43d45b59e9d4143e\n"
    },
    {
      "commit": "7181e53cfed1ae9c877a6aacb7da6c48165e91f9",
      "tree": "28bb44b3f55c122da0e553c21c92970a65224625",
      "parents": [
        "dd53eca08506051d31c662673357053635861f14",
        "aaf83e8051abf9a68e9deee589b18f0ecdf1b266"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 06 02:17:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 06 02:17:26 2017 +0000"
      },
      "message": "Merge \"More POSIX limits cleanup.\""
    },
    {
      "commit": "aaf83e8051abf9a68e9deee589b18f0ecdf1b266",
      "tree": "f3b56813ba81ae68a68e28f73d4de933be22a455",
      "parents": [
        "0a451314b0bb3af51e34659ade322be58c434127"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 05 15:26:33 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 05 16:18:10 2017 -0700"
      },
      "message": "More POSIX limits cleanup.\n\nhttp://man7.org/linux/man-pages/man7/posixoptions.7.html is a very useful\nquick reference to what these are supposed to mean.\n\nBug: http://b/32776472\nTest: ran tests\nChange-Id: Icea6812d6075e663885844d7424aa6cf73d6284a\n"
    },
    {
      "commit": "93ea09f65c59585c082797bbfa4f4c7778d6e8b9",
      "tree": "635acc213edb1ed30cf595c4cb1f183bc0abc290",
      "parents": [
        "7c6784061dca3e36b6c80973573a0bea8896d585"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 05 15:18:47 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 05 15:18:47 2017 -0700"
      },
      "message": "Add directives to force stop unwinding.\n\nOn aarch64/x86/x86_64 add a macro that inserts a cfi directive that will\nstop unwinding.\n\nFor arm, clang doesn\u0027t allow emitting .cantunwind, so add a comment and\nleave it the same as it current is.\n\nAdd this macro to __libc_init and __start_thread.\n\nAlso, remove duplicate compilation of libc_init_static.cpp that already\nincludes the static library that includes that file.\n\nBug: 15469122\n\nTest: Did unwinds using new unwinder tool (unwind) and debuggerd -b\nTest: and verified new unwinder works on aarch64/x86/x86_64.\nTest: Verified that it works on old unwinder for aarch64/x86, but\nTest: x86_64 doesn\u0027t work properly, but as well as before.\nChange-Id: I77302e8f6c7ba1549d98a4a164106ee82c9ecadc\n"
    },
    {
      "commit": "dd53eca08506051d31c662673357053635861f14",
      "tree": "eed466b1eddf0a14e495b478c0ef1fda6e7e043f",
      "parents": [
        "0a451314b0bb3af51e34659ade322be58c434127",
        "c5ea3ebd714c70b21bcc7fcee6f7c00aa2bf8b64"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 05 21:40:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 05 21:40:24 2017 +0000"
      },
      "message": "Merge \"Make libdl symbols weak.\""
    },
    {
      "commit": "0a451314b0bb3af51e34659ade322be58c434127",
      "tree": "ed837e8585a298c20037758a32bb133e7ad148e8",
      "parents": [
        "7c6784061dca3e36b6c80973573a0bea8896d585",
        "3a8f75d8b052611c08ef17ecf625b8021f4e0229"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 05 20:45:39 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 05 20:45:39 2017 +0000"
      },
      "message": "Merge \"POSIX clock cleanup.\""
    },
    {
      "commit": "3a8f75d8b052611c08ef17ecf625b8021f4e0229",
      "tree": "a41055f8209868da748f5118a24df528d1f07a9e",
      "parents": [
        "42f3bd0ffc3f0f0e3191c679ea4276f7f1882a00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 05 10:33:18 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 05 10:33:18 2017 -0700"
      },
      "message": "POSIX clock cleanup.\n\nThe newest of these clocks was added in Linux 2.6.12, so no need for runtime\nchecks.\n\nAdd CTS tests that we can actually use the various clocks.\n\nBug: http://b/67458266\nTest: ran tests\nChange-Id: I3cfd7982043d6f8d4ebdc2b29e8722334f443ce5\n"
    },
    {
      "commit": "c5ea3ebd714c70b21bcc7fcee6f7c00aa2bf8b64",
      "tree": "4044b21eb8436f697bcf4996b75b9274fa78b80a",
      "parents": [
        "3e8584d4a7d617289e8a954711ba895415d781c4"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu Oct 05 17:23:10 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu Oct 05 18:27:00 2017 +0200"
      },
      "message": "Make libdl symbols weak.\n\nAlso make a static library which can be used to override these symbols\nin other implementations of libdl.so\n\nTest: make\nChange-Id: Id433bb07ecbfc4955c3fb7591ace971c2cda7862\n"
    },
    {
      "commit": "7c6784061dca3e36b6c80973573a0bea8896d585",
      "tree": "c24ad822e16c1645cdf20fcaecb2e29c9abba4b8",
      "parents": [
        "3e8584d4a7d617289e8a954711ba895415d781c4",
        "268ae362cddc1aa4d8dec2817ccbab077cafc2db"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 04 20:13:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 04 20:13:33 2017 +0000"
      },
      "message": "Merge \"Make bionic tests build for linux_bionic\""
    },
    {
      "commit": "3e8584d4a7d617289e8a954711ba895415d781c4",
      "tree": "fb5d64dfdb47a32ae14262592ee2dde264f6dade",
      "parents": [
        "42f3bd0ffc3f0f0e3191c679ea4276f7f1882a00",
        "1a524d62481d1af061b9bdd4f06c5409d3bc4b93"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 04 00:32:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 04 00:32:47 2017 +0000"
      },
      "message": "Merge \"Revert \"linker: disable ld.config.txt in ASAN mode\"\""
    },
    {
      "commit": "42f3bd0ffc3f0f0e3191c679ea4276f7f1882a00",
      "tree": "adb2575d5eb159cf8de9b038397c43d6428e6f1a",
      "parents": [
        "11dfca4c4a3f0861767513d60309d3d56e8729a9",
        "5a7c950909b28c22653f1e72a9559d9316b93f0f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 04 00:10:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 04 00:10:31 2017 +0000"
      },
      "message": "Merge \"Sync internal and external master.\""
    },
    {
      "commit": "11dfca4c4a3f0861767513d60309d3d56e8729a9",
      "tree": "84999267429b56d4366896908c850d836d0fcaa4",
      "parents": [
        "ec6c3975ffd435af1a95d3d314e5f59e91ed2acb",
        "a83849010120fc21eee46df3d4a29cca3f5cc120"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 04 00:04:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 04 00:04:59 2017 +0000"
      },
      "message": "Merge \"Fix pthread_leak test flakiness.\""
    },
    {
      "commit": "268ae362cddc1aa4d8dec2817ccbab077cafc2db",
      "tree": "a843eb6588c89117b9cd3b71640de12ef9006e96",
      "parents": [
        "ec6c3975ffd435af1a95d3d314e5f59e91ed2acb"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Sep 21 16:56:06 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 03 16:30:21 2017 -0700"
      },
      "message": "Make bionic tests build for linux_bionic\n\nAdds a necessary library, and disables the glibc host tests when\nbuilding for bionic host.\n\nBug: 31559095\nTest: mmma bionic\nChange-Id: Ie825db59a21bf8e9b4dbdadc63ff14bf8da23087\n"
    },
    {
      "commit": "ec6c3975ffd435af1a95d3d314e5f59e91ed2acb",
      "tree": "49bc8590a6928047b99f9e2fc859a4fedb63e253",
      "parents": [
        "48fbf91672d096bdec664374d16d65488b77251c",
        "41704cdf615eab4318539da0f0c03f443d2d89c7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 03 23:17:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 03 23:17:15 2017 +0000"
      },
      "message": "Merge \"Don\u0027t run exec_with_ld_config_file* tests on non-production devices\""
    },
    {
      "commit": "1a524d62481d1af061b9bdd4f06c5409d3bc4b93",
      "tree": "dbf7d82d8c28cd9302500233552fef9a599ee5ea",
      "parents": [
        "48fbf91672d096bdec664374d16d65488b77251c"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Aug 04 10:25:46 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Oct 04 07:32:28 2017 +0900"
      },
      "message": "Revert \"linker: disable ld.config.txt in ASAN mode\"\n\nThis reverts commit 81b175747d2c7831c010e7e94a6f2572d6dfe437.\n\nReason: 02586a2a34e6acfccf359b94db840f422b6c0231 fixed the bug that\nprevented us from using LD_PRELOAD with multiple namespaces.\n\nBug: 38114603\nTest: 1. ./external/compiler-rt/lib/asan/scripts/asan_device_setup --lib\nprebuilts/clang/host/linux-x86/clang-stable/lib64/clang/5.0/lib/linux\n2. enable talkback shortcut\n3. in the home screen, hold vol-up/down together\n4. device does not reboots and talkback shortcut is toggled\nTest: bionic-unit-tests and linker-unit-tests successful\n\n(cherry picked from commit 6ab40bbf537d45b171f4830cfa6d82949d4cb258)\n\nMerged-In: I25a05927ffbb28b9fa72303652893f43918ccec6\nChange-Id: If264f0ce5d7187816d3acc790b6e31d479b628ee\n"
    },
    {
      "commit": "5a7c950909b28c22653f1e72a9559d9316b93f0f",
      "tree": "6e3e5fc9b2dd2dbbd52b22dceb65d2cb2448b016",
      "parents": [
        "48fbf91672d096bdec664374d16d65488b77251c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 03 15:19:02 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 03 15:19:02 2017 -0700"
      },
      "message": "Sync internal and external master.\n\nNot sure how this managed to cling on in AOSP master, but all the other\nmentions of this constant in AOSP master are already expecting the new\nvalue anyway.\n\nBug: N/A\nTest: ran tests\nChange-Id: I8b6b4b320eeb1c4cea1c06bea4c1e8e314ee344d\n"
    },
    {
      "commit": "41704cdf615eab4318539da0f0c03f443d2d89c7",
      "tree": "49bc8590a6928047b99f9e2fc859a4fedb63e253",
      "parents": [
        "48fbf91672d096bdec664374d16d65488b77251c"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Sep 19 09:48:07 2017 +0900"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 03 15:03:44 2017 -0700"
      },
      "message": "Don\u0027t run exec_with_ld_config_file* tests on non-production devices\n\nThe tests that use LD_CONFIG_FILE environment variable shouldn\u0027t be run\non non-production devices because LD_CONFIG_FILE is only for debuggable\nbuilds. We have used the build-time flag USE_LD_CONFIG_FILE, which is\nset for the debuggable builds, to conditionally include or exclude the\ntests. However, this can be a problem when 1) the device is not\ndebuggable but 2) the CTS itself is built with debuggable target. So,\ninstead of relying on the build-time flag USE_LD_CONFIG_FILE, the tests\nnow check the debuggability of the device and skip the tests when it\nisn\u0027t debuggable.\n\nBug: 65842135\nTest: 1) flash user build image to a 2017 pixel device.\n2) build cts with \u0027userdebug\u0027 build target\n3) CtsBionicTestCases pass on the device\n\n(cherrypick of 5e3d44100be32fd5efffd0c309bd90c04cc9620c.)\n\nChange-Id: Ib88e3b26d093e5479d52cd87db47dee5e108cac2\n"
    },
    {
      "commit": "48fbf91672d096bdec664374d16d65488b77251c",
      "tree": "250e5ff69984395749478f1bfa230cce90f95355",
      "parents": [
        "c6021960a4cfe13d5dccdf54daf5a8db343e93d1",
        "575129886c2db6c7ae1dfd2655d2053166049ad1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 03 21:56:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 03 21:56:15 2017 +0000"
      },
      "message": "Merge \"Pre-size the vector in the pthread_create ENOMEM test.\""
    },
    {
      "commit": "a83849010120fc21eee46df3d4a29cca3f5cc120",
      "tree": "d39264982f78c52293283c1ab61283845f51bdea",
      "parents": [
        "c6021960a4cfe13d5dccdf54daf5a8db343e93d1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 03 10:18:58 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 03 13:51:45 2017 -0700"
      },
      "message": "Fix pthread_leak test flakiness.\n\nStop allocating and deallocating memory as part of the test itself.\n\nThere\u0027s still the fopen, but since our stdio reuses existing structs,\nthat doesn\u0027t seem to be a problem in practice.\n\nBug: http://b/67077411\nTest: ran tests with --gtest_repeat\u003d1000\nChange-Id: I99de5de0911161ec04afe75653075f1ccefb01a5\n"
    },
    {
      "commit": "575129886c2db6c7ae1dfd2655d2053166049ad1",
      "tree": "250e5ff69984395749478f1bfa230cce90f95355",
      "parents": [
        "c6021960a4cfe13d5dccdf54daf5a8db343e93d1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 02 22:49:18 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 03 12:20:07 2017 -0700"
      },
      "message": "Pre-size the vector in the pthread_create ENOMEM test.\n\nJust to avoid the possibility of an unfortunate mmap occurring in order to\ngrow the vector.\n\nBug: N/A\nTest: ran tests\nChange-Id: I850740461d761916a0377272664159d010da7b84\n"
    },
    {
      "commit": "c6021960a4cfe13d5dccdf54daf5a8db343e93d1",
      "tree": "efac36df5e32822a5b8c33c4f66c6a3d72e9be3a",
      "parents": [
        "9385d778fdbc15516124d8f480e86bcda7bd1c23",
        "3a3982d779d3123d29e5cd141f83508fc279cabd"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 03 02:30:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 03 02:30:05 2017 +0000"
      },
      "message": "Merge \"Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]]\""
    },
    {
      "commit": "9385d778fdbc15516124d8f480e86bcda7bd1c23",
      "tree": "ba70ff37bca0701abb52a5c02d138e5fb9489584",
      "parents": [
        "4836ac96e3012a86c0f8bcc35456dc44d7c925f1",
        "84f0dcd59ee41b385e819b2563cbd1a7f8700cba"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 02 22:04:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 02 22:04:48 2017 +0000"
      },
      "message": "Merge \"Use -Werror in bionic\""
    },
    {
      "commit": "84f0dcd59ee41b385e819b2563cbd1a7f8700cba",
      "tree": "cd9b9ab3ccdb207959abdde679a0d23dd53f2fea",
      "parents": [
        "b3639adf9ce41f520f7a64a5016e6ffc41ccd009"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 02 11:47:31 2017 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 02 13:21:22 2017 -0700"
      },
      "message": "Use -Werror in bionic\n\nBug: 66996870\nTest: build with WITH_TIDY\u003d1\nChange-Id: Ic68141a5c50880c485646e38349f94b866267bd9\n"
    },
    {
      "commit": "4836ac96e3012a86c0f8bcc35456dc44d7c925f1",
      "tree": "e439ddbe00bb5c9665c60542011546f6ad2f528b",
      "parents": [
        "8af55bdf93f074d621a44365fea4960d431aa1b3",
        "a5c316fe0c1b9d254421e22d8f2c6586ef3c64ec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 02 20:13:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 02 20:13:20 2017 +0000"
      },
      "message": "Merge \"Don\u0027t repeat ourselves unnecessarily in the maps.\""
    },
    {
      "commit": "3a3982d779d3123d29e5cd141f83508fc279cabd",
      "tree": "20a588c4f20d273361d45f6735502643e5a7e98d",
      "parents": [
        "95f90784eaa0b377d3c6d9101c84e8817cbea494"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 02 10:41:07 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 02 10:41:07 2017 -0700"
      },
      "message": "Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]]\n\nIn the future, target.linux will apply to all targets running a linux kernel\n(android, linux_glibc, linux_bionic). So move all current users to the specific\nlinux_glibc.\n\nThere will be another cleanup pass later that will move some instances back to\ntarget.linux if the properties should be shared with target.android and\ntarget.linux_bionic, but target.linux needs to be removed first.\n\nTest: out/soong/build.ninja identical before/after\nChange-Id: I56c84d206fb1e98cd7ea0d8fb875de0ebd87ea5e\nExempt-From-Owner-Approval: build system cleanup\n"
    },
    {
      "commit": "a5c316fe0c1b9d254421e22d8f2c6586ef3c64ec",
      "tree": "e439ddbe00bb5c9665c60542011546f6ad2f528b",
      "parents": [
        "8af55bdf93f074d621a44365fea4960d431aa1b3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 02 10:10:15 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 02 10:10:15 2017 -0700"
      },
      "message": "Don\u0027t repeat ourselves unnecessarily in the maps.\n\nWe can mark a whole version \"introduced\u003d\" rather than doing every line\nseparately.\n\nBug: N/A\nTest: builds\nChange-Id: I3219edc755a42ce5ff6258efb744fb5e05967a3a\n"
    },
    {
      "commit": "8af55bdf93f074d621a44365fea4960d431aa1b3",
      "tree": "1cd13383452627e29f306c1368504ce8e59910c9",
      "parents": [
        "a71b7bc63afa2c6ec6962bc0daacebe678d07751",
        "a0c7ec8080a7718c5711d9de405e039258d433bf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 02 16:29:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 02 16:29:27 2017 +0000"
      },
      "message": "Merge \"Add O MR1 define\""
    },
    {
      "commit": "a71b7bc63afa2c6ec6962bc0daacebe678d07751",
      "tree": "d20391189d03ba75316554776709da676f5bb3e4",
      "parents": [
        "95f90784eaa0b377d3c6d9101c84e8817cbea494",
        "8664a05637990798f0fb8ef9568133978fba5795"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 02 16:26:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 02 16:26:25 2017 +0000"
      },
      "message": "Merge \"Fix API level of cfi_* symbols to 27\""
    },
    {
      "commit": "8664a05637990798f0fb8ef9568133978fba5795",
      "tree": "d20391189d03ba75316554776709da676f5bb3e4",
      "parents": [
        "95f90784eaa0b377d3c6d9101c84e8817cbea494"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Aug 30 09:32:28 2017 +0900"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 02 08:15:34 2017 -0700"
      },
      "message": "Fix API level of cfi_* symbols to 27\n\nAPI level of O-MR1 is 27.\n\nBug: 63053790\nTest: bionic tests passes\n\nChange-Id: I78f0bd8af106954326394d60bf4d0cf5e10f7f17\n"
    },
    {
      "commit": "a0c7ec8080a7718c5711d9de405e039258d433bf",
      "tree": "44acbb52602f72fc7b8ff0ab4243586e1fe74849",
      "parents": [
        "95f90784eaa0b377d3c6d9101c84e8817cbea494"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Aug 07 11:19:17 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 02 08:14:56 2017 -0700"
      },
      "message": "Add O MR1 define\n\nBug: 64394076\nTest: none\nChange-Id: Ice3991c626dd2cce93c9a571ba529fa5b0129492\n"
    },
    {
      "commit": "95f90784eaa0b377d3c6d9101c84e8817cbea494",
      "tree": "0dc3677e43f0d539afa38876f1479f4dc81f1184",
      "parents": [
        "b93f2631e4eac685d187e74e15e540c9154cfcf6",
        "04f7a798cff26c1809138d329e0a5717efc2b3c5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 29 19:53:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 29 19:53:17 2017 +0000"
      },
      "message": "Merge \"Replace abort with exit(1) in __linker_cannot_link\""
    },
    {
      "commit": "04f7a798cff26c1809138d329e0a5717efc2b3c5",
      "tree": "314d022f48abb92d9fd690b07c205c15b791ab7a",
      "parents": [
        "bd2754177fc26b255b64af0b50c32f984a274cf9"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Fri Sep 29 11:52:17 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Fri Sep 29 19:48:46 2017 +0200"
      },
      "message": "Replace abort with exit(1) in __linker_cannot_link\n\nBug: http://b/67038409\nTest: bionic-unit-tests\nChange-Id: I7d39b44f2da8c5111ac8a9faf3416f19d5a35c05\n"
    },
    {
      "commit": "b93f2631e4eac685d187e74e15e540c9154cfcf6",
      "tree": "ae0b7e53a1e97980049b17610c92238efa995c69",
      "parents": [
        "b3639adf9ce41f520f7a64a5016e6ffc41ccd009",
        "6a5dfebd41d84a02008d559faebbe6ded78f3fb3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 29 17:48:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 29 17:48:26 2017 +0000"
      },
      "message": "Merge \"Require getrandom(2).\""
    },
    {
      "commit": "6a5dfebd41d84a02008d559faebbe6ded78f3fb3",
      "tree": "ae0b7e53a1e97980049b17610c92238efa995c69",
      "parents": [
        "b3639adf9ce41f520f7a64a5016e6ffc41ccd009"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 29 08:58:35 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 29 09:01:01 2017 -0700"
      },
      "message": "Require getrandom(2).\n\nIt\u0027s almost 2018, Linux 3.17 -- the first kernel with getrandom(2) --\nwas released in October 2014, and being able to assume getrandom lets\nus simplify and improve some security-related code in libc, and revert a\nhack to getentropy that\u0027s been necessary in the meantime. Only the fugu\nkernel doesn\u0027t have getrandom(2) at this point, and that\u0027s EOL.\n\nBug: http://b/67014255\nTest: ran tests\nChange-Id: I1736f4dd33d50fe99e7a524851180989f4c85a33\n"
    },
    {
      "commit": "b3639adf9ce41f520f7a64a5016e6ffc41ccd009",
      "tree": "c44e7963fa15992bcc5603c9608ec1359c672c87",
      "parents": [
        "bd2754177fc26b255b64af0b50c32f984a274cf9",
        "8465e968a8a92c77d57360837a9e725972a745e6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 29 15:39:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 29 15:39:29 2017 +0000"
      },
      "message": "Merge changes I76dde1e3,I54fec461\n\n* changes:\n  Add \u003csys/random.h\u003e.\n  Run other maintenance scripts as part of the preupload hooks.\n"
    },
    {
      "commit": "8465e968a8a92c77d57360837a9e725972a745e6",
      "tree": "f8bd05e55680224a407ac55afaef58b668868b05",
      "parents": [
        "96510935697c2934427f0c14d0b153244e8cfb2b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 27 16:33:35 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 29 05:31:35 2017 +0000"
      },
      "message": "Add \u003csys/random.h\u003e.\n\niOS 10 has \u003csys/random.h\u003e with getentropy, glibc \u003e\u003d 2.25 has\n\u003csys/random.h\u003e with getentropy and getrandom. (glibc also pollutes\n\u003cunistd.h\u003e, but that seems like a bad idea.)\n\nAlso, all supported devices now have kernels with the getrandom system\ncall.\n\nWe\u0027ve had these available internally for a while, but it seems like the\ntime is ripe to expose them.\n\nBug: http://b/67014255\nTest: ran tests\nChange-Id: I76dde1e3a2d0bc82777eea437ac193f96964f138\n"
    },
    {
      "commit": "96510935697c2934427f0c14d0b153244e8cfb2b",
      "tree": "9d24bda7e80bb8a633651fa7ca646fe757c070c8",
      "parents": [
        "2e01f39c31e042482fbe10df79d8b2837ae79239"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 28 15:20:40 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 28 22:28:23 2017 -0700"
      },
      "message": "Run other maintenance scripts as part of the preupload hooks.\n\nAnd get back up to date by actually running them...\n\nBug: N/A\nTest: uploaded this\nChange-Id: I54fec461190e8570929fdcbcbf2746ddd6a4b293\n"
    },
    {
      "commit": "bd2754177fc26b255b64af0b50c32f984a274cf9",
      "tree": "33efe6ee9eced0de5f507b6066e54d0e29ca69be",
      "parents": [
        "b736c41ffe42f84ce8f74ce89368f07ff97924c5",
        "ae407e522a49cb2863ed69ad80a37ba789113b03"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 29 01:11:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 29 01:11:43 2017 +0000"
      },
      "message": "Merge \"Remove default libraries\""
    },
    {
      "commit": "ae407e522a49cb2863ed69ad80a37ba789113b03",
      "tree": "33efe6ee9eced0de5f507b6066e54d0e29ca69be",
      "parents": [
        "b736c41ffe42f84ce8f74ce89368f07ff97924c5"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Sep 28 16:14:54 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Sep 28 16:16:14 2017 -0700"
      },
      "message": "Remove default libraries\n\nlibdl is part of system_shared_libs now. -ldl -lpthread -lm are now defaults\nfor host_ldlibs on Linux and Darwin. -lrt is a default for host_ldlibs on\nLinux.\n\nTest: m host\nTest: mmma bionic\nChange-Id: I966e2f88c24fba5e412bee6b6382045a2026a8e4\n"
    },
    {
      "commit": "b736c41ffe42f84ce8f74ce89368f07ff97924c5",
      "tree": "9bb2678aec554459b589a69a0f87688f6b3abacf",
      "parents": [
        "62767bc31dc7c5de1c9f64cce682acef6c5e3a25",
        "f1c568d1eac6d2baba62af35e5b9856fb7e98319"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 28 17:01:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 28 17:01:06 2017 +0000"
      },
      "message": "Merge \"Add \u003cglob.h\u003e.\""
    },
    {
      "commit": "f1c568d1eac6d2baba62af35e5b9856fb7e98319",
      "tree": "a7840d0a41465e4bc73e766bfc212bee12c6eaa0",
      "parents": [
        "2e01f39c31e042482fbe10df79d8b2837ae79239"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 26 17:09:07 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 26 18:46:09 2017 -0700"
      },
      "message": "Add \u003cglob.h\u003e.\n\nThis is the FreeBSD implementation, plus some tests. The FreeBSD\nimplementation includes the GNU extensions and seems to be what\niOS is using too, which should provide bug compatibility for app\ndevelopers.\n\nThe code unfortunately uses a lot of stack, and uses FreeBSD locale\nimplementation that we don\u0027t have, but it does seem better maintained\nthan the other BSDs.\n\nBug: http://b/29251134\nTest: ran tests\nChange-Id: Ie477b45e42a6df1319b25712098519d2b33adf67\n"
    },
    {
      "commit": "62767bc31dc7c5de1c9f64cce682acef6c5e3a25",
      "tree": "12560d5f188699814f191c5221e5ccb177ae25a1",
      "parents": [
        "9c172c86e719fc75a75e16d629c088d4aeb9a6cb",
        "c18de1bd47a558c9a24c6a4645df27df2c4738b4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 26 17:10:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 26 17:10:00 2017 +0000"
      },
      "message": "Merge \"Link vdso before linking the main executable\""
    },
    {
      "commit": "c18de1bd47a558c9a24c6a4645df27df2c4738b4",
      "tree": "12560d5f188699814f191c5221e5ccb177ae25a1",
      "parents": [
        "9c172c86e719fc75a75e16d629c088d4aeb9a6cb"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Sep 26 14:31:35 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Sep 26 14:34:18 2017 +0200"
      },
      "message": "Link vdso before linking the main executable\n\nAlso set linked flag after it is linked and\ncall constructors. Set RTLD_NODELETE flag to\nprevent accidental unloads.\n\nTest: bionic-unit-tests --gtest_filter\u003ddl*:Dl*\nTest: bionic-unit-tests-glibc --gtest_filter\u003ddl*\nChange-Id: Ib2178849b918cbefd6f8fcfe6d1f78889fe0bf76\n"
    },
    {
      "commit": "9c172c86e719fc75a75e16d629c088d4aeb9a6cb",
      "tree": "90a0dc8f47b804ad2df5e36a500626f3d591eff8",
      "parents": [
        "2e01f39c31e042482fbe10df79d8b2837ae79239",
        "7ebc81f4a2b093c978d1f61db8c0af0adf1ec66e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 25 23:56:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 25 23:56:17 2017 +0000"
      },
      "message": "Merge \"Fix error found building relocation packer for host bionic\""
    },
    {
      "commit": "f7a8e95fe844d9596bc9e2e0c53ce42b761f86c7",
      "tree": "9a58ee9885061b2afc354816fd867925a8284afb",
      "parents": [
        "2e01f39c31e042482fbe10df79d8b2837ae79239"
      ],
      "author": {
        "name": "Kazuhiro Inaba",
        "email": "kinaba@google.com",
        "time": "Mon Sep 25 15:18:29 2017 +0900"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Sep 25 23:34:19 2017 +0000"
      },
      "message": "Fix fcntrl#tee test to use the same expected/actual buffer size.\n\nPreviously the test compared /proc/version read into expected[256]\nwith actual[BUFSIZ]. This CL aligns the both of the buffer sizes to\nthe same BUFSIZ, so that /proc/version longer than 256 bytes won\u0027t\nresult in a test failure.\n\nBug: 66872345\nTest: fcntl#tee on a device with long /proc/version (Chromebook Plus)\nChange-Id: I004dd2189565b0bdde1aa22a2f25fafe74560180\n(cherry picked from commit 85a08ae9fead3f24daf108108257e4793a192e5f)\n"
    },
    {
      "commit": "2e01f39c31e042482fbe10df79d8b2837ae79239",
      "tree": "93f0fc2dce5aa0fe5b15d65e4c4be55ecacfd69e",
      "parents": [
        "24c9c3f3800eb66640d95eaa251a97cf97d5f438",
        "c51a404b1acba3305d777da8cb950b74460c34ba"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 25 19:19:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 25 19:19:38 2017 +0000"
      },
      "message": "Merge \"All architectures have AT_SYSINFO_EHDR now.\""
    },
    {
      "commit": "c51a404b1acba3305d777da8cb950b74460c34ba",
      "tree": "e8fc29560cd5306cd156fa182b52dec2c25ca4c9",
      "parents": [
        "6e6e1abb89913463778ae7559dd6b70049c52216"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 22 09:29:29 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 22 13:08:50 2017 -0700"
      },
      "message": "All architectures have AT_SYSINFO_EHDR now.\n\nBug: N/A\nTest: builds\nChange-Id: Ibc894be98ed0781c8b991ffadff34f616b934aa7\n"
    },
    {
      "commit": "7ebc81f4a2b093c978d1f61db8c0af0adf1ec66e",
      "tree": "7f55523c8a9205bb6039814f0d1cdd3c4200c8bc",
      "parents": [
        "24c9c3f3800eb66640d95eaa251a97cf97d5f438"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Sep 21 16:58:15 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 22 19:37:35 2017 +0000"
      },
      "message": "Fix error found building relocation packer for host bionic\n\nbionic/tools/relocation_packer/src/main.cc:109:7: error: comparison of constant\n-1 with expression of type \u0027typeof (read(fd.get(), e_ident, (16)) !\u003d (16))\u0027\n(aka \u0027bool\u0027) is always false [-Werror,-Wtautological-constant-out-of-range-compare]\n\n  if (TEMP_FAILURE_RETRY(read(fd.get(), e_ident, EI_NIDENT) !\u003d EI_NIDENT)) {\n      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nbionic/libc/include/unistd.h:243:18: note: expanded from macro \u0027TEMP_FAILURE_RETRY\u0027\n    } while (_rc \u003d\u003d -1 \u0026\u0026 errno \u003d\u003d EINTR); \\\n             ~~~ ^  ~~\n1 error generated.\n\nBug: 31559095\nTest: mmma bionic\nChange-Id: I473a19e3d51ff355233ae7f87b1013be069edb1f\n"
    },
    {
      "commit": "24c9c3f3800eb66640d95eaa251a97cf97d5f438",
      "tree": "38d8dc6fa8a1218c2bbce729012766bb5a44af03",
      "parents": [
        "6e6e1abb89913463778ae7559dd6b70049c52216",
        "0f33f23a76f4bec557459fc91efded6e9f196e67"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 22 05:56:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 22 05:56:37 2017 +0000"
      },
      "message": "Merge \"Don\u0027t resolve permitted.paths\""
    },
    {
      "commit": "0f33f23a76f4bec557459fc91efded6e9f196e67",
      "tree": "38d8dc6fa8a1218c2bbce729012766bb5a44af03",
      "parents": [
        "6e6e1abb89913463778ae7559dd6b70049c52216"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Sep 21 10:27:36 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Sep 22 11:34:43 2017 +0900"
      },
      "message": "Don\u0027t resolve permitted.paths\n\nLinker resolves the paths in /system/etc/ld.config.txt to canonicalize\nthe paths and to ensure they exist. However, as permitted paths for the\ndefault namespace contain directories such as /vendor/app, /mnt/expand,\nand etc., the resolving causes selinux denial on some processes which do\nnot have access to some of the permitted paths.\n\nIn order to silence the bogus selinux denial, resolution is skipped for\npermitted paths.\n\nNote that the resolution is not strictly required especially for\nTreble-ized devices where permitted paths are already canonicalized (i.e\n/vendor isn\u0027t a symlink to /system/vendor).\n\nBug: 65843095\nTest: no selinux denial on /vendor/app, /vendor/framework, etc. while\nbooting.\n\nMerged-In: I1a9921e45f4c15b08cdf8f1caee64c4cb0761e1f\nChange-Id: I1a9921e45f4c15b08cdf8f1caee64c4cb0761e1f\n(cherry picked from commit 527757e16b450849865461fd0f8e7086c1efa89e)\n"
    },
    {
      "commit": "6e6e1abb89913463778ae7559dd6b70049c52216",
      "tree": "5c0f8742d17baa66596860f88bfe387020b2d864",
      "parents": [
        "e27d29cfaf7923a68bd2f987590b229c53f6b50c",
        "7ccc50d2e48b9d8027a1f382b0408e9c36e56731"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 21 00:46:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 21 00:46:41 2017 +0000"
      },
      "message": "Merge changes from topic \"host_bionic\"\n\n* changes:\n  Use an embedded linker for host bionic\n  linker: Only link to debuggerd on Android\n"
    },
    {
      "commit": "7ccc50d2e48b9d8027a1f382b0408e9c36e56731",
      "tree": "5c0f8742d17baa66596860f88bfe387020b2d864",
      "parents": [
        "4326d84d217b40b819729da153f97217ea4ec932"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Sep 18 21:28:14 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 20 13:59:13 2017 -0700"
      },
      "message": "Use an embedded linker for host bionic\n\nThe linux kernel requires that the ELF interpreter (runtime linker)\nthat\u0027s referenced by PT_INTERP be either an absolute path, or a relative\npath from the current working directory. We\u0027d prefer a relative path\nfrom the binary, similarly to how we handle looking up shared libraries,\nbut that\u0027s not supported.\n\nInstead, extract the LOAD segments from the runtime linker ELF binary\nand embed them into each host bionic binary, omitting the PT_INTERP\ndeclaration. The kernel will treat it as a static binary, and we\u0027ll use\na special entry point (linker_wrapper) to fix up the arguments passed by\nthe kernel before jumping to the embedded linker. From the linker\u0027s\npoint of view, it looks like the kernel loaded the linker like normal.\n\nBug: 31559095\nTest: Enable host bionic, build and run libdemangle_test\nChange-Id: I1753401ef91eecbf0ae3376faca31eec1c53842b\n"
    }
  ],
  "next": "4326d84d217b40b819729da153f97217ea4ec932"
}
