)]}'
{
  "log": [
    {
      "commit": "66bc428f93546065ca73779ebefd1082244ecea2",
      "tree": "09c8940fa17df80cdd9d21cf9e4a8b463ffbaa3f",
      "parents": [
        "e2833f27c17e87021dae45c0d45025afd51f1e7e"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Nov 08 13:40:52 2018 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Nov 08 21:50:19 2018 +0000"
      },
      "message": "linker: changes to init work arounds\n\nChange three things regarding the work around to the fact that init is\nspecial:\n\n1) Only first stage init is special, so we change the check to include\n   accessing /proc/self/exe, which if is available, means that we\u0027re\n   not first stage init and do not need any work arounds.\n2) Fix the fact that /init may be a symlink and may need readlink()\n3) Suppress errors from realpath_fd() since these are expected to fail\n   due to /proc not being mounted.\n\nBug: 80395578\nTest: sailfish boots without the audit generated from calling stat()\n      on /init and without the errors from realpath_fd()\n\nChange-Id: I266f1486b142cb9a41ec791eba74122bdf38cf12\n"
    },
    {
      "commit": "e2833f27c17e87021dae45c0d45025afd51f1e7e",
      "tree": "a4373fe8f3a104ac26722255519d52d9693cb6c6",
      "parents": [
        "6f3a56bb18628243b6dbe470222e56bb56ed10ae",
        "c16d65d70e7e6501529ece4780815b527cc552c2"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Nov 01 05:10:36 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 01 05:10:36 2018 +0000"
      },
      "message": "Merge \"versioner: Port to clang-r339409b\""
    },
    {
      "commit": "6f3a56bb18628243b6dbe470222e56bb56ed10ae",
      "tree": "53a7886e2e1f2c7766986c5eafe3f631fe6027ce",
      "parents": [
        "5c7bece8ca071118cceb42306ca568df495d09c7",
        "7b13dd918e6e2c1638e6b137f27c80979a4ecd3f"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 01 01:32:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 01 01:32:00 2018 +0000"
      },
      "message": "Merge \"Revert \"bionic: Allocate a shadow call stack for each thread.\"\""
    },
    {
      "commit": "5c7bece8ca071118cceb42306ca568df495d09c7",
      "tree": "803ead864a9af0eb8837f8866f24c2c79094fb2e",
      "parents": [
        "d6ac79300d2dc777b1df7345e68d5ad04e5e666c",
        "358334145ee1961909217f1ebbdcbb843f469768"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 31 14:04:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 31 14:04:33 2018 +0000"
      },
      "message": "Merge \"ld.config.txt for APEX\""
    },
    {
      "commit": "c16d65d70e7e6501529ece4780815b527cc552c2",
      "tree": "3a6067c9735bb03300ea454571d0be6e5c553762",
      "parents": [
        "d6ac79300d2dc777b1df7345e68d5ad04e5e666c"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Oct 23 22:05:28 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Oct 31 14:53:30 2018 +0800"
      },
      "message": "versioner: Port to clang-r339409b\n\nThis commit ports versions to clang-r339409b and utilizes\n`libclang-cxx.so`.\n\nBug: 113263746\nTest: ./bionic/tools/versioner/run_tests.py\nChange-Id: Ib104a6c8c2c69df51cfa2760dbca125f4cfa054b\n"
    },
    {
      "commit": "358334145ee1961909217f1ebbdcbb843f469768",
      "tree": "051df79502d9267394eb3c71e246f7d1b16d6e92",
      "parents": [
        "f284a475441f612a0b48067a8bc7a59c72c4b47a"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Oct 26 14:45:21 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Oct 31 12:21:02 2018 +0900"
      },
      "message": "ld.config.txt for APEX\n\nWhen executing an executable in an APEX (i.e., /apex/\u003cname\u003e/bin),\nld.config.txt file is read from the same APEX, not from /system/etc.\n\nBug: 115787633\nTest: m apex.test; adb push ...apex.test.apex /data/apex; adb reboot\nTest: adb root; adb shell /apex/com.android.example.apex/bin/dex2oat\nis runnable.\n\nChange-Id: I6400251f99d24f2379dbaf655ecd84da02490617\n"
    },
    {
      "commit": "d6ac79300d2dc777b1df7345e68d5ad04e5e666c",
      "tree": "ead635dee8fef370464d8ca155e833e7c2402a58",
      "parents": [
        "6a5dcd678645df1c1d1987fc7389347765b28f53",
        "25c34e0feba2d0c49971016117a5af4fb8d32c1e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 30 23:31:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 30 23:31:15 2018 +0000"
      },
      "message": "Merge \"Reverse two pthread_internal_t fields\""
    },
    {
      "commit": "25c34e0feba2d0c49971016117a5af4fb8d32c1e",
      "tree": "46b26664f7fd968f0009981b5f25878239227d41",
      "parents": [
        "f284a475441f612a0b48067a8bc7a59c72c4b47a"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 29 16:31:51 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Oct 30 12:30:21 2018 -0700"
      },
      "message": "Reverse two pthread_internal_t fields\n\nThe golang runtime currently expects to find the pthread key data after\nthe tls slots.\n\nBug: http://b/78026329\nBug: http://b/118381796\nTest: run a golang-based app, bionic unit tests\nChange-Id: Idc777d809b803093e1c81d9a2ce4eafcc7d61f8d\nMerged-In: Idc777d809b803093e1c81d9a2ce4eafcc7d61f8d\n(cherry picked from commit a2c30723dac6b570247ac1bc7190850616f4db93)\n"
    },
    {
      "commit": "6a5dcd678645df1c1d1987fc7389347765b28f53",
      "tree": "a6dc35217992637cf0102c4beba99c6fdcd1ffdc",
      "parents": [
        "e898a17e8f2bf30506642be8106b1f8a6de61151",
        "9ce28844db7cf80ee8cf7c88dab23b666eaab739"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 30 19:11:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 30 19:11:33 2018 +0000"
      },
      "message": "Merge \"Update to v4.19 kernel headers.\""
    },
    {
      "commit": "9ce28844db7cf80ee8cf7c88dab23b666eaab739",
      "tree": "a6dc35217992637cf0102c4beba99c6fdcd1ffdc",
      "parents": [
        "e898a17e8f2bf30506642be8106b1f8a6de61151"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 25 12:11:39 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 30 09:21:16 2018 -0700"
      },
      "message": "Update to v4.19 kernel headers.\n\nTest: Builds and boots.\nChange-Id: I99a9ed79666e143b47f02ca4e59eed94f69b7e4a\n(cherry picked from commit a981e2e52e2e95a65fa9c9b6fb16dcb4c83dd576)\n"
    },
    {
      "commit": "e898a17e8f2bf30506642be8106b1f8a6de61151",
      "tree": "d257168fc36fe3dec7549bdccb8570f1fade9b97",
      "parents": [
        "f284a475441f612a0b48067a8bc7a59c72c4b47a",
        "176a47594e118a02d7c003ef3eb955ccc6781539"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Oct 30 11:34:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 30 11:34:17 2018 +0000"
      },
      "message": "Merge \"Allow to re-initialize heapprofd.\""
    },
    {
      "commit": "7b13dd918e6e2c1638e6b137f27c80979a4ecd3f",
      "tree": "b7f8343a6fc3767bd968b68ba8b6be74466d027a",
      "parents": [
        "da1bc79f937225b1a048d9e5a03eca81680a17fd"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Oct 29 21:48:38 2018 +0000"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Oct 29 21:48:59 2018 +0000"
      },
      "message": "Revert \"bionic: Allocate a shadow call stack for each thread.\"\n\nThis reverts commit da1bc79f937225b1a048d9e5a03eca81680a17fd.\n\nReason for revert: Caused OOM in media process\n\nBug: 112907825\nBug: 118593766\nChange-Id: I545663871d75889b209b9fd2131cdaa97166478f\n"
    },
    {
      "commit": "f284a475441f612a0b48067a8bc7a59c72c4b47a",
      "tree": "47d3953dcd5c84de7b57e01fae11d3c0cab606dd",
      "parents": [
        "debcd02d184822df57e7dc69066933dd44092235",
        "da1bc79f937225b1a048d9e5a03eca81680a17fd"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Oct 29 21:05:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 29 21:05:25 2018 +0000"
      },
      "message": "Merge \"bionic: Allocate a shadow call stack for each thread.\""
    },
    {
      "commit": "da1bc79f937225b1a048d9e5a03eca81680a17fd",
      "tree": "0334b394fff71fc1263d82515dde5c8c16a5dda8",
      "parents": [
        "c89a3971e94c30611c885e4c440eae2fd9937948"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Sep 06 22:20:44 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 19:55:18 2018 +0000"
      },
      "message": "bionic: Allocate a shadow call stack for each thread.\n\nBug: 112907825\nChange-Id: I7c1479a0cd68696739bf6aa5e0700ba4f2a137ec\nMerged-In: I7c1479a0cd68696739bf6aa5e0700ba4f2a137ec\n"
    },
    {
      "commit": "176a47594e118a02d7c003ef3eb955ccc6781539",
      "tree": "6eed1c373fe16aaa14b078133f8089a5433cc1e2",
      "parents": [
        "d84f8b5eb24f0e55645fd6a35d39611d2ffa74ff"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Oct 23 11:48:34 2018 +0100"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon Oct 29 12:24:15 2018 +0000"
      },
      "message": "Allow to re-initialize heapprofd.\n\nWithout this change, any process can only be profiled by heapprofd\nonce.\n\nChange-Id: I2d0f50eebcc3b219750354ccdc4ea22a2e39c4b6\n"
    },
    {
      "commit": "debcd02d184822df57e7dc69066933dd44092235",
      "tree": "903e862004d9db9b22ad0e6fdd5d10649150bdbb",
      "parents": [
        "90856af78be11457f9b4a32ad8dad4946ae30bb3",
        "f2484aaed779c0ef03661d6d473ee64e3b0503cd"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Oct 27 04:42:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 27 04:42:02 2018 +0000"
      },
      "message": "Merge \"Fix handling of #elif.\""
    },
    {
      "commit": "f2484aaed779c0ef03661d6d473ee64e3b0503cd",
      "tree": "bc6f0851c48e30bce36d872f7b390de8a01ddcc3",
      "parents": [
        "c89a3971e94c30611c885e4c440eae2fd9937948"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 25 19:41:45 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 26 22:42:26 2018 +0000"
      },
      "message": "Fix handling of #elif.\n\nWhen a construct like:\n\nif defined(something)\n  blocks1\nelif 1\n  blocks2\nelse\n  blocks3\nendif\n\nThe parser would put the first clause but then simply omit the elif and\nput all of blocks2 without a terminating #endif. The code also did\nsomething similar when the #else was an #endif.\n\nAlso convert all of the unit tests to real unit tests and only run\nthem if you run cpp.py by itself. Added new unit tests to cover the\nnew cases.\n\nTest: Ran cpp.py unit tests.\nTest: Reran update_all.py and verified nothing changed, and that running\nTest: it on the new kernel headers that exposed this problem.\nChange-Id: Ie168511303c4e15afdb60c37baef75a966ca29a8\n"
    },
    {
      "commit": "90856af78be11457f9b4a32ad8dad4946ae30bb3",
      "tree": "08afc2097c20cfe956ccb87f71b54cc3b2519e3b",
      "parents": [
        "2bfe37afc8a3efc28a2e59e94952c61740783b84",
        "25bcf59cb3f60f84856fca66c854f223f55645d9"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Oct 26 01:33:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 26 01:33:06 2018 +0000"
      },
      "message": "Merge changes I70ea4b23,Iedcfe36b,I3f21fc71,Ie99c0eef\n\n* changes:\n  libc: Match header annotations to version script\n  versioner: Build SymbolDatabase from version scripts\n  versioner: Add 28 to version list\n  libc: Add default __STRING implementation\n"
    },
    {
      "commit": "2bfe37afc8a3efc28a2e59e94952c61740783b84",
      "tree": "48c955a9a899eb5ebf85475cf004dbade956dc4d",
      "parents": [
        "04164f6d055c1052325a665bc9aa4837a5d2c1ae",
        "29d6dbc906f51f127700fd9e2d1e1170456f2382"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 26 00:49:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 26 00:49:21 2018 +0000"
      },
      "message": "Merge \"Move Bionic slots to the end of pthread_internal_t\""
    },
    {
      "commit": "04164f6d055c1052325a665bc9aa4837a5d2c1ae",
      "tree": "f72da432890482cb4b9af811105317f44882f006",
      "parents": [
        "5c722edf2b6025538608e7190492452b058c6b1d",
        "5e62b34c0d6fa545b487b9b64fb4a04a0589bc13"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 26 00:09:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 26 00:09:15 2018 +0000"
      },
      "message": "Merge \"Clean up bionic_macros.h a bit.\""
    },
    {
      "commit": "29d6dbc906f51f127700fd9e2d1e1170456f2382",
      "tree": "09bdf2be3f29c92de8ac17f8ee27691d26356640",
      "parents": [
        "a2af8bea8c6c4b6ce6883bf92cbce922e0d9f458"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Oct 19 20:35:23 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Oct 25 23:31:17 2018 +0000"
      },
      "message": "Move Bionic slots to the end of pthread_internal_t\n\nWith ELF TLS, the static linker assumes that an executable\u0027s TLS segment\nis at a known offset from the thread pointer (i.e. __get_tls()). The\nsegment can be located prior to the TP (variant 2, x86[_64], sparc) or\nafter it (variant 1, arm{32,64}, ppc, mips, ia64, riscv).\n\nWe can\u0027t make our pthread_internal_t exactly follow the ordinary arm64\nABI (at least) because TP[5] is used for clang\u0027s -fstack-protector on\nAndroid. Instead, reserve extra space after the TP (up to 16 words), which\nwill be followed by the executable\u0027s TLS segment.\n\nBug: http://b/78026329\nTest: boot device, bionic unit tests\nChange-Id: I0f3b270b793f9872ba0effeac03f4dec364438d6\nMerged-In: I0f3b270b793f9872ba0effeac03f4dec364438d6\n(cherry picked from commit f397317e96928ef24b980d5c73d08829c0e70cd4)\n"
    },
    {
      "commit": "5c722edf2b6025538608e7190492452b058c6b1d",
      "tree": "f82a6e80ce3f9bb332048de2ee1a214f932240ad",
      "parents": [
        "c89a3971e94c30611c885e4c440eae2fd9937948",
        "48b69113972ff2d62238a4446a97037b6bd1630d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 25 20:15:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 25 20:15:40 2018 +0000"
      },
      "message": "Merge \"linker: Fix fd leak\""
    },
    {
      "commit": "5e62b34c0d6fa545b487b9b64fb4a04a0589bc13",
      "tree": "e08ee44067b3b636ace11b21ec8d63a08d4d2a19",
      "parents": [
        "c89a3971e94c30611c885e4c440eae2fd9937948"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 11:00:00 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 11:00:00 2018 -0700"
      },
      "message": "Clean up bionic_macros.h a bit.\n\nUse \u003candroid-base/macros.h\u003e instead where possible, and move the bionic\nmacros out of the way of the libbase ones. Yes, there are folks who manage\nto end up with both included at once (thanks OpenGL!), and cleaning that\nup doesn\u0027t seem nearly as practical as just making this change.\n\nBug: N/A\nTest: builds\nChange-Id: I23fc544f39d5addf81dc61471771a5438778895b\n"
    },
    {
      "commit": "25bcf59cb3f60f84856fca66c854f223f55645d9",
      "tree": "d6fec62968dde66878d994c25e57ba2c69020a9a",
      "parents": [
        "9c123230e22d8fe9f691a72cc74def92d302a021"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Oct 23 21:32:37 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Oct 25 14:54:44 2018 +0800"
      },
      "message": "libc: Match header annotations to version script\n\nAccording to `libc.map.txt`, `pselect64()` was introduced since API\nlevel 28. This commit adds the annotations to `sys/select.h`.\n\nBug: 113263746\nTest: ./bionic/tools/versioner/run_tests.py\nChange-Id: I70ea4b23cef92857f1654cebb660e0219238fc95\n"
    },
    {
      "commit": "9c123230e22d8fe9f691a72cc74def92d302a021",
      "tree": "cfcccc4d3116a42b26ed85c134a1d82a40ef31c2",
      "parents": [
        "3fc86c158f841de1befee1390de09007d279efad"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Oct 23 10:47:17 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Oct 25 14:54:39 2018 +0800"
      },
      "message": "versioner: Build SymbolDatabase from version scripts\n\nThis commit adds a version script parser so that versioner can build\nSymbolDatabase from version scripts.\n\nBug: 113263746\nTest: ./bionic/tools/versioner/run_tests.py\nChange-Id: Iedcfe36b51a62693668e07b86aa13592096262db\n"
    },
    {
      "commit": "c89a3971e94c30611c885e4c440eae2fd9937948",
      "tree": "b7f8343a6fc3767bd968b68ba8b6be74466d027a",
      "parents": [
        "6032c38fb3d23a4d38cbc6eb4e180d58d7ef5300",
        "196632fb3c59ebbf1184d791a3e7124dd0c3f22b"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Oct 24 14:53:40 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Oct 24 14:53:40 2018 -0700"
      },
      "message": "Merge pie-platform-release to aosp-master - DO NOT MERGE\n\nChange-Id: Id036d1c35ff2cd8268ece544c6da2d6a9afbc184\n"
    },
    {
      "commit": "48b69113972ff2d62238a4446a97037b6bd1630d",
      "tree": "f82a6e80ce3f9bb332048de2ee1a214f932240ad",
      "parents": [
        "6032c38fb3d23a4d38cbc6eb4e180d58d7ef5300"
      ],
      "author": {
        "name": "Vic Yang",
        "email": "victoryang@google.com",
        "time": "Wed Oct 24 14:14:26 2018 -0700"
      },
      "committer": {
        "name": "Vic Yang",
        "email": "victoryang@google.com",
        "time": "Wed Oct 24 14:14:26 2018 -0700"
      },
      "message": "linker: Fix fd leak\n\nClose the file descriptor before throwing it away.\n\nTest: mmma bionic\nChange-Id: I1690c1bb8b619f82070503151b1de73302882310\n"
    },
    {
      "commit": "6032c38fb3d23a4d38cbc6eb4e180d58d7ef5300",
      "tree": "b7f8343a6fc3767bd968b68ba8b6be74466d027a",
      "parents": [
        "0ba6644b3e52752168798658fc61e26ac9508ab2",
        "2d0b28bc0da1ade2de2b72093dbdb740028fce7c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 24 16:31:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 24 16:31:21 2018 +0000"
      },
      "message": "Merge \"Add getloadavg(3).\""
    },
    {
      "commit": "0ba6644b3e52752168798658fc61e26ac9508ab2",
      "tree": "ef2164e4252965be6f5094d835c12e16001fbaf4",
      "parents": [
        "8828e8ba3a715a92f96afd21dbfe2e13eb82332e",
        "8daea556e97b1e3b1fd2cf5b213300148ad6dd1a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Oct 24 05:06:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 24 05:06:18 2018 +0000"
      },
      "message": "Merge \"Comment the M_PURGE option.\""
    },
    {
      "commit": "8daea556e97b1e3b1fd2cf5b213300148ad6dd1a",
      "tree": "bb225ce17779f3ee9ed89b8cb494675cbae650e1",
      "parents": [
        "7562f1ab87e4b51042d185345248f1a54885489a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 23 11:17:24 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 23 13:43:48 2018 -0700"
      },
      "message": "Comment the M_PURGE option.\n\nTest: Compiles.\nChange-Id: Ib9e6f9a3f4b57a930a1ec5c149d273663f97a443\n"
    },
    {
      "commit": "8828e8ba3a715a92f96afd21dbfe2e13eb82332e",
      "tree": "ac08eb4ebf312846996df3908ec5c8b4681e03ec",
      "parents": [
        "7562f1ab87e4b51042d185345248f1a54885489a",
        "5d9312bb139ad8501047c60be7b024dd38c1f0bf"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Oct 23 20:18:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 23 20:18:43 2018 +0000"
      },
      "message": "Merge \"CTS: allow continue to use the old AIDs on devices launch with P\""
    },
    {
      "commit": "2d0b28bc0da1ade2de2b72093dbdb740028fce7c",
      "tree": "75a1b66144e65f7141e3cf9ddaaae0049b07ca11",
      "parents": [
        "7562f1ab87e4b51042d185345248f1a54885489a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 11:23:00 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 11:23:00 2018 -0700"
      },
      "message": "Add getloadavg(3).\n\nLets us build ninja with bionic.\n\nBug: N/A\nTest: ran tests\nChange-Id: I97eef1247d794b58a2b9aee4851551632e5a4e48\n"
    },
    {
      "commit": "7562f1ab87e4b51042d185345248f1a54885489a",
      "tree": "afe954f94bcad00b6733697e4ce4734a54d3eb05",
      "parents": [
        "d84f8b5eb24f0e55645fd6a35d39611d2ffa74ff",
        "ac578f2587a3bd91b6357fe6cfbef25a627eecde"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 23 16:36:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 23 16:36:16 2018 +0000"
      },
      "message": "Merge \"malloc: add M_PURGE mallopt flag\""
    },
    {
      "commit": "3fc86c158f841de1befee1390de09007d279efad",
      "tree": "24497f014e7a707f21507fe7f770ae929cfc12ab",
      "parents": [
        "aede30d316fae9399c52b26e70f7e71fdb965412"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Oct 23 15:04:00 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Oct 23 21:47:39 2018 +0800"
      },
      "message": "versioner: Add 28 to version list\n\nThis commit adds 28 to version list so that we can pass\nslow_preprocessor_idempotence.  If 28 is not in the version list,\nversioner will add another `#ifdef` guard and fail the test.\n\nBug: 113263746\nTest: ./bionic/tools/versioner/run_tests.py\nChange-Id: I3f21fc71ffd9e55326c4587bbc5e689eb72596b6\n"
    },
    {
      "commit": "aede30d316fae9399c52b26e70f7e71fdb965412",
      "tree": "04c581d4e7a48e9932bed134511c72ffb79063cd",
      "parents": [
        "a8a716e42a8e6b8f28abf2b2f8f93b1e8579423d"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Oct 23 15:03:43 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Oct 23 21:47:34 2018 +0800"
      },
      "message": "libc: Add default __STRING implementation\n\nThis commit defines a default `__STRING()` definition.  There should be\na default definition because the unit test cases of versioner will\ninclude `android/versioning.h` directly.  We cannot include\n`sys/cdefs.h` in `android/versioning.h` either because that will lead to\ncircular inclusion.\n\nBug: 113263746\nTest: ./bionic/tools/versioner/run_tests.py\nChange-Id: Ie99c0eef4414fd687347baf3a2d295468877464f\n"
    },
    {
      "commit": "5d9312bb139ad8501047c60be7b024dd38c1f0bf",
      "tree": "37cfcbf656d2ee13cd3b39801a23e46886962e10",
      "parents": [
        "a8a716e42a8e6b8f28abf2b2f8f93b1e8579423d"
      ],
      "author": {
        "name": "Chuwei Xu",
        "email": "xucw@motorola.com",
        "time": "Tue Oct 23 13:50:04 2018 +0800"
      },
      "committer": {
        "name": "Chuwei Xu",
        "email": "xucw@motorola.com",
        "time": "Tue Oct 23 13:50:04 2018 +0800"
      },
      "message": "CTS: allow continue to use the old AIDs on devices launch with P\n\nSome vendors may have been using the AIDs outside the oem ranges\nfor long that those aids need continue to be maitained for the\nexisting devices. We allow them countinue to use the old AID names\nand values on device launch with P and before, to give them the\nperiod of time to adopt the new AID scheme.\n\nBug: 116405200\nChange-Id: I0453ed14df4c0855575ef1404c596ddc6ded681b\n"
    },
    {
      "commit": "d84f8b5eb24f0e55645fd6a35d39611d2ffa74ff",
      "tree": "ac4ccef50b4c6400e2449be475815b2757bc2b7a",
      "parents": [
        "24f2676a39bf3d9472cf3d1d96371ffea712fc9c",
        "d6bf019204e258d89da56330fbcf9a36c39d23f5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 23 03:43:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 23 03:43:28 2018 +0000"
      },
      "message": "Merge \"Rework the linker_wrapper to work with lld\""
    },
    {
      "commit": "24f2676a39bf3d9472cf3d1d96371ffea712fc9c",
      "tree": "ddfcb411bf9ba6bae00591bb51470a8920664f5d",
      "parents": [
        "12efefc34b65c59ed4b7ad86e87e299b8dac92b2",
        "d4e51a155a08d28c874d47e97ad53f222a64ba1c"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 23 03:42:09 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 23 03:42:09 2018 +0000"
      },
      "message": "Merge \"Change crtbrand for host bionic\""
    },
    {
      "commit": "12efefc34b65c59ed4b7ad86e87e299b8dac92b2",
      "tree": "8507e8070ad5c28aa259fd8b1faa1e0b98319c3c",
      "parents": [
        "a8a716e42a8e6b8f28abf2b2f8f93b1e8579423d",
        "5038ef6748d6ef70537e616201bb68b287a55a76"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 23 00:30:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 23 00:30:20 2018 +0000"
      },
      "message": "Merge \"Workaround host bionic libs that are missing DT_RUNPATH\""
    },
    {
      "commit": "d4e51a155a08d28c874d47e97ad53f222a64ba1c",
      "tree": "e643f524cf424605e46f72f7ddcfb46aaba1abbe",
      "parents": [
        "a8a716e42a8e6b8f28abf2b2f8f93b1e8579423d"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Oct 11 23:50:24 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 22 17:15:22 2018 -0700"
      },
      "message": "Change crtbrand for host bionic\n\nFixes a build error when PLATFORM_SDK_VERSION is not set.\n\nBug: 31559095\nTest: attempt to build host bionic\nChange-Id: I9cbdcea206ef1239c330a5adafbfa5cc797fef5e\n"
    },
    {
      "commit": "ac578f2587a3bd91b6357fe6cfbef25a627eecde",
      "tree": "f192df82f45783ee7d50f737ef6012fbdb4881e8",
      "parents": [
        "a8a716e42a8e6b8f28abf2b2f8f93b1e8579423d"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Mon Oct 15 16:26:56 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Oct 22 16:25:28 2018 -0700"
      },
      "message": "malloc: add M_PURGE mallopt flag\n\nAdd a new mallopt flag that purges any pending decaying pages.\n\nTest: boots and works\nbug 117795621\n\nChange-Id: Ib250ae2b705b6a368c1efb801d6a7be54e075acb\n(cherry pciekd from commit 5083e833a650ebe510ed52603ce5c8cd4374c48e)\n"
    },
    {
      "commit": "5038ef6748d6ef70537e616201bb68b287a55a76",
      "tree": "8507e8070ad5c28aa259fd8b1faa1e0b98319c3c",
      "parents": [
        "a8a716e42a8e6b8f28abf2b2f8f93b1e8579423d"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sun Oct 21 17:45:04 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 22 15:55:56 2018 -0700"
      },
      "message": "Workaround host bionic libs that are missing DT_RUNPATH\n\nWe don\u0027t have a host bionic version of\nlibclang_rt.asan-x86_64-android.so, so I\u0027m using the android version,\nwhich can\u0027t load liblog.so, since it\u0027s missing DT_RUNPATH that would\nnormally load liblog.so from a relative path to the .so.\n\nBug: 118058804\nTest: run ASAN host_bionic\nChange-Id: I58badcd5ed35bd1c7b786b4f1e2367a1011ff08d\n"
    },
    {
      "commit": "d6bf019204e258d89da56330fbcf9a36c39d23f5",
      "tree": "3302ba6e3d7023f565e911f876273824df6c70ee",
      "parents": [
        "a8a716e42a8e6b8f28abf2b2f8f93b1e8579423d"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 15 15:40:49 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 22 22:52:25 2018 +0000"
      },
      "message": "Rework the linker_wrapper to work with lld\n\nThis is use by Host Bionic to bootstrap into an embedded copy of the\nlinker by tweaking the AT_* values before calling in to the linker entry.\n\nSimilarly to 9729f35922aee4d1662b97d62d82385f6b8124ef, get the base\naddress from AT_PHDR, so that we\u0027re not relying on the relative offset\nbefore relocation, which doesn\u0027t work with lld (at least with the\nstandard flags).\n\nTo find the offset to the linker code, we can still use an absolute\nsymbol created by extract_linker (which is currently hardcoded to 0x1000).\n\nInstead of relying on something similar for the linker entry point,\nwe\u0027re now just reading the entry point from the linker\u0027s ELF header.\n\nThen we get the address to the real _start function using\nhost_bionic_inject, which injects the value into a global variable after\nthe link step is finished. It also uses that opportunity to verify that\nthe linker is embedded as we expect it to be.\n\nBug: 31559095\nTest: build with host bionic\nChange-Id: I9d81ea77c51c079de06905da1ebe421fead1dc3b\n"
    },
    {
      "commit": "a8a716e42a8e6b8f28abf2b2f8f93b1e8579423d",
      "tree": "f0a2ff37fb97731c6ab6f1796a50d63ddaaecc18",
      "parents": [
        "de1353b8a413dc627dba30b5eb9a38fa717749e6",
        "18cbed70080807b6ee8924a4e7d50893dd862c9a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Oct 20 16:13:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 20 16:13:34 2018 +0000"
      },
      "message": "Merge \"Make the test less specific.\""
    },
    {
      "commit": "18cbed70080807b6ee8924a4e7d50893dd862c9a",
      "tree": "f0a2ff37fb97731c6ab6f1796a50d63ddaaecc18",
      "parents": [
        "de1353b8a413dc627dba30b5eb9a38fa717749e6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 19 13:54:11 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 19 14:05:14 2018 -0700"
      },
      "message": "Make the test less specific.\n\nRemove the need to add every benchmark to the list of all benchmarks.\n\nAlso, add some hard-coding of the location of the benchmark executable.\nAdd a test to make sure the benchmark exists so it\u0027s possible to detect\nif the executable changes location.\n\nFinally, make the tests isolated so that they finish in half the time.\n\nTest: Ran unit tests.\nChange-Id: I1e59eb283e31d29b14e54c44ac865827c9704127\n"
    },
    {
      "commit": "de1353b8a413dc627dba30b5eb9a38fa717749e6",
      "tree": "9212e1114d2bed5cacde1912390620cc5404841b",
      "parents": [
        "85772259b30dcd4c086d2e9be31384759a9a4d36",
        "3e5754c6ad6baf9f80885dc41c39854eb0bfb067"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Oct 19 16:53:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 19 16:53:41 2018 +0000"
      },
      "message": "Merge \"Add benchmarks for heap size retrieval\""
    },
    {
      "commit": "85772259b30dcd4c086d2e9be31384759a9a4d36",
      "tree": "8872ac6e3608cd8d6feb74621a8c6ed3e8da0632",
      "parents": [
        "104fd9e64951a27e987b76eef4a6fc00ab5ddc52",
        "f7f71e3c7b70c0369cf04cedbd988f55f88918fb"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Oct 19 09:36:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 19 09:36:12 2018 +0000"
      },
      "message": "Merge \"Add RT signal to load heapprofd library.\""
    },
    {
      "commit": "3e5754c6ad6baf9f80885dc41c39854eb0bfb067",
      "tree": "4190f76386f30e73939c5caebe596da6e9aec01e",
      "parents": [
        "a2af8bea8c6c4b6ce6883bf92cbce922e0d9f458"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Oct 18 10:37:34 2018 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Oct 18 17:56:58 2018 -0700"
      },
      "message": "Add benchmarks for heap size retrieval\n\nAdd benchmarks for mallinfo, and for retrieving RSS from\n/proc/self/statm, since we\u0027re considering using these for GC\ntriggering.\n\nAdd some static linkage specifiers, after running into a build\nproblem due to a spurious conflict.\n\nBug: 111447610\n\nTest: Ran benchmarks\nChange-Id: Ie50d512294993882728c63ce51ec507590257d80\n"
    },
    {
      "commit": "f7f71e3c7b70c0369cf04cedbd988f55f88918fb",
      "tree": "8872ac6e3608cd8d6feb74621a8c6ed3e8da0632",
      "parents": [
        "7ff7d03286dcf8abc6b4bd0455c428256493c96d"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Aug 31 15:36:48 2018 -0700"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Thu Oct 18 21:38:06 2018 +0100"
      },
      "message": "Add RT signal to load heapprofd library.\n\nTests: Ran malloc_debug_unit_tests\nTests: Flashed to walleye, sent signal, observed\n  \"Unable to open shared library: heapprofd.so\".\n\nChange-Id: Ia8ce216837e29e3edbda8789ca28023d53fa1fda\n"
    },
    {
      "commit": "104fd9e64951a27e987b76eef4a6fc00ab5ddc52",
      "tree": "54e9ee60ee1a9268eb490ae69eeb5c5467324556",
      "parents": [
        "30440b29ae964cf576f5545edfc0862f893ec8da",
        "7ff7d03286dcf8abc6b4bd0455c428256493c96d"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Oct 18 11:32:42 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 18 11:32:42 2018 -0700"
      },
      "message": "Merge \"Properly fail with ESRCH when pthread_killing an exited thread.\"\nam: 7ff7d03286\n\nChange-Id: I2b5d2a12035bd08f275e82927015498c3b918492\n"
    },
    {
      "commit": "7ff7d03286dcf8abc6b4bd0455c428256493c96d",
      "tree": "54e9ee60ee1a9268eb490ae69eeb5c5467324556",
      "parents": [
        "89376008975d88e771c048db57ac749d9d4ace55",
        "ddf757e35eb36d684b16273f0ddfe2d387983e8e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Oct 18 17:47:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 18 17:47:17 2018 +0000"
      },
      "message": "Merge \"Properly fail with ESRCH when pthread_killing an exited thread.\""
    },
    {
      "commit": "30440b29ae964cf576f5545edfc0862f893ec8da",
      "tree": "add55935abdf6bc16c16c6edc111b376a3e3c933",
      "parents": [
        "bb63df0c52b96115fac6efed21d5540cbafdb2b4",
        "89376008975d88e771c048db57ac749d9d4ace55"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 17 20:00:44 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 17 20:00:44 2018 -0700"
      },
      "message": "Merge \"Don\u0027t #define __ANDROID_NDK__ for the platform build!\"\nam: 8937600897\n\nChange-Id: I2bb0af09714a31bdce8e7f2ecec66bc7c552999a\n"
    },
    {
      "commit": "89376008975d88e771c048db57ac749d9d4ace55",
      "tree": "add55935abdf6bc16c16c6edc111b376a3e3c933",
      "parents": [
        "ecf0c7515d4416ab4bf708b303ab7beab79a6f2b",
        "eb6143037423a241ba8035304936149b300f7a5d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 18 02:15:14 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 18 02:15:14 2018 +0000"
      },
      "message": "Merge \"Don\u0027t #define __ANDROID_NDK__ for the platform build!\""
    },
    {
      "commit": "ddf757e35eb36d684b16273f0ddfe2d387983e8e",
      "tree": "411e728f73fa9e3b5c1fc8b065823d68cae94307",
      "parents": [
        "773c697f815d43182adf1eb430f4899255088d6b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Oct 17 15:23:03 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Oct 17 17:35:56 2018 -0700"
      },
      "message": "Properly fail with ESRCH when pthread_killing an exited thread.\n\nPreviously, we were callign tgkill(pid, 0, signal) instead, which would\nfail with EINVAL instead.\n\nTest: bionic-unit-tests\nChange-Id: I25b127dcf347e0223274502b0516a950b6c2093e\n"
    },
    {
      "commit": "eb6143037423a241ba8035304936149b300f7a5d",
      "tree": "add55935abdf6bc16c16c6edc111b376a3e3c933",
      "parents": [
        "ecf0c7515d4416ab4bf708b303ab7beab79a6f2b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 17 14:27:36 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 17 14:27:36 2018 -0700"
      },
      "message": "Don\u0027t #define __ANDROID_NDK__ for the platform build!\n\nCaused an ODR violation trying to build current ToT of toybox.\n\nBug: N/A\nTest: can successfully build code with `#ifdef __ANDROID_NDK__`\nChange-Id: Ia80b8889b267779ee01f6257744e1794db0ebc65\n"
    },
    {
      "commit": "bb63df0c52b96115fac6efed21d5540cbafdb2b4",
      "tree": "92b6dc61bdab2f239e88013207c63b15569ec29f",
      "parents": [
        "045b126d69df3795eae268e8ef9f97abf8c46d75",
        "ecf0c7515d4416ab4bf708b303ab7beab79a6f2b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 15 17:33:20 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 15 17:33:20 2018 -0700"
      },
      "message": "Merge \"strerror: add missing ERFKILL and EHWPOISON.\"\nam: ecf0c7515d\n\nChange-Id: I1ca2952dcbedddd42377157cdafa26c9f34109e6\n"
    },
    {
      "commit": "ecf0c7515d4416ab4bf708b303ab7beab79a6f2b",
      "tree": "92b6dc61bdab2f239e88013207c63b15569ec29f",
      "parents": [
        "daf746b15507337bd451ccbbc092b56dc4780b72",
        "92a9116100f766f4df5c9e3efbb9ad2a402af06c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 15 23:56:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 15 23:56:22 2018 +0000"
      },
      "message": "Merge \"strerror: add missing ERFKILL and EHWPOISON.\""
    },
    {
      "commit": "045b126d69df3795eae268e8ef9f97abf8c46d75",
      "tree": "dd6a6fba46302af75b0fe54b117bdb7a51e353a0",
      "parents": [
        "710072909a24bf33ac81ad0f64f96ff1c4b1fcb6",
        "daf746b15507337bd451ccbbc092b56dc4780b72"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Mon Oct 15 14:22:09 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 15 14:22:09 2018 -0700"
      },
      "message": "Merge \"fdsan: reset va_list between varargs traversals\"\nam: daf746b155\n\nChange-Id: Id30f514ef17a56be8f2f7b037e314ff0dee073c2\n"
    },
    {
      "commit": "710072909a24bf33ac81ad0f64f96ff1c4b1fcb6",
      "tree": "3d7d7b83e12e3e23dda5bd3e862a4643af13d467",
      "parents": [
        "83b0bf56e92d35c41bcb56e04ed3997a13ccbaf1",
        "3a47adadadb470e61ab3ce765b438a21998b212b"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Mon Oct 15 14:15:09 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 15 14:15:09 2018 -0700"
      },
      "message": "Merge \"Add support for A76 in bionic\"\nam: 3a47adadad\n\nChange-Id: Ifcb9feca8d4af3f47f2a52f9026f725bec354d22\n"
    },
    {
      "commit": "daf746b15507337bd451ccbbc092b56dc4780b72",
      "tree": "dd6a6fba46302af75b0fe54b117bdb7a51e353a0",
      "parents": [
        "3a47adadadb470e61ab3ce765b438a21998b212b",
        "cc953e08f4c48af050a92c4d9fb365ae81c5e59b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 15 21:05:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 15 21:05:44 2018 +0000"
      },
      "message": "Merge \"fdsan: reset va_list between varargs traversals\""
    },
    {
      "commit": "3a47adadadb470e61ab3ce765b438a21998b212b",
      "tree": "3d7d7b83e12e3e23dda5bd3e862a4643af13d467",
      "parents": [
        "4e29cdec23762fd6e26b3ca4f87ce35213b0db1f",
        "bc4f411138105d28eee984df848b568e30402574"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Mon Oct 15 21:01:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 15 21:01:30 2018 +0000"
      },
      "message": "Merge \"Add support for A76 in bionic\""
    },
    {
      "commit": "92a9116100f766f4df5c9e3efbb9ad2a402af06c",
      "tree": "2684d5a475e4da56ebc63c726386f3e177adccb9",
      "parents": [
        "4e29cdec23762fd6e26b3ca4f87ce35213b0db1f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 15 13:12:19 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 15 13:12:19 2018 -0700"
      },
      "message": "strerror: add missing ERFKILL and EHWPOISON.\n\nThere\u0027s little value to having strings for these, but we may as well\nfor consistency. There\u0027s no ELASTERRNO constant we can use to check\nwhether we\u0027ve fallen behind again, but these were added in 2009 and\n2011 respectively, so we\u0027re not likely to have to deal with any more\nnew errno values any time soon...\n\nBug: http://b/117755069\nTest: ran tests\nChange-Id: I5b7155c22cad92c2fe03a0b4c7cae415c37fa186\n"
    },
    {
      "commit": "83b0bf56e92d35c41bcb56e04ed3997a13ccbaf1",
      "tree": "b20c732195590421f9b87aea1662d1e25f43bae6",
      "parents": [
        "ddc249c8f31caf3dabd08eb36f1428254547aef7",
        "4e29cdec23762fd6e26b3ca4f87ce35213b0db1f"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Oct 15 11:05:51 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 15 11:05:51 2018 -0700"
      },
      "message": "Merge \"Waive AID Range check for upgrading devices launched before P\"\nam: 4e29cdec23\n\nChange-Id: I3994ef6ad33a1a9c7a3e4f4d4896e2b16dfdce1c\n"
    },
    {
      "commit": "4e29cdec23762fd6e26b3ca4f87ce35213b0db1f",
      "tree": "b20c732195590421f9b87aea1662d1e25f43bae6",
      "parents": [
        "a2af8bea8c6c4b6ce6883bf92cbce922e0d9f458",
        "5c941435ac1b8fdbc3aef741715cb816e2808507"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Oct 15 17:59:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 15 17:59:59 2018 +0000"
      },
      "message": "Merge \"Waive AID Range check for upgrading devices launched before P\""
    },
    {
      "commit": "cc953e08f4c48af050a92c4d9fb365ae81c5e59b",
      "tree": "4e3629a5c9e3a4ffdb3fba3620f2deda2308dc2c",
      "parents": [
        "a2af8bea8c6c4b6ce6883bf92cbce922e0d9f458"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Oct 12 15:04:26 2018 -0700"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Mon Oct 15 10:41:34 2018 -0700"
      },
      "message": "fdsan: reset va_list between varargs traversals\n\nWhen error_level !\u003d ANDROID_FDSAN_ERROR_LEVEL_FATAL, fdsan_error()\ntraverses the varargs twice.  Each traversal needs its own\nva_start()/va_end() pair.  Otherwise async_safe_format_buffer_va_list()\nwill start consuming arguments where async_safe_format_log_va_list()\nstopped, ironically causing the sanitizer runtime to perform bad memory\naccesses.\n\nTest: debuggerd_test32\nTest: debuggerd_test64\n\nChange-Id: Ic85ca94501e55e9a435410fab89edb273c381a5a\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "bc4f411138105d28eee984df848b568e30402574",
      "tree": "9b8eaacad4c8af66f787f4bf71dc5f266bbfcba6",
      "parents": [
        "a2af8bea8c6c4b6ce6883bf92cbce922e0d9f458"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Wed Oct 10 13:46:48 2018 -0700"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Fri Oct 12 23:55:06 2018 +0000"
      },
      "message": "Add support for A76 in bionic\n\nA76 still uses A55 as little core. It should be ok to use the same\nsetting as A75 for now.\n\nBug: 117125298\nTest: run bionic tests\nChange-Id: Idfd15424c20ae60becb6539f6ae855f3e7c264cd\n"
    },
    {
      "commit": "ddc249c8f31caf3dabd08eb36f1428254547aef7",
      "tree": "a9825132e413c3ad4dfc6fb852125e65e8c378ea",
      "parents": [
        "546cd5bac70645db59c41e17c4c42547c892b109",
        "a2af8bea8c6c4b6ce6883bf92cbce922e0d9f458"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Oct 12 12:18:46 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 12 12:18:46 2018 -0700"
      },
      "message": "Merge \"Allow host bionic to use libdl_static\"\nam: a2af8bea8c\n\nChange-Id: If8421dcd1a1a06dc4b2389c8ca11ce43ac2474ed\n"
    },
    {
      "commit": "a2af8bea8c6c4b6ce6883bf92cbce922e0d9f458",
      "tree": "a9825132e413c3ad4dfc6fb852125e65e8c378ea",
      "parents": [
        "391af2cefea88abe7eccff8edd0ae06c653bef5e",
        "17b35598f54ef91c4022b6a91238a2d6b669c194"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 12 19:08:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 12 19:08:11 2018 +0000"
      },
      "message": "Merge \"Allow host bionic to use libdl_static\""
    },
    {
      "commit": "17b35598f54ef91c4022b6a91238a2d6b669c194",
      "tree": "a9825132e413c3ad4dfc6fb852125e65e8c378ea",
      "parents": [
        "391af2cefea88abe7eccff8edd0ae06c653bef5e"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Oct 11 23:32:26 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Oct 11 23:35:18 2018 -0700"
      },
      "message": "Allow host bionic to use libdl_static\n\nBug: 31559095\nTest: attempt to build host bionic\nChange-Id: If057681a3e098efcf79f9d8a74608b10b1ac20da\n"
    },
    {
      "commit": "5c941435ac1b8fdbc3aef741715cb816e2808507",
      "tree": "05246fe6bbc85f6cf20ab231243d77aec42814a5",
      "parents": [
        "cb8ed207d2bb6113a80fc7f27cd0beb8897f5192"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Oct 09 11:01:28 2018 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Oct 11 11:57:13 2018 -0700"
      },
      "message": "Waive AID Range check for upgrading devices launched before P\n\nWe added a check in P that ensures all vendor provided AIDs only\nappear in the carved out ranges for vendors to use.  However,\nupgrading devices may be using AIDs outside of this range and it is\nvery difficult to change these AIDs, so we waive this test for them.\n\nBug: 116830906\nTest: test succeeds on upgrading devices\nChange-Id: Iddcacb1dce77a150d5138e7b3115abf25bf60a6e\n"
    },
    {
      "commit": "546cd5bac70645db59c41e17c4c42547c892b109",
      "tree": "c2c1e6d8f45fc5c7e67efda4c6e7d809c90b1902",
      "parents": [
        "0bd2520fff24fa7c916987fbf308b4d4d4a5b2d7",
        "391af2cefea88abe7eccff8edd0ae06c653bef5e"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Oct 10 18:26:26 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 10 18:26:26 2018 -0700"
      },
      "message": "Merge \"Allow invoking the linker on an executable.\"\nam: 391af2cefe\n\nChange-Id: I2590130eb3f5419758ec9068feab8adf950ae70b\n"
    },
    {
      "commit": "391af2cefea88abe7eccff8edd0ae06c653bef5e",
      "tree": "c2c1e6d8f45fc5c7e67efda4c6e7d809c90b1902",
      "parents": [
        "069d5aef90e1a322fb9e9ff7e922f8505fe81c8c",
        "8f639a40966c630c64166d2657da3ee641303194"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 11 01:04:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 11 01:04:57 2018 +0000"
      },
      "message": "Merge \"Allow invoking the linker on an executable.\""
    },
    {
      "commit": "8f639a40966c630c64166d2657da3ee641303194",
      "tree": "96e03d65a4efa6613941b748ed2c11b64a8dec1b",
      "parents": [
        "cb8ed207d2bb6113a80fc7f27cd0beb8897f5192"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 01 23:10:05 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Oct 10 14:31:06 2018 -0700"
      },
      "message": "Allow invoking the linker on an executable.\n\nThe executable can be inside a zip file using the same syntax used for\nshared objects: path.zip!/libentry.so.\n\nThe linker currently requires an absolute path. This restriction could be\nloosened, but it didn\u0027t seem important? If it allowed non-absolute paths,\nwe\u0027d need to decide how to handle:\n - foo/bar      (relative to CWD?)\n - foo          (search PATH / LD_LIBRARY_PATH, or also relative to CWD?)\n - foo.zip!/bar (normalize_path() requires an absolute path)\n\nThe linker adjusts the argc/argv passed to main() and to constructor\nfunctions to hide the initial linker argument, but doesn\u0027t adjust the auxv\nvector or files like /proc/self/{exe,cmdline,auxv,stat}. Those files will\nreport that the kernel loaded the linker as an executable.\n\nI think the linker_logger.cpp change guarding against (g_argv \u003d\u003d NULL)\nisn\u0027t actually necessary, but it seemed like a good idea given that I\u0027m\ndelaying initialization of g_argv until after C++ constructors have run.\n\nBug: http://b/112050209\nTest: bionic unit tests\nChange-Id: I846faf98b16fd34218946f6167e8b451897debe5\n"
    },
    {
      "commit": "0bd2520fff24fa7c916987fbf308b4d4d4a5b2d7",
      "tree": "e2173ce90d91808306d78cc20c178a9ce4191300",
      "parents": [
        "af32e53777c09d3474d0280b5a371f22bcb7184b",
        "069d5aef90e1a322fb9e9ff7e922f8505fe81c8c"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Oct 10 13:51:03 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 10 13:51:03 2018 -0700"
      },
      "message": "Merge \"Block TIMER_SIGNAL in sigprocmask(SIG_SETMASK, ...).\"\nam: 069d5aef90\n\nChange-Id: I2da0d2b41f97a443798e6a4466d4226a740ec48e\n"
    },
    {
      "commit": "069d5aef90e1a322fb9e9ff7e922f8505fe81c8c",
      "tree": "e2173ce90d91808306d78cc20c178a9ce4191300",
      "parents": [
        "d3aa44f7e973374c5b0fdb83b5276da069289cae",
        "baf20fc9122740ff2baa34d28001e8bdfac9568c"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Oct 10 20:38:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 10 20:38:46 2018 +0000"
      },
      "message": "Merge \"Block TIMER_SIGNAL in sigprocmask(SIG_SETMASK, ...).\""
    },
    {
      "commit": "af32e53777c09d3474d0280b5a371f22bcb7184b",
      "tree": "682f2f1f8653f6790efe0df63ea3eebd44d67894",
      "parents": [
        "06ec50f08707201d85d942234a9fe2efdc3a6251",
        "d3aa44f7e973374c5b0fdb83b5276da069289cae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 10 10:01:12 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 10 10:01:12 2018 -0700"
      },
      "message": "Merge \"Add _SC_UIO_MAXIOV as a synonym for _SC_IOV_MAX.\"\nam: d3aa44f7e9\n\nChange-Id: Iefc3d62d42f838a7cdb37edf258b78e7b8b2d05e\n"
    },
    {
      "commit": "d3aa44f7e973374c5b0fdb83b5276da069289cae",
      "tree": "682f2f1f8653f6790efe0df63ea3eebd44d67894",
      "parents": [
        "cb8ed207d2bb6113a80fc7f27cd0beb8897f5192",
        "82ab481123c171d2029bb0a7767d649b576ee2f8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 10 16:40:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 10 16:40:46 2018 +0000"
      },
      "message": "Merge \"Add _SC_UIO_MAXIOV as a synonym for _SC_IOV_MAX.\""
    },
    {
      "commit": "baf20fc9122740ff2baa34d28001e8bdfac9568c",
      "tree": "8e6f717de9cef90828010497ef80ab454c0eb4c6",
      "parents": [
        "773c697f815d43182adf1eb430f4899255088d6b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 08 17:28:07 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Oct 09 16:27:22 2018 -0700"
      },
      "message": "Block TIMER_SIGNAL in sigprocmask(SIG_SETMASK, ...).\n\nPreviously, we were zeroing out the reserved signals, when we actually\nwanted to have TIMER_SIGNAL always be blocked, and the other signals\nalways be unblocked. This resulted in process termination when a\nSIGEV_THREAD timer callback calls sigprocmask(SIG_SETMASK, ...) with\nany signal mask value, and then subsequently fails to complete its\ncallback and reach the sigtimedwait in bionic before the next timer\niteration triggers.\n\nAdd a how argument to filter_reserved_signals to appropriately\nblock/unblock our reserved signals.\n\nBug: http://b/116783733\nTest: bionic-unit-tests32/64\nChange-Id: Ie5339682cdeb914711cd4089cd26ee395704d0df\n"
    },
    {
      "commit": "82ab481123c171d2029bb0a7767d649b576ee2f8",
      "tree": "3227b9e82293bb449edfb52e1c753a45e044a4fd",
      "parents": [
        "773c697f815d43182adf1eb430f4899255088d6b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 09 13:56:06 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 09 13:56:06 2018 -0700"
      },
      "message": "Add _SC_UIO_MAXIOV as a synonym for _SC_IOV_MAX.\n\nglibc and musl both have these as synonyms for one another, so we may\nas well do the same and get backwards compatibility on old OS releases.\n\nBug: N/A\nTest: ran tests\nChange-Id: I6bf38ea446560e1b11022ff539f07eb67c157049\n"
    },
    {
      "commit": "06ec50f08707201d85d942234a9fe2efdc3a6251",
      "tree": "00018fd10f34bd8ad4ba7d9f3e4ace9c48b218bb",
      "parents": [
        "adf9339e1a6c58f47df8b23826149a29f960bac7",
        "cb8ed207d2bb6113a80fc7f27cd0beb8897f5192"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 08 13:45:49 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 08 13:45:49 2018 -0700"
      },
      "message": "Merge changes I8c6b2d1d,I06e0f759,I95d79809\nam: cb8ed207d2\n\nChange-Id: I0b0a272d704788d3f21a0365e34f6b09a792529b\n"
    },
    {
      "commit": "cb8ed207d2bb6113a80fc7f27cd0beb8897f5192",
      "tree": "00018fd10f34bd8ad4ba7d9f3e4ace9c48b218bb",
      "parents": [
        "773c697f815d43182adf1eb430f4899255088d6b",
        "5de9a31c058dca200c8e11b17d7a78ee0b27699b"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 08 20:29:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 08 20:29:00 2018 +0000"
      },
      "message": "Merge changes I8c6b2d1d,I06e0f759,I95d79809\n\n* changes:\n  Add async_safe_format_fd_va_list\n  Fix normalize_path\u0027s handling of \"/..\"\n  linker: fix invalid zip file handling\n"
    },
    {
      "commit": "5de9a31c058dca200c8e11b17d7a78ee0b27699b",
      "tree": "00018fd10f34bd8ad4ba7d9f3e4ace9c48b218bb",
      "parents": [
        "269bb496c56dcf268831e02df035040162f30590"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Oct 02 18:13:28 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 08 13:27:16 2018 -0700"
      },
      "message": "Add async_safe_format_fd_va_list\n\nBug: none\nTest: bionic unit tests\nChange-Id: I8c6b2d1d118f4182dd7bf1cbfba78f20b3cefc79\n"
    },
    {
      "commit": "269bb496c56dcf268831e02df035040162f30590",
      "tree": "822f2f0cd22cfc397273ccca827414679e842b77",
      "parents": [
        "0adf09b3705c54733e46ace3b6cf08b78533729e"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Oct 04 14:45:55 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 08 13:27:16 2018 -0700"
      },
      "message": "Fix normalize_path\u0027s handling of \"/..\"\n\nCurrently it normalizes the path to a string with a single uninitialized\nbyte. It should instead normalize it to \"/\".\n\nBug: none\nTest: /data/nativetest/linker-unit-tests/linker-unit-tests32\nTest: /data/nativetest64/linker-unit-tests/linker-unit-tests64\nChange-Id: I06e0f7598d16acfa21875dad53efbc293cfeb44d\n"
    },
    {
      "commit": "0adf09b3705c54733e46ace3b6cf08b78533729e",
      "tree": "50df5c98cacf4f4619940196d1a3362fc6dd778e",
      "parents": [
        "773c697f815d43182adf1eb430f4899255088d6b"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 01 18:35:46 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 08 13:27:16 2018 -0700"
      },
      "message": "linker: fix invalid zip file handling\n\nThe argument to CloseArchive has type ZipArchiveHandle, but we\u0027re\npassing it a ZipArchiveHandle*. The compiler doesn\u0027t detect the type\nmismatch because ZipArchiveHandle is a typedef for void*.\n\nRemove a duplicate close() call:\n\nThe fourth argument to OpenArchiveFd is \"bool assume_ownership \u003d true\".\nEven if the function fails, ownership of the fd is still transferred to\na ZipArchive object that\u0027s deleted when this code calls CloseArchive.\n\nAFAIK, this code path is rarely or never hit.\n\nBug: none\nTest: manual (eventually, \u0027linker64 /system!/foo\u0027)\nChange-Id: I95d79809b6e118fb3c39c7b98b8055c8e324db1a\n"
    },
    {
      "commit": "adf9339e1a6c58f47df8b23826149a29f960bac7",
      "tree": "dd1a33e69ab50ac3a928d57092541ee8ee908dcf",
      "parents": [
        "ac59303f5eb3de5e606f4db6ecffda79bfaa31a3",
        "773c697f815d43182adf1eb430f4899255088d6b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 05 17:31:52 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 05 17:31:52 2018 -0700"
      },
      "message": "Merge \"\u003csys/param.h\u003e: pollute the namespace with \u003cendian.h\u003e.\"\nam: 773c697f81\n\nChange-Id: Ia39030966521ed2f9b90fda2417c1ba345f96cb7\n"
    },
    {
      "commit": "773c697f815d43182adf1eb430f4899255088d6b",
      "tree": "dd1a33e69ab50ac3a928d57092541ee8ee908dcf",
      "parents": [
        "9ebcb013b192a9f882a2c06f83b39c682be74a64",
        "00dda09c08a525db748348ff55e0ad1854605da8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 06 00:17:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 06 00:17:35 2018 +0000"
      },
      "message": "Merge \"\u003csys/param.h\u003e: pollute the namespace with \u003cendian.h\u003e.\""
    },
    {
      "commit": "00dda09c08a525db748348ff55e0ad1854605da8",
      "tree": "dd1a33e69ab50ac3a928d57092541ee8ee908dcf",
      "parents": [
        "9ebcb013b192a9f882a2c06f83b39c682be74a64"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 05 14:54:48 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 05 14:54:48 2018 -0700"
      },
      "message": "\u003csys/param.h\u003e: pollute the namespace with \u003cendian.h\u003e.\n\nglibc does, and autoconf relies on that for its AC_C_BIGENDIAN test.\n\nBug: N/A\nTest: N/A\nChange-Id: I3acaaf0d7a69e8ed4e64239e4fe7f21c7001e717\n"
    },
    {
      "commit": "ac59303f5eb3de5e606f4db6ecffda79bfaa31a3",
      "tree": "0a8443abe77338077b1ad2774f1f2c5e55ceceaf",
      "parents": [
        "0143ea885aeffd0bc1f5a7d03e3d72d40cf92715",
        "9ebcb013b192a9f882a2c06f83b39c682be74a64"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 05 14:17:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 05 14:17:13 2018 -0700"
      },
      "message": "Merge \"Another round of documentation.\"\nam: 9ebcb013b1\n\nChange-Id: I3b924ada853a96c6747b619087694bb81e63abaa\n"
    },
    {
      "commit": "9ebcb013b192a9f882a2c06f83b39c682be74a64",
      "tree": "0a8443abe77338077b1ad2774f1f2c5e55ceceaf",
      "parents": [
        "4b7c5cca7fbd0330cdfef41c97f1401824e78fba",
        "dd6763a6c677687ad06727af037ed9a7b018c773"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 05 21:04:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 05 21:04:15 2018 +0000"
      },
      "message": "Merge \"Another round of documentation.\""
    },
    {
      "commit": "dd6763a6c677687ad06727af037ed9a7b018c773",
      "tree": "51170c743639731a7e5a1a7540eb3f68870cb893",
      "parents": [
        "9df26193c8adc43a7ac1ba807e70d0b0772712c0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 04 16:35:13 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 04 16:35:13 2018 -0700"
      },
      "message": "Another round of documentation.\n\nBug: N/A\nTest: N/A\nChange-Id: I1b818fbb36ddd6d084dee56828290c2717a0c9b0\n"
    },
    {
      "commit": "0143ea885aeffd0bc1f5a7d03e3d72d40cf92715",
      "tree": "6d7b86223180ba5d986322d428a7c6f51ac48fd9",
      "parents": [
        "9617cdbbd89377824336e2beff8e0e358dacd7c0",
        "4b7c5cca7fbd0330cdfef41c97f1401824e78fba"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 04 15:48:27 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 04 15:48:27 2018 -0700"
      },
      "message": "Merge \"Add new parameter for creation of MapInfo object.\"\nam: 4b7c5cca7f\n\nChange-Id: I57bef03ec0ed044cce23a70bcd18a95bc20bbca9\n"
    },
    {
      "commit": "4b7c5cca7fbd0330cdfef41c97f1401824e78fba",
      "tree": "6d7b86223180ba5d986322d428a7c6f51ac48fd9",
      "parents": [
        "c15baefc0a8df3bc6fea4f0aedcbcb2e6803a6df",
        "6774cc5b9901097fcf9311e6cd91d0465919b77f"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 04 22:38:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 04 22:38:26 2018 +0000"
      },
      "message": "Merge \"Add new parameter for creation of MapInfo object.\""
    },
    {
      "commit": "9617cdbbd89377824336e2beff8e0e358dacd7c0",
      "tree": "e2c57d75f9e4b904deee80bac11c72ee32a21803",
      "parents": [
        "3be32dd4d81bac65b5794a510df24e5563e39ac6",
        "c15baefc0a8df3bc6fea4f0aedcbcb2e6803a6df"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Oct 04 15:24:55 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 04 15:24:55 2018 -0700"
      },
      "message": "Merge \"Exclude libclang_rt.builtins symbols\"\nam: c15baefc0a\n\nChange-Id: Iae6bce757afef1b7fe0f564d1d9b3ae1fef05d20\n"
    },
    {
      "commit": "c15baefc0a8df3bc6fea4f0aedcbcb2e6803a6df",
      "tree": "e2c57d75f9e4b904deee80bac11c72ee32a21803",
      "parents": [
        "9df26193c8adc43a7ac1ba807e70d0b0772712c0",
        "7786a344ce17e8f065952afddebb1141f34c43f5"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Oct 04 22:09:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 04 22:09:55 2018 +0000"
      },
      "message": "Merge \"Exclude libclang_rt.builtins symbols\""
    },
    {
      "commit": "6774cc5b9901097fcf9311e6cd91d0465919b77f",
      "tree": "78d4b889ec421cf2282d2441e6378ce9b670cb11",
      "parents": [
        "9df26193c8adc43a7ac1ba807e70d0b0772712c0"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 04 08:41:10 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 04 08:41:10 2018 -0700"
      },
      "message": "Add new parameter for creation of MapInfo object.\n\nBug: 109657296\n\nTest: Unit tests pass.\nChange-Id: Ie33b50234fa9ba2c5107c3eb0da36a466bba1589\n"
    },
    {
      "commit": "7786a344ce17e8f065952afddebb1141f34c43f5",
      "tree": "11e9a7fc05da7f939b18e27d6570888682cd50b6",
      "parents": [
        "fc85c3c8476fe2490b027840994db4ff009631e0"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Fri Aug 31 19:01:56 2018 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Oct 03 10:07:13 2018 +0000"
      },
      "message": "Exclude libclang_rt.builtins symbols\n\nSimilar to libgcc, libclang_rt.builtins symbols need to be excluded.\n\nBug: 29275768\nChange-Id: Iaf7381de3b4dbd92997abd03667dea0baaab98e1\n"
    },
    {
      "commit": "3be32dd4d81bac65b5794a510df24e5563e39ac6",
      "tree": "06cc2d9f3d16aa0c0e589aa93304c00e27e17dc5",
      "parents": [
        "f9740e3a0258daa399f5d6aae3d16c8f79c38b55",
        "9df26193c8adc43a7ac1ba807e70d0b0772712c0"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 02 12:35:07 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 02 12:35:07 2018 -0700"
      },
      "message": "Merge \"Work around bugprone-exception-escape bug.\"\nam: 9df26193c8\n\nChange-Id: I7543b92207d3733b902c371d155c2e245098fc12\n"
    },
    {
      "commit": "9df26193c8adc43a7ac1ba807e70d0b0772712c0",
      "tree": "06cc2d9f3d16aa0c0e589aa93304c00e27e17dc5",
      "parents": [
        "8d63ae128fd3e28cabc32528b92666e2c0b73e32",
        "153b71c4073e9512e8315673cdbd835b0646af87"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 02 18:30:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 02 18:30:31 2018 +0000"
      },
      "message": "Merge \"Work around bugprone-exception-escape bug.\""
    },
    {
      "commit": "f9740e3a0258daa399f5d6aae3d16c8f79c38b55",
      "tree": "eaff6ffe9847c60da40aa910c607824c017efb45",
      "parents": [
        "6cbef9fb51e1905674c7755052835ff6813e96ed",
        "8d63ae128fd3e28cabc32528b92666e2c0b73e32"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 02 10:12:04 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 02 10:12:04 2018 -0700"
      },
      "message": "Merge \"Make fclose/pclose distinct.\"\nam: 8d63ae128f\n\nChange-Id: I7842485e03f0867544b494602a0f5a276d06135b\n"
    },
    {
      "commit": "8d63ae128fd3e28cabc32528b92666e2c0b73e32",
      "tree": "eaff6ffe9847c60da40aa910c607824c017efb45",
      "parents": [
        "928ce8eb645977d2fd3478e1e00789eaabb76d0a",
        "22917f63ee9ff25f629167b4a54f7d8be37da505"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 02 16:57:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 02 16:57:11 2018 +0000"
      },
      "message": "Merge \"Make fclose/pclose distinct.\""
    }
  ],
  "next": "6cbef9fb51e1905674c7755052835ff6813e96ed"
}
