)]}'
{
  "log": [
    {
      "commit": "6aaa227f74031ee461c7ce5b7a2a262397e866b2",
      "tree": "6f08e2d4c0270c6d47601d7cc9fb6421cdf20edc",
      "parents": [
        "c2828b87ec1066dfceb873532ef6cae7b64c2901",
        "00fedf5879176d580aa7e9c4fdc820a6f9655033"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 10 20:20:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 10 20:20:53 2017 +0000"
      },
      "message": "Merge \"Undo recent _FILE_OFFSET_BITS\u003d64 changes.\""
    },
    {
      "commit": "c2828b87ec1066dfceb873532ef6cae7b64c2901",
      "tree": "0402071d3ab858220e409dd781942913800fa861",
      "parents": [
        "ddefae7ba92c40d60f2401e010e7789bee6f260d",
        "8f5608b614b7908f4edde20a5461e46d4b080d9a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 10 20:07:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 10 20:07:01 2017 +0000"
      },
      "message": "Merge \"Fix ffs on x86 for old API levels.\""
    },
    {
      "commit": "00fedf5879176d580aa7e9c4fdc820a6f9655033",
      "tree": "4924ca943550aff0904589800ab34b8ae9993b55",
      "parents": [
        "f45bc14d5497c30bd43e22d025e3b88812b2baa4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 15:23:50 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 10 19:52:18 2017 +0000"
      },
      "message": "Undo recent _FILE_OFFSET_BITS\u003d64 changes.\n\nWe had several bugs filed saying \"if I set _FILE_OFFSET_BITS\u003d64 when\ntargeting an API \u003c L, various functions are missing\". Instead of\nsaying \"yes, they are\", we quietly just modified the header files to\nexpose the non-64-bit variants. This makes no sense. We can\u0027t just say\n\"oh, yeah, we don\u0027t have a version of this function that agrees with\nyour calling code about how large off_t is, but here\u0027s a version that\ndoesn\u0027t: I\u0027m sure it\u0027ll be fine\".\n\n_FILE_OFFSET_BITS\u003d64 on Android LP32 has always been a game of chance,\nbut that game should be \"are all the functions my code needs available\nat compile time?\", not \"will my code actually work at run time?\".\n\nBug: https://github.com/android-ndk/ndk/issues/449\nBug: https://github.com/android-ndk/ndk/issues/442\nBug: https://github.com/android-ndk/ndk/issues/333\nBug: https://github.com/android-ndk/ndk/issues/332\nBug: https://github.com/android-ndk/ndk/issues/324\nTest: builds\nChange-Id: Ib095251d3e21e77ed50cc3575388107fecec4ecd\n"
    },
    {
      "commit": "ddefae7ba92c40d60f2401e010e7789bee6f260d",
      "tree": "17610127083f779e48bb9f0798c11a0fc435ae1c",
      "parents": [
        "6c716a155df1c25ddc8e48f8bf29163b9a58441c",
        "e925418bddd68ffeee089068b2c18e405aab196d"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Fri Jul 07 20:07:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 07 20:07:20 2017 +0000"
      },
      "message": "Merge \"Disable integer_overflow sanitizer in libm.\""
    },
    {
      "commit": "6c716a155df1c25ddc8e48f8bf29163b9a58441c",
      "tree": "28cd6d7e0fd27079ea6d9c91c22e22a1304dc0c6",
      "parents": [
        "1de6d0bb8a003f8d3b30948029a264a28d59fe9d",
        "8d307c9a302c5a8fb985d1ed29862bec77aaf7c8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 06 22:33:42 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 22:33:42 2017 +0000"
      },
      "message": "Merge \"Support building binutils out of the box for x86/x86-64.\""
    },
    {
      "commit": "1de6d0bb8a003f8d3b30948029a264a28d59fe9d",
      "tree": "99bd6618c8cc9655b19a8aae88bba64c28516a18",
      "parents": [
        "0ff813fb484662feed81d17c2baa21e08f003f31",
        "02fdd0570e6246381adc2d8ff9c9a990f5b79506"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 06 22:20:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 22:20:34 2017 +0000"
      },
      "message": "Merge \"Make \u003csys/ttydefaults.h\u003e more usable.\""
    },
    {
      "commit": "e925418bddd68ffeee089068b2c18e405aab196d",
      "tree": "dc27afd739c4d49da69d16261fd82b5b438f6824",
      "parents": [
        "0ff813fb484662feed81d17c2baa21e08f003f31"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Jul 06 13:54:56 2017 -0700"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Jul 06 15:17:54 2017 -0700"
      },
      "message": "Disable integer_overflow sanitizer in libm.\n\nExplicitly disables the integer_overflow sanitizer in the libm library.\nThis change should not impact any other build targets.\n\nBug: 30969751\nTest: Built with and without SANITIZE_TARGET\u003dinteger_overflow\nChange-Id: I98d0312344086b01394f456d4b953463b5e6cb1a\n"
    },
    {
      "commit": "0ff813fb484662feed81d17c2baa21e08f003f31",
      "tree": "dc477b3b757651e72133c56269a2e08cf97a5943",
      "parents": [
        "4ceefe27e7c6d936595fd447fe0b7b96349c83c2",
        "02a3fe9fc6b5197f5b57487f1f735fb7136347ec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 06 22:15:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 22:15:04 2017 +0000"
      },
      "message": "Merge \"Update \u003carpa/*\u003e from FreeBSD.\""
    },
    {
      "commit": "4ceefe27e7c6d936595fd447fe0b7b96349c83c2",
      "tree": "bce51223d82de3ff7d386781cd017e159028c853",
      "parents": [
        "10c836fe082f0c9196a809816d9c26a90d989f68",
        "964564d2904a7ee31fdbe4302d2d5f9700a9ceb6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 06 21:22:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 21:22:20 2017 +0000"
      },
      "message": "Merge \"Claim to have a POSIX shell and utilities.\""
    },
    {
      "commit": "10c836fe082f0c9196a809816d9c26a90d989f68",
      "tree": "666a92a40b0a6d9d47c04b70b5c3df45526b887d",
      "parents": [
        "913ae7339568554b6d88061940036a09acc6fbed",
        "9d2507205e705491b6cf278db55c2bfeaf6407a4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 06 21:21:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 21:21:20 2017 +0000"
      },
      "message": "Merge \"Conditionally expose splice(2) and sync_file_range(2) constants.\""
    },
    {
      "commit": "913ae7339568554b6d88061940036a09acc6fbed",
      "tree": "eabc08e9c05a13bdd9696f8e49921368488ea79e",
      "parents": [
        "9d2d21d6367442c93c6375e621ac1eca29019e3d",
        "0af3e8febd747827d959aa95501a8db4dbdb9db4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 06 21:15:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 21:15:35 2017 +0000"
      },
      "message": "Merge \"Fix \u003cdirent.h\u003e d_ino/d_off types.\""
    },
    {
      "commit": "8d307c9a302c5a8fb985d1ed29862bec77aaf7c8",
      "tree": "90740cabd732429477830313decd9e3b9c5d7058",
      "parents": [
        "f45bc14d5497c30bd43e22d025e3b88812b2baa4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 06 11:04:15 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 06 11:10:01 2017 -0700"
      },
      "message": "Support building binutils out of the box for x86/x86-64.\n\nx86 needs the \u003csys/user.h\u003e additions, x86-64 the \u003csys/procfs.h\u003e ones.\n\nBug: N/A\nTest: ndkports x86 and x86_64 binutils-2.28\nChange-Id: I2e4738d3f8343d12db0536ca77045e2a0ccc6596\n"
    },
    {
      "commit": "02fdd0570e6246381adc2d8ff9c9a990f5b79506",
      "tree": "6e3ec64e7a3b24062f097f7d9e456e2f070de2a8",
      "parents": [
        "f45bc14d5497c30bd43e22d025e3b88812b2baa4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 06 10:33:15 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 06 10:33:15 2017 -0700"
      },
      "message": "Make \u003csys/ttydefaults.h\u003e more usable.\n\n* TTYDEF_OFLAG referred to the BSD OXTABS constant instead of the Linux XTABS,\n  so references to it wouldn\u0027t compile.\n\n* CEOL was incorrect (compared to `stty -a`).\n\n* ttydefchars wouldn\u0027t compile (removed rather than attempt to fix something\n  of unclear utility).\n\nBug: http://b/63145226\nTest: new test\nChange-Id: I823e5eaab789cafd2eeea03f77ea553346822f74\n"
    },
    {
      "commit": "9d2d21d6367442c93c6375e621ac1eca29019e3d",
      "tree": "4727279985a74c82bd530ef2e3d95ee19a545ec8",
      "parents": [
        "7b7475ce855ffa5e54ebfe029f309b76e81155e2",
        "f9abbf69838bd8649d51fe3b8b6550fc14462757"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jul 06 15:16:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 15:16:03 2017 +0000"
      },
      "message": "Merge \"The ifdef check for AT_SYSINFO_EHDR is no longer needed\""
    },
    {
      "commit": "7b7475ce855ffa5e54ebfe029f309b76e81155e2",
      "tree": "e34e30f17b3bede84c1ca5120ac26d91a1c8058d",
      "parents": [
        "f45bc14d5497c30bd43e22d025e3b88812b2baa4",
        "b9797fe91c77d149e82f13734b6b15d386daa610"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 06 14:48:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 06 14:48:01 2017 +0000"
      },
      "message": "Merge \"Bionic: Add ziparchive test dependency\""
    },
    {
      "commit": "f9abbf69838bd8649d51fe3b8b6550fc14462757",
      "tree": "7187cf993ac1fd8e9ef586aa3089aebc055af72d",
      "parents": [
        "f45bc14d5497c30bd43e22d025e3b88812b2baa4"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu Jul 06 12:17:14 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu Jul 06 12:24:33 2017 +0200"
      },
      "message": "The ifdef check for AT_SYSINFO_EHDR is no longer needed\n\nAT_SYSINFO_EHDR is present in all architectures\n\nTest: make\nChange-Id: I0f4c115bb48e47ea156e7fca936960f5f10c618e\n"
    },
    {
      "commit": "b9797fe91c77d149e82f13734b6b15d386daa610",
      "tree": "e34e30f17b3bede84c1ca5120ac26d91a1c8058d",
      "parents": [
        "f45bc14d5497c30bd43e22d025e3b88812b2baa4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 05 22:36:20 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 05 22:36:20 2017 -0700"
      },
      "message": "Bionic: Add ziparchive test dependency\n\nAdd missing dependency.\n\nBug: 37342627\nTest: m\ntest: mmma bionic\nChange-Id: I43ae69a007f0e8745db5721296f457b3e58206dd\n"
    },
    {
      "commit": "964564d2904a7ee31fdbe4302d2d5f9700a9ceb6",
      "tree": "557d418cda6b930f3667d63e1695f59f4b4a4a6c",
      "parents": [
        "f45bc14d5497c30bd43e22d025e3b88812b2baa4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 16:45:55 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 16:45:55 2017 -0700"
      },
      "message": "Claim to have a POSIX shell and utilities.\n\nWe pretty much do these days. And apparently some GNU tools turn on obsolete\nbackwards-compatible behaviors otherwise.\n\nBug: http://b/63145226\nTest: builds\nChange-Id: I9a8af860768cc2c10548f172d1e8b4fba3e5115b\n"
    },
    {
      "commit": "02a3fe9fc6b5197f5b57487f1f735fb7136347ec",
      "tree": "ad489a68f007065803f2e86112488c1a329eeefa",
      "parents": [
        "f45bc14d5497c30bd43e22d025e3b88812b2baa4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 15:51:44 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 16:03:59 2017 -0700"
      },
      "message": "Update \u003carpa/*\u003e from FreeBSD.\n\nWe\u0027ve had \u003carpa/telnet.h\u003e for years, despite being slightly more useless\nthan \u003carpa/ftp.h\u003e and \u003carpa/tftp.h\u003e. The inetutils package expects these\nto be available.\n\nBug: http://b/63145226\nTest: builds\nChange-Id: I1e3c7421779e965b3342d681fefb8dc2561b604d\n"
    },
    {
      "commit": "9d2507205e705491b6cf278db55c2bfeaf6407a4",
      "tree": "65e13797c27dbe164f1e3b57c38506ff848e9710",
      "parents": [
        "f45bc14d5497c30bd43e22d025e3b88812b2baa4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 15:59:58 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 15:59:58 2017 -0700"
      },
      "message": "Conditionally expose splice(2) and sync_file_range(2) constants.\n\nAs in other places, only expose the constants at API levels where\nwe\u0027re also exposing the functions (to cope with \"poor man\u0027s configure\"\nwhere an author assumes the presence of the #define to imply the\navailability of the function).\n\nBug: http://b/63145226\nTest: builds\nChange-Id: I524f7288513aa6c35479c550e748a619397929b0\n"
    },
    {
      "commit": "0af3e8febd747827d959aa95501a8db4dbdb9db4",
      "tree": "a5f4caad345e0bd3c4c19c2dadb63b95e41d99f8",
      "parents": [
        "f45bc14d5497c30bd43e22d025e3b88812b2baa4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 12:34:29 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 12:34:29 2017 -0700"
      },
      "message": "Fix \u003cdirent.h\u003e d_ino/d_off types.\n\nBug: http://b/63336806\nTest: builds\nChange-Id: I781e7c66c41bcb772d49ce7c23aab185ddd5da1e\n"
    },
    {
      "commit": "f45bc14d5497c30bd43e22d025e3b88812b2baa4",
      "tree": "06dffdb7fb9583075664c19875bf497f086dbfe7",
      "parents": [
        "d09f3b67a38d9431e0d248609b427297a0f6e3f7",
        "79dd9889d1701dda881bb383b212932fcf2ff25f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Jul 01 15:48:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 01 15:48:58 2017 +0000"
      },
      "message": "Merge \"Work around missing _Exit in old API levels.\""
    },
    {
      "commit": "8f5608b614b7908f4edde20a5461e46d4b080d9a",
      "tree": "be5a6b6140467c0a9eaf3b7397b5fbac92fe3a64",
      "parents": [
        "e202036e0377a578f2ae9ba3b5610c7763e5ab9d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 30 15:57:59 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 30 17:50:44 2017 -0700"
      },
      "message": "Fix ffs on x86 for old API levels.\n\n\u003cstrings.h\u003e\u0027s ffs used to work by accident. In the past, \u003cstrings.h\u003e used\nto incorrectly declare ffs for all platforms at all API levels. In the\nunified headers, there\u0027s no such declaration for x86 before API 18 (which\nmakes sense, because that function was missing on x86 until then).\n\nBut as long as there was a declaration for ffs, the compiler just inlined\n__builtin_ffs. There was no problem at link time because the compiler didn\u0027t\nactually add a reference to the missing ffs symbol.\n\nRestore the old behavior by manually instructing the compiler to inline its\nbuiltin in these cases.\n\nBug: https://github.com/android-ndk/ndk/issues/439\nTest: built new NDK \u0027ffs\u0027 test\nChange-Id: I840e99f237c86f7cb028a0f67aaa8c6ff3eda245\n"
    },
    {
      "commit": "79dd9889d1701dda881bb383b212932fcf2ff25f",
      "tree": "7a62a624475160459be01edcdf301153cb7476be",
      "parents": [
        "e202036e0377a578f2ae9ba3b5610c7763e5ab9d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 30 16:39:25 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 30 16:39:25 2017 -0700"
      },
      "message": "Work around missing _Exit in old API levels.\n\nRather than do this in libandroid_support, we may as well just stick it with\nthe other historical stdlib workarounds in bionic itself...\n\nBug: N/A\nTest: built new NDK test\nChange-Id: Ia5cf4010581eb79d4adf924e87d0bc050b9e2839\n"
    },
    {
      "commit": "d09f3b67a38d9431e0d248609b427297a0f6e3f7",
      "tree": "1c170d31fee3926cd45e10cedb0d4c56a0c269a4",
      "parents": [
        "1378c8710d7a819478eb09f080b74f149b0f146f",
        "16d9ba808b64a2af8a10b5710bea7c4b63e989db"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 30 22:33:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 30 22:33:27 2017 +0000"
      },
      "message": "Merge \"Add version info for C++ versions of basename, strchrnul.\""
    },
    {
      "commit": "16d9ba808b64a2af8a10b5710bea7c4b63e989db",
      "tree": "2b4a0a99224c3bcadb1baaf8c5e66181513a4b00",
      "parents": [
        "291e895b37767b71f4e41e455abc7fc7e471bec4"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jun 30 13:20:28 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jun 30 13:21:25 2017 -0700"
      },
      "message": "Add version info for C++ versions of basename, strchrnul.\n\nThese still won\u0027t get guards added by the preprocessor, because it\ncompiles with C-only.\n\nBug: https://github.com/android-ndk/ndk/issues/440\nTest: treehugger\nChange-Id: I893b345e528ed1b761e0db00700037411bbb8b78\n"
    },
    {
      "commit": "1378c8710d7a819478eb09f080b74f149b0f146f",
      "tree": "8f395380812d1e7fe526834e9713041f30bdcbb1",
      "parents": [
        "e202036e0377a578f2ae9ba3b5610c7763e5ab9d",
        "ea3df0c52b6ebe5e24f2d36259d97fd06f8e8a1a"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Fri Jun 30 01:10:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 30 01:10:10 2017 +0000"
      },
      "message": "Merge \"Revert \"arm64: expand CFI shadow to cover 48-bit virtual addresses\"\""
    },
    {
      "commit": "ea3df0c52b6ebe5e24f2d36259d97fd06f8e8a1a",
      "tree": "09f7a5f2644cc262e0b5c8e426e30480524a56a4",
      "parents": [
        "ae735163e51fbc7cac4217ce392c4894efdfc5a7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 29 23:48:43 2017 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 29 23:48:43 2017 +0000"
      },
      "message": "Revert \"arm64: expand CFI shadow to cover 48-bit virtual addresses\"\n\nThis reverts commit ae735163e51fbc7cac4217ce392c4894efdfc5a7.\n\nQA claims this causes:\n\n  AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method \u0027void android.media.MediaPlayer.setSurface(android.view.Surface)\u0027 on a null object reference\n  AndroidRuntime:        at com.android.setupwizardlib....\n\nBug: http://b/63141434\nChange-Id: I05a6849471623d4cde8b254b1020b0ccbd84b699\n"
    },
    {
      "commit": "e202036e0377a578f2ae9ba3b5610c7763e5ab9d",
      "tree": "b247bf95124489af0ff9393f0242436c2de2af7a",
      "parents": [
        "03c379971e3e7a5bc21c99828e2cb9abaf5f7d9d",
        "705910094d07ddfc5a3b7a4baab58b0a94bcc691"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 29 16:27:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 29 16:27:52 2017 +0000"
      },
      "message": "Merge \"bionic: fix assorted static analyzer warnings\""
    },
    {
      "commit": "03c379971e3e7a5bc21c99828e2cb9abaf5f7d9d",
      "tree": "63e64bfe2ea9689d27d54aa1405c63938d175e5f",
      "parents": [
        "fa21a8040747da164832a5e948087a455432a3b7",
        "ae735163e51fbc7cac4217ce392c4894efdfc5a7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 29 15:23:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 29 15:23:32 2017 +0000"
      },
      "message": "Merge \"arm64: expand CFI shadow to cover 48-bit virtual addresses\""
    },
    {
      "commit": "fa21a8040747da164832a5e948087a455432a3b7",
      "tree": "f8e10997036f20e2fb7aa75aa5a8fdf66b142720",
      "parents": [
        "291e895b37767b71f4e41e455abc7fc7e471bec4",
        "c2ce12046c74613da2c41e1cce876db6ce81d4a9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 29 00:39:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 29 00:39:30 2017 +0000"
      },
      "message": "Merge \"Put back more legacy pthread APIs.\""
    },
    {
      "commit": "705910094d07ddfc5a3b7a4baab58b0a94bcc691",
      "tree": "f503093f7f1675566233ac00bda745b8a9bcf714",
      "parents": [
        "82d746fb39465e78088aeb11a5dc178cf264d0c0"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Jun 27 16:23:45 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Jun 28 15:03:15 2017 -0700"
      },
      "message": "bionic: fix assorted static analyzer warnings\n\nWarnings:\n\nbionic/libc/bionic/fts.c:722:5: warning: Null passed to a callee that\nrequires a non-null 1st parameter\n\nbionic/libc/bionic/sched_cpualloc.c:34:25: warning: Result of \u0027malloc\u0027\nis converted to a pointer of type \u0027cpu_set_t\u0027, which is incompatible\nwith sizeof operand type \u0027unsigned long\u0027\n\nbionic/linker/linker_main.cpp:315:7: warning: Access to field \u0027e_type\u0027\nresults in a dereference of a null pointer (loaded from variable\n\u0027elf_hdr\u0027)\n\nbionic/linker/linker_main.cpp:493:66: warning: Access to field \u0027e_phoff\u0027\nresults in a dereference of a null pointer (loaded from variable\n\u0027elf_hdr\u0027)\n\nbionic/linker/linker_main.cpp:90:14: warning: Access to field \u0027next\u0027\nresults in a dereference of a null pointer (loaded from variable \u0027prev\u0027)\n\nBug: None\nTest: mma; analyzer warnings are gone. CtsBionicTestCases pass.\nChange-Id: I699a60c2c6f64c50b9ea06848a680c98a8abb44a\n"
    },
    {
      "commit": "ae735163e51fbc7cac4217ce392c4894efdfc5a7",
      "tree": "d027f46d4838854ef14d5310e0791ad633042e49",
      "parents": [
        "291e895b37767b71f4e41e455abc7fc7e471bec4"
      ],
      "author": {
        "name": "Kevin Brodsky",
        "email": "kevin.brodsky@linaro.org",
        "time": "Mon Jun 26 11:46:02 2017 +0100"
      },
      "committer": {
        "name": "Kevin Brodsky",
        "email": "kevin.brodsky@linaro.org",
        "time": "Wed Jun 28 14:42:05 2017 +0100"
      },
      "message": "arm64: expand CFI shadow to cover 48-bit virtual addresses\n\nStarting from Linux 4.7, arm64\u0027s defconfig enables 48-bit VAs, see:\nhttps://git.kernel.org/torvalds/c/211102d8\n\nOn arm64, the CFI shadow configuration currently assumes that VAs\nare 39-bit long, and as expected this results in a segfault on a\n(defconfig) 4.7+ kernel, when linking a CFI-enabled library.\n\nConsequently, this change increases the max target address to\naccount for the new max VA size.\n\nChange-Id: I3fb808563fa77a457c65e9663da0613117332072\n"
    },
    {
      "commit": "291e895b37767b71f4e41e455abc7fc7e471bec4",
      "tree": "09f7a5f2644cc262e0b5c8e426e30480524a56a4",
      "parents": [
        "82d746fb39465e78088aeb11a5dc178cf264d0c0",
        "db6ab3d5ecfe9934cb91a09bc4ccdbf2d15b49fc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 27 19:46:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 27 19:46:30 2017 +0000"
      },
      "message": "Merge \"Enable dlfcn.dt_runpath_absolute_path in glibc tests\""
    },
    {
      "commit": "db6ab3d5ecfe9934cb91a09bc4ccdbf2d15b49fc",
      "tree": "09f7a5f2644cc262e0b5c8e426e30480524a56a4",
      "parents": [
        "82d746fb39465e78088aeb11a5dc178cf264d0c0"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jun 27 11:02:51 2017 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jun 27 11:02:51 2017 -0700"
      },
      "message": "Enable dlfcn.dt_runpath_absolute_path in glibc tests\n\ndlfcn.dt_runpath_absolute_path no longer fails when\nrunning bionic-unit-tests on glibc\n\nBug: http://b/25320359\nTest: bionic-unit-tests-glibc --gtest_filter\u003ddlfcn.dt*\nChange-Id: Ia0ecf43293cb0fed28516fd8cb87e7f5f2d6e648\n"
    },
    {
      "commit": "82d746fb39465e78088aeb11a5dc178cf264d0c0",
      "tree": "fc3d3f25a8d30dd78e1ab4fce11a5f869aef6b6b",
      "parents": [
        "8916a91eb358ba6bf3b29c23d350454671382599",
        "076b8d75bec2500bac5fc5182859732439adc29f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 23 17:39:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 23 17:39:07 2017 +0000"
      },
      "message": "Merge \"Expand Seccomp whitelist\""
    },
    {
      "commit": "076b8d75bec2500bac5fc5182859732439adc29f",
      "tree": "fc3d3f25a8d30dd78e1ab4fce11a5f869aef6b6b",
      "parents": [
        "8916a91eb358ba6bf3b29c23d350454671382599"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Jun 23 08:10:18 2017 -0700"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Jun 23 16:50:04 2017 +0000"
      },
      "message": "Expand Seccomp whitelist\n\nThis seccomp failure is in the fault handler:\n\n05-25 12:03:25.042 10201 27425 27425 F DEBUG   : backtrace:\n05-25 12:03:25.042 10201 27425 27425 F DEBUG   :     #00 pc 00015380\n/data/data/redacted/files/storage/lib/libcrashsdk.so\n\nSo whenever an app using this crash sdk crashes it looks like a seccomp\nproblem.  Fixing this won\u0027t stop the apps crashing, but will make the\ncrash reports accurate and useful.\n\nSo yes, the bug below is already fixed, but this issue has come back 2\nor 3 times with different apps (latest is b/62874867). This change\ndoesn\u0027t fix that crash either, but again it improves the reporting.\n\nBug: 62090571\nTest: Device boots, app still fails but no longer with SECCOMP error\nChange-Id: Ie0f8dc965001c8bc43f6a545b35bdcd38f006213\n"
    },
    {
      "commit": "8916a91eb358ba6bf3b29c23d350454671382599",
      "tree": "448ba477270d7271df63c317820cf80552db9d69",
      "parents": [
        "814e3a2b31703400ae5d1ee5fcb96e87013d0794",
        "c45b5881121f9c3af50af3f76113b09d0144f60d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 23 01:39:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 23 01:39:07 2017 +0000"
      },
      "message": "Merge \"Whitelist __NR__newselect.\""
    },
    {
      "commit": "c45b5881121f9c3af50af3f76113b09d0144f60d",
      "tree": "a6922595e0de98f496e7a79ca6bd761c236f2c6f",
      "parents": [
        "4f61181428ec68c2e87610829ea6a06be7eb3a4e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jun 22 16:46:19 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jun 22 16:47:08 2017 -0700"
      },
      "message": "Whitelist __NR__newselect.\n\nBug: http://b/62779795\nTest: treehugger\nChange-Id: I3e0279385641d4f06fcdeb955819a01c12c5229e\n"
    },
    {
      "commit": "c2ce12046c74613da2c41e1cce876db6ce81d4a9",
      "tree": "7213dde24b5fe04067e665f0e8524f2eb95a887d",
      "parents": [
        "814e3a2b31703400ae5d1ee5fcb96e87013d0794"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jun 22 12:40:55 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jun 22 12:52:17 2017 -0700"
      },
      "message": "Put back more legacy pthread APIs.\n\nTest: make checkbuild\nBug: https://github.com/android-ndk/ndk/issues/423\nBug: https://stackoverflow.com/q/44580542/632035\nChange-Id: Ibf52a969afffbfcdf6793a0bf8b0e10bbdd1f32c\n"
    },
    {
      "commit": "814e3a2b31703400ae5d1ee5fcb96e87013d0794",
      "tree": "44fb71a2252acb9f4c024eb779b6283b87ba2cc3",
      "parents": [
        "d411524609186dc6b243156e4df43617ab33d0f4",
        "f4b1cbda4a6fa15b0223b952a343f87523b8578d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 22 01:40:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 22 01:40:06 2017 +0000"
      },
      "message": "Merge \"Disable stack protector for __libc_preinit\""
    },
    {
      "commit": "f4b1cbda4a6fa15b0223b952a343f87523b8578d",
      "tree": "44fb71a2252acb9f4c024eb779b6283b87ba2cc3",
      "parents": [
        "d411524609186dc6b243156e4df43617ab33d0f4"
      ],
      "author": {
        "name": "Stephen Crane",
        "email": "sjc@immunant.com",
        "time": "Tue May 09 14:27:43 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 21 23:53:46 2017 +0000"
      },
      "message": "Disable stack protector for __libc_preinit\n\n__libc_preinit sets up the stack protector global cookie value, and thus\ncannot intialize a stack protector cookie for itself in the function\nprologue. LTO compilation can inline functions requiring a stack\nprotector into __libc_preinit. This patch disables stack protection for\n__libc_preinit and forces all potentially inlined functions into a\nhelper that can have a stack protector.\n\nTest: run bionic-unit-tests\n\nChange-Id: I45911611190f216c91eb6feff722967214c5f99f\n"
    },
    {
      "commit": "d411524609186dc6b243156e4df43617ab33d0f4",
      "tree": "a9620a83744ebd50f711883109918f5733823fbd",
      "parents": [
        "e300bf837f1f10bc6020bbb81ed9c5f8b85310ce",
        "695713e931f0436aca56be9c0dacf2a5dd4e56e7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 21 15:09:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 15:09:55 2017 +0000"
      },
      "message": "Merge \"Shave a stack frame off asserts.\""
    },
    {
      "commit": "695713e931f0436aca56be9c0dacf2a5dd4e56e7",
      "tree": "a9620a83744ebd50f711883109918f5733823fbd",
      "parents": [
        "e300bf837f1f10bc6020bbb81ed9c5f8b85310ce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 20 17:28:42 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 20 17:28:42 2017 -0700"
      },
      "message": "Shave a stack frame off asserts.\n\nNo-one cares about seeing \"async_safe_fatal\" (which you have to admit is a\npretty confusing name for an app developer anyway).\n\nOn arm:\n\n     #00 pc 0001a43c  /system/lib/libc.so (abort+63)\n     #01 pc 0001a627  /system/lib/libc.so (__assert+14)\n\nAnd aarch64:\n\n     #00 pc 000000000001d75c  /system/lib64/libc.so (abort+120)\n     #01 pc 000000000001dad0  /system/lib64/libc.so (__assert+44)\n\nBug: N/A\nTest: ran `crasher assert` and `crasher64 assert`\nChange-Id: I00be71c566c74cdb00f8e95d634777155bc3da03\n"
    },
    {
      "commit": "e300bf837f1f10bc6020bbb81ed9c5f8b85310ce",
      "tree": "debd017e3bd249d12b9cc541caa5b2f1b720182c",
      "parents": [
        "c5f3dc16119667c122f2c4e4765d3ffa3f611ce4",
        "d7c52625f2da8322b4f0adb4c67674f0d66e619a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 21 00:20:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 00:20:36 2017 +0000"
      },
      "message": "Merge \"Shave another uninteresting stack frame off aborts.\""
    },
    {
      "commit": "d7c52625f2da8322b4f0adb4c67674f0d66e619a",
      "tree": "a885e0530cb1a26a5a1fd0dee7477ef02dcb4833",
      "parents": [
        "b1b7eda11e4f66b608ae66945ddf87cbe31ecb47"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 20 14:26:56 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 20 14:58:16 2017 -0700"
      },
      "message": "Shave another uninteresting stack frame off aborts.\n\nWith this, stack frame 0 is the abort, not tgkill.\n\narm:\n\n     #00 pc 0001a41c  /system/lib/libc.so (abort+63)\n\narm64:\n\n     #00 pc 000000000001d75c  /system/lib64/libc.so (abort+120)\n\nAlso \"include what you use\" for \u003csys/syscall.h\u003e.\n\nBug: N/A\nTest: ran `crasher abort` and `crasher64 abort`\nChange-Id: I6517ac67b39b4133e890d52efc115071c812958b\n"
    },
    {
      "commit": "c5f3dc16119667c122f2c4e4765d3ffa3f611ce4",
      "tree": "375a4ba598cff0952c0c20cb948164d636561c55",
      "parents": [
        "b1b7eda11e4f66b608ae66945ddf87cbe31ecb47",
        "f9f9a5d76c6af498320ad4e9eff5fddcd52dc399"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 20 10:35:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 20 10:35:54 2017 +0000"
      },
      "message": "Merge \"make libasync_safe vendor_available:true\""
    },
    {
      "commit": "b1b7eda11e4f66b608ae66945ddf87cbe31ecb47",
      "tree": "a0afb381990f5e6af2eb17e21b272709e0fe8ab5",
      "parents": [
        "42edca036e5c9ed24017de5fba41d5d1feda61d0",
        "9d97008a68826b46c3b012fbaca02c4ba69f71ae"
      ],
      "author": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Mon Jun 19 00:13:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 19 00:13:09 2017 +0000"
      },
      "message": "Merge \"linker_config_test: allow search paths of systems without a vendor partition\""
    },
    {
      "commit": "9d97008a68826b46c3b012fbaca02c4ba69f71ae",
      "tree": "74ba8d03b0483a6e48da6d25b6d0b08941a202bc",
      "parents": [
        "b33accf799fc9b3c1e247c9c03d3d341839b55a2"
      ],
      "author": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Fri Jun 16 14:43:16 2017 +0900"
      },
      "committer": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Mon Jun 19 00:12:45 2017 +0000"
      },
      "message": "linker_config_test: allow search paths of systems without a vendor partition\n\nlinker_config#smoke and linker_config.asan_smoke are trying to find\npaths under the /vendor directory. If there is no vendor partition,\nthe real path of them is started with /system/vendor.\n\nThis CL allows those paths in the tests by getting the resolved paths\nfor systems without a vendor partition.\n\nBug: http://b/62562515\nTest: linker_config_test passes without a vendor partition.\nChange-Id: Id6d16ef623efd81ab9083c3e819da2ad22a28bf8\n"
    },
    {
      "commit": "42edca036e5c9ed24017de5fba41d5d1feda61d0",
      "tree": "840e9b6643e13ec18532a92702e041b960af5dce",
      "parents": [
        "fed32937eb0688f2d55ef9885f99e4c35508ec59",
        "a4e774c2bb9b4bddc1dfedf4d6a4db6797f3478f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 16 22:51:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 16 22:52:01 2017 +0000"
      },
      "message": "Merge \"Add sys/stat.h compatibility macros for old NDKs.\""
    },
    {
      "commit": "fed32937eb0688f2d55ef9885f99e4c35508ec59",
      "tree": "4e21c58ff34eb6ee8ab7e6aecf54e1258173ce48",
      "parents": [
        "0c44c051663fc09a1d495536562f2f0eb79f28d0",
        "899e8caf3b8ac19f6a4e72b42f1456e3ec7ad731"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 16 21:04:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 16 21:04:15 2017 +0000"
      },
      "message": "Merge \"Remove obsolete \u003cmachine/cpu-features.h\u003e.\""
    },
    {
      "commit": "0c44c051663fc09a1d495536562f2f0eb79f28d0",
      "tree": "4492c45a42df52b585cfbedb088488ca60c0cd35",
      "parents": [
        "f0ee60a434675a2923c9c6968c8d5206ca6a6834",
        "8ad40936597c94901b6acb0b21bfe0e2a0689224"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 16 20:56:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 16 20:56:06 2017 +0000"
      },
      "message": "Merge \"Add #defines for some key enums.\""
    },
    {
      "commit": "899e8caf3b8ac19f6a4e72b42f1456e3ec7ad731",
      "tree": "63067d8df0244a34af28fe5d7d6f4befeefedc9a",
      "parents": [
        "f0ee60a434675a2923c9c6968c8d5206ca6a6834"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 16 11:05:16 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 16 11:09:13 2017 -0700"
      },
      "message": "Remove obsolete \u003cmachine/cpu-features.h\u003e.\n\nThis is no longer used in the platform, and shouldn\u0027t be used in NDK. Apps\nshould use the NDK\u0027s cpu-features module, which supports (a) more specific\nqueries and (b) all Android architectures, not just 32-bit ARM.\n\nBug: http://b/18556103\nTest: builds\nChange-Id: I544ef267a6d7d887223186180c77d9ad0321e605\n"
    },
    {
      "commit": "f0ee60a434675a2923c9c6968c8d5206ca6a6834",
      "tree": "29dd414205a44b07278523030251ee28f7a1d133",
      "parents": [
        "ae837f2e5936d621a3d3760a464aed83f2cd337e",
        "1c487e103618b7e4e3480f59375761e94ce80d2a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jun 16 16:40:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 16 16:40:03 2017 +0000"
      },
      "message": "Merge \"Add benchmarks for strcpy and strcmp.\""
    },
    {
      "commit": "ae837f2e5936d621a3d3760a464aed83f2cd337e",
      "tree": "6a06ac4f758ae71d359d60797b717ee77025bfa4",
      "parents": [
        "b33accf799fc9b3c1e247c9c03d3d341839b55a2",
        "576a7e9fb2ec448d168c44c34213798636450faf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 16 14:40:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 16 14:40:11 2017 +0000"
      },
      "message": "Merge \"libc: warn that cpu-features.h is deprecated\""
    },
    {
      "commit": "b33accf799fc9b3c1e247c9c03d3d341839b55a2",
      "tree": "5e264323df0a7c018c62a46117dffccf06acd6b3",
      "parents": [
        "0bd23e47067126677537a2b5bedd22dce54d92e5",
        "3a32d95e288457ad12c3e1ff2034ca0d546704e3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 15 23:11:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 23:11:50 2017 +0000"
      },
      "message": "Merge \"Update posix_memalign testing.\""
    },
    {
      "commit": "8ad40936597c94901b6acb0b21bfe0e2a0689224",
      "tree": "d228db0e344a21109b07276e5282c841daa88269",
      "parents": [
        "0bd23e47067126677537a2b5bedd22dce54d92e5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 15 15:12:29 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 15 15:12:29 2017 -0700"
      },
      "message": "Add #defines for some key enums.\n\nBuilding ruby actually trips over both of these:\n\n* if the RTLD_ constants aren\u0027t #defined, it uses its own incorrect values.\n\n* if the REG_ constants aren\u0027t #defined, it confuses x86 with x86-64.\n\nIn all other places where we have enums in our headers, we already match\nexisting glibc practice.\n\nBug: http://b/62531921\nTest: builds\nChange-Id: I5b3aab25a1a24611bdc58f2eda4104a78e9f841c\n"
    },
    {
      "commit": "0bd23e47067126677537a2b5bedd22dce54d92e5",
      "tree": "492962361838c36e10a0c3a612289fc3ef7fc8b1",
      "parents": [
        "6c2e8e022729a66cb1dacdd8c539303ab180ae00",
        "e2d4663b27285baceb81f6f68c4721b805512070"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 15 21:30:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 21:30:09 2017 +0000"
      },
      "message": "Merge \"Move a \u003cwchar.h\u003e implementation detail into the implementation.\""
    },
    {
      "commit": "3a32d95e288457ad12c3e1ff2034ca0d546704e3",
      "tree": "04d8ea3325dbd6520cfd552a488a331cefca5614",
      "parents": [
        "a09953e1a8df604d4c2c5f5b3b4c86e5b97694bf"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 15 13:30:44 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 15 14:18:08 2017 -0700"
      },
      "message": "Update posix_memalign testing.\n\nMove all tests into stdlib_test.cpp since that\u0027s where the definition lives\nin bionic.\n\nAdd a sweep test and a various size test.\n\nTest: Run new unit tests on glibc and angler.\nChange-Id: Ief1301f402bea82ce90240500dd6a01636dbdbae\n"
    },
    {
      "commit": "6c2e8e022729a66cb1dacdd8c539303ab180ae00",
      "tree": "b74e134cff31774b59ba6e7bd6b1ca328fb45613",
      "parents": [
        "62020897783fcd8bc6160a29705ff7886b614479",
        "a99d052801be5618465e5532440711e61f9b89fc"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 15 20:34:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 20:34:56 2017 +0000"
      },
      "message": "Merge \"Add copy-only, seek-only, and copy-and-seek benchmarks for strcat\""
    },
    {
      "commit": "62020897783fcd8bc6160a29705ff7886b614479",
      "tree": "6b6769eeb182913d60460c2df24a97631c0187f9",
      "parents": [
        "a09953e1a8df604d4c2c5f5b3b4c86e5b97694bf",
        "a301e73475937b788b872d17e273739ebe2dbf91"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 15 18:21:12 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 18:21:14 2017 +0000"
      },
      "message": "Merge \"MIPS64: move fstat64/fstatat64/_flush_cache syscalls to SECCOMP_WHITELIST.TXT\""
    },
    {
      "commit": "e2d4663b27285baceb81f6f68c4721b805512070",
      "tree": "576ac47e0800c6b2d56eaa02effd705911100bab",
      "parents": [
        "a09953e1a8df604d4c2c5f5b3b4c86e5b97694bf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 15 10:36:43 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 15 10:37:26 2017 -0700"
      },
      "message": "Move a \u003cwchar.h\u003e implementation detail into the implementation.\n\nNo other C library expose these, and I couldn\u0027t find any callers.\n\nBug: http://b/62531921\nTest: builds\nChange-Id: I4a3505bc0897286a4036c48066b98d16665b573a\n"
    },
    {
      "commit": "a09953e1a8df604d4c2c5f5b3b4c86e5b97694bf",
      "tree": "c2d170c83ee156adaf2d31a3ac768186827763bc",
      "parents": [
        "112581a5e0b72845feb6cc9851f28a64d13183ac",
        "8c67f1e617357cad075874598702bf9a9c8e8200"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 15 16:15:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 16:15:24 2017 +0000"
      },
      "message": "Merge \"Expose pthread_mutex_lock_timeout_np to the NDK.\""
    },
    {
      "commit": "112581a5e0b72845feb6cc9851f28a64d13183ac",
      "tree": "111ab7801cbe768549f22f317f0e358c63dc0c51",
      "parents": [
        "67f03e06876c817fa34375ee18111538d8a6b2ec",
        "6fa8df9d3c1d7093778594f4af11faa9b37803e8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 15 15:06:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 15:06:36 2017 +0000"
      },
      "message": "Merge \"Don\u0027t use the overloadable attribute if we\u0027re not fortified.\""
    },
    {
      "commit": "67f03e06876c817fa34375ee18111538d8a6b2ec",
      "tree": "7ae29e38f440fcdb0e78fd98320e7027834dd4bc",
      "parents": [
        "3ad08dbe29ff8cae2b5031671b5aa4821d3b63ba",
        "2b1ebb5724d66aca8b0ba70c6cac6a576d83af02"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 15 09:05:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 09:05:33 2017 +0000"
      },
      "message": "Merge \"Move libc/zoneinfo/ files to system/timezone\""
    },
    {
      "commit": "a301e73475937b788b872d17e273739ebe2dbf91",
      "tree": "ee7eb609dec81ab2a8675006c031ea06653b2e9c",
      "parents": [
        "3ad08dbe29ff8cae2b5031671b5aa4821d3b63ba"
      ],
      "author": {
        "name": "Miodrag Dinic",
        "email": "miodrag.dinic@imgtec.com",
        "time": "Mon Jun 12 10:52:12 2017 +0200"
      },
      "committer": {
        "name": "Miodrag Dinic",
        "email": "miodrag.dinic@imgtec.com",
        "time": "Thu Jun 15 10:25:09 2017 +0200"
      },
      "message": "MIPS64: move fstat64/fstatat64/_flush_cache syscalls to SECCOMP_WHITELIST.TXT\n\nfstat64/fstatat64/_flush_cache were accidentally put in SYSCALLS.TXT in:\n    https://android-review.googlesource.com/#/c/390454/\n\nThis patch just moves them to SECCOMP_WHITELIST.TXT because we do not\nwant stubs accidenatally generated for the mentioned syscalls using\ngensyscalls.py script.\n\nThis commit does not introduce any functional changes to mips64_policy.cpp.\n\nTest: Run genseccomp.py -\u003e File seccomp/mips64_policy.cpp not changed.\nTest: Run gensyscalls.py -\u003e INFO:root:no changes detected!\n\nChange-Id: I3b527b3d9f18715c44a4e6ddc6db6e49f48f4890\nSigned-off-by: Miodrag Dinic \u003cmiodrag.dinic@imgtec.com\u003e\n"
    },
    {
      "commit": "3ad08dbe29ff8cae2b5031671b5aa4821d3b63ba",
      "tree": "ef369402141cd368d63bae8aa09a3ec8372fa7a4",
      "parents": [
        "7f6bcc478083e25627838cb5de7e8efbc9468a55",
        "af0c781cf4c2051d81c1edb772679ebd207f7464"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 15 02:40:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 15 02:40:35 2017 +0000"
      },
      "message": "Merge \"Add \u003csys/mtio.h\u003e.\""
    },
    {
      "commit": "1c487e103618b7e4e3480f59375761e94ce80d2a",
      "tree": "52a2acc40d89e503ef3c217423f8c2e89604b6c7",
      "parents": [
        "a99d052801be5618465e5532440711e61f9b89fc"
      ],
      "author": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Mon Jun 12 12:33:06 2017 -0700"
      },
      "committer": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Wed Jun 14 17:51:54 2017 -0700"
      },
      "message": "Add benchmarks for strcpy and strcmp.\n\nTest: Ran benchmarks and verified that runtimes were sensible.\nChange-Id: I609e3261503a015bfd4982767fef3ce56141aebc\n"
    },
    {
      "commit": "af0c781cf4c2051d81c1edb772679ebd207f7464",
      "tree": "ef369402141cd368d63bae8aa09a3ec8372fa7a4",
      "parents": [
        "7f6bcc478083e25627838cb5de7e8efbc9468a55"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 14 17:16:05 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 14 17:16:05 2017 -0700"
      },
      "message": "Add \u003csys/mtio.h\u003e.\n\nIn a similar style to some of our other \"not really, but enough\" headers\nlike \u003csys/vt.h\u003e.\n\nBug: N/A\nTest: build GNU dd or BSD dd with a standalone toolchain\nChange-Id: I8fbd1aac1d97e24b05e7aae8a55666300b5bf1ed\n"
    },
    {
      "commit": "6fa8df9d3c1d7093778594f4af11faa9b37803e8",
      "tree": "1f0ed41bf69d08ccc9618b939c62ddc3e9f666ed",
      "parents": [
        "7f6bcc478083e25627838cb5de7e8efbc9468a55"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 14 16:54:32 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 14 16:54:32 2017 -0700"
      },
      "message": "Don\u0027t use the overloadable attribute if we\u0027re not fortified.\n\nSee code comment.\n\nBug: N/A\nTest: building bash and binutils with a standalone toolchain\nChange-Id: I73b5d55716072ca1b03b1b0157d65cb1ceb22841\n"
    },
    {
      "commit": "a99d052801be5618465e5532440711e61f9b89fc",
      "tree": "384f352dba6d63ad84caaf5257f5b3cc0827d97a",
      "parents": [
        "271be9bb7df6f3910a929ef7bff55fbd9bc2dee6"
      ],
      "author": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Mon Jun 12 11:24:01 2017 -0700"
      },
      "committer": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Wed Jun 14 15:13:50 2017 -0700"
      },
      "message": "Add copy-only, seek-only, and copy-and-seek benchmarks for strcat\n\nTest: Ran benchmarks and verified that runtimes were sensible.\nChange-Id: I6da3aaea0ba4817662534b24873993589385e6c5\n"
    },
    {
      "commit": "a4e774c2bb9b4bddc1dfedf4d6a4db6797f3478f",
      "tree": "f519d8feea9edfb35e46816d35b69ff36c0fbe40",
      "parents": [
        "8c67f1e617357cad075874598702bf9a9c8e8200"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jun 12 14:59:38 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jun 14 14:03:14 2017 -0700"
      },
      "message": "Add sys/stat.h compatibility macros for old NDKs.\n\nTest: make checkbuild\nBug: https://github.com/android-ndk/ndk/issues/417\nChange-Id: I04fdb2f31131e87907adab9f3264b783917de542\n"
    },
    {
      "commit": "2b1ebb5724d66aca8b0ba70c6cac6a576d83af02",
      "tree": "2b8e74e0d43e810d55bfda2bab06538400c93415",
      "parents": [
        "5c76fec2821c9a5228e681ef37525f9b30fa5805"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jun 12 16:57:29 2017 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 14 11:57:39 2017 +0000"
      },
      "message": "Move libc/zoneinfo/ files to system/timezone\n\nMove libc/zoneinfo/ files to system/timezone.\n\nBug: 31008728\nBug: 36882778\nTest: make -j30 droid / boot device\nMerged-In: I1d75b0be12b41258f89614b92c1ef68aa7ebfaf9\nChange-Id: I1d75b0be12b41258f89614b92c1ef68aa7ebfaf9\n"
    },
    {
      "commit": "f9f9a5d76c6af498320ad4e9eff5fddcd52dc399",
      "tree": "e6b93c3f0850b51dd52cf637de9fee21f653e270",
      "parents": [
        "7f6bcc478083e25627838cb5de7e8efbc9468a55"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon May 15 15:22:12 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Jun 14 18:24:11 2017 +0900"
      },
      "message": "make libasync_safe vendor_available:true\n\nThis, when used with BOARD_VNDK_VERSION flag, enables the\nmodule to be built and installed twice, one for /system,\nother for /vendor.\n\nlibasync_safe is used by libbacktrace which is in turn used by libs in\n/vendor and thus marked as vendor_available. Therefore, libasync_safe\nis also marked as vendor_available.\n\nDetails: https://android-review.googlesource.com/368372\n\nBug: 33241851\nTest: BOARD_VNDK_VERSION\u003dcurrent m libasync_safe.vendor successful\n\nMerged-In: I4b4de3b99a024d52612109cee3d66b4e5fc12dec\nChange-Id: I4b4de3b99a024d52612109cee3d66b4e5fc12dec\n(cherry picked from commit ec0d6b416e6f9c7044c79fdc8a4760f23ade8eb4)\n"
    },
    {
      "commit": "7f6bcc478083e25627838cb5de7e8efbc9468a55",
      "tree": "cc4895cd8c88e88c8c938f6a8ac7b76480706932",
      "parents": [
        "87d1df9f70016725ce100860fdc847a76322636d",
        "e452cb1ff30b3539dc66a18e9b59fe5e8d337ecc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 14 00:44:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 14 00:44:33 2017 +0000"
      },
      "message": "Merge \"Remove `volatile` from the `__errno` declaration.\""
    },
    {
      "commit": "87d1df9f70016725ce100860fdc847a76322636d",
      "tree": "4107d02f52ec0635cf90b376c04795f98a2c768b",
      "parents": [
        "017ee76b154f795944938c6126708d98bd6c1a78",
        "583ef362c8053e41e491f24ddc076f29fa7fbb92"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 13 23:20:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 23:20:40 2017 +0000"
      },
      "message": "Merge \"The bsd_signal declaration shouldn\u0027t be visible if API \u003e 21.\""
    },
    {
      "commit": "e452cb1ff30b3539dc66a18e9b59fe5e8d337ecc",
      "tree": "60593768f5b380f5a3a45caa026ea9cb208876c0",
      "parents": [
        "15eaaddef9fffda1209e9cc576b47b0f6e0cb379"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 13 14:43:53 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 13 16:02:07 2017 -0700"
      },
      "message": "Remove `volatile` from the `__errno` declaration.\n\nThis breaks code that declares `errno` itself for whatever crazy reason:\n\n  b.c:22:12: error: conflicting types for \u0027__errno\u0027\n  extern int errno;\n             ^\n  /usr/local/google/ndkports/toolchain/bin/../sysroot/usr/include/errno.h:47:20: note: expanded from macro \u0027errno\u0027\n  #define  errno   (*__errno())\n                     ^\n  /usr/local/google/ndkports/toolchain/bin/../sysroot/usr/include/errno.h:44:15: note: previous declaration is here\n  volatile int* __errno(void) __attribute_const__;\n                ^\n\nBug: N/A\nTest: built various bits of GNU source\nChange-Id: I27c03bf3bde419a001f98f1ea6c267c847f31271\n"
    },
    {
      "commit": "583ef362c8053e41e491f24ddc076f29fa7fbb92",
      "tree": "aed2759ac8d13ff90141f93f017dd6261ffe4d01",
      "parents": [
        "15eaaddef9fffda1209e9cc576b47b0f6e0cb379"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 13 14:29:15 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 13 14:29:15 2017 -0700"
      },
      "message": "The bsd_signal declaration shouldn\u0027t be visible if API \u003e 21.\n\nThis causes GNU make to fail to build:\n\n  main.o:main.c:(.text+0x18c): more undefined references to `bsd_signal\u0027 follow\n\nBug: N/A\nTest: built GNU make with a hacked standalone toolchain\nChange-Id: Icdfb4cf674df8abed44f6671454bed9f8d68e74b\n"
    },
    {
      "commit": "017ee76b154f795944938c6126708d98bd6c1a78",
      "tree": "1b6754e8b4fb5da7adb2e5ec33df1844984a3d6f",
      "parents": [
        "2d36be5912f04c29d0cad15bd37849a10a93e74d",
        "4b1a3992de7803d4c082867ea1168efeaa85cc5d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 13 20:33:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 20:33:50 2017 +0000"
      },
      "message": "Merge \"libc: Sync qsort(3) with FreeBSD revision r318515.\""
    },
    {
      "commit": "4b1a3992de7803d4c082867ea1168efeaa85cc5d",
      "tree": "1b6754e8b4fb5da7adb2e5ec33df1844984a3d6f",
      "parents": [
        "2d36be5912f04c29d0cad15bd37849a10a93e74d"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri May 19 10:13:08 2017 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Jun 13 18:49:54 2017 +0000"
      },
      "message": "libc: Sync qsort(3) with FreeBSD revision r318515.\n\nr279663: enhance to handle 32-bit aligned data on 64-bit systems\n\nr279666: qsort(3): small style(9) cleanups.\n\nr288030: Use ANSI C prototypes.  Eliminates -Wold-style-definition\nwarnings.\n\nr318514: Use size_t.\n\nr318515: Reduce the possible recursion level to log2(N) by always\nrecursing on the smaller partition instead.\n\nBug: 38450217\nTest: builds, ./tests/run-on-host.sh 64\nChange-Id: Ieb622e6f54f8f6d6f62e1bdb491d3b5c8e2f9965\n"
    },
    {
      "commit": "2d36be5912f04c29d0cad15bd37849a10a93e74d",
      "tree": "89f96822e4103b55848ed6daf027fff1c061c293",
      "parents": [
        "4f61181428ec68c2e87610829ea6a06be7eb3a4e",
        "271be9bb7df6f3910a929ef7bff55fbd9bc2dee6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jun 13 18:05:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 18:05:02 2017 +0000"
      },
      "message": "Merge \"Split memmove benchmark into separate overlapping (src before dst and dst before src) and non-overlapping tests.\""
    },
    {
      "commit": "8c67f1e617357cad075874598702bf9a9c8e8200",
      "tree": "2550c1ef1797fe002d1456ff57f3bb79b6304730",
      "parents": [
        "4f61181428ec68c2e87610829ea6a06be7eb3a4e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jun 12 14:17:49 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jun 12 16:46:01 2017 -0700"
      },
      "message": "Expose pthread_mutex_lock_timeout_np to the NDK.\n\nThe proper API for this isn\u0027t available until L, so expose this for\nAPI levels earlier than that.\n\nTest: make checkbuild\nBug: https://github.com/android-ndk/ndk/issues/420\nChange-Id: I382b8f557be9530f3e13aaae353b4a6e7f9301ab\n"
    },
    {
      "commit": "271be9bb7df6f3910a929ef7bff55fbd9bc2dee6",
      "tree": "cbada1d44532b8e463156c9d086733c37ebabf3f",
      "parents": [
        "5c76fec2821c9a5228e681ef37525f9b30fa5805"
      ],
      "author": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Wed Jun 07 13:00:38 2017 -0700"
      },
      "committer": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Fri Jun 09 13:30:34 2017 -0700"
      },
      "message": "Split memmove benchmark into separate overlapping (src before dst and dst before src) and non-overlapping tests.\n\nTest: Ran benchmarks and verified that runtimes were sensible.\nChange-Id: Ia7fbc5596dfdc162fff2364f4ef6dafe5549b907\n"
    },
    {
      "commit": "4f61181428ec68c2e87610829ea6a06be7eb3a4e",
      "tree": "6ba250e9a2d8a7ee8f741df7d1de5a6e03b0b561",
      "parents": [
        "5c76fec2821c9a5228e681ef37525f9b30fa5805",
        "24ed8b5fbfa35cc461545e5b69fded356ea62f23"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jun 09 06:01:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 09 06:01:26 2017 +0000"
      },
      "message": "Merge \"Explain why we have a test that FALLOC_FL_PUNCH_HOLE is missing.\""
    },
    {
      "commit": "5c76fec2821c9a5228e681ef37525f9b30fa5805",
      "tree": "5654e79f8e65ba2372ff038d1e4285ea3ecf6629",
      "parents": [
        "498b4de964b5d38952acfe2d1823c13f20a641d3",
        "a625ee2063dec60996f01e0274e4c352ab75c46b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jun 02 22:02:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 02 22:02:55 2017 +0000"
      },
      "message": "Merge \"Use libdemangle for function names.\""
    },
    {
      "commit": "24ed8b5fbfa35cc461545e5b69fded356ea62f23",
      "tree": "f3d6f66cff5f6813fdd7cc5e995717a18476902e",
      "parents": [
        "498b4de964b5d38952acfe2d1823c13f20a641d3"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jun 02 14:57:49 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jun 02 14:58:44 2017 -0700"
      },
      "message": "Explain why we have a test that FALLOC_FL_PUNCH_HOLE is missing.\n\nChange-Id: I7388f2e0bc419f195247a1d3e73195cb4d199d5c\nTest: none\n"
    },
    {
      "commit": "a625ee2063dec60996f01e0274e4c352ab75c46b",
      "tree": "5654e79f8e65ba2372ff038d1e4285ea3ecf6629",
      "parents": [
        "498b4de964b5d38952acfe2d1823c13f20a641d3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 01 14:16:32 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jun 02 10:10:24 2017 -0700"
      },
      "message": "Use libdemangle for function names.\n\nBug: 62141808\n\nTest: Ran unit tests, ran malloc debug with leaks and verified functions\nTest: are demangled.\nChange-Id: I1900632e9a55bb818b1aabc798224ff3eebc1fca\n"
    },
    {
      "commit": "576a7e9fb2ec448d168c44c34213798636450faf",
      "tree": "a83f990672f8ed81d66e9aa6b7ae3af4673d52ab",
      "parents": [
        "498b4de964b5d38952acfe2d1823c13f20a641d3"
      ],
      "author": {
        "name": "Jake Weinstein",
        "email": "xboxlover360@gmail.com",
        "time": "Tue Apr 11 01:24:22 2017 -0400"
      },
      "committer": {
        "name": "Jake Weinstein",
        "email": "xboxlover360@gmail.com",
        "time": "Fri Jun 02 04:30:20 2017 +0000"
      },
      "message": "libc: warn that cpu-features.h is deprecated\n\nTest: mm\n\nChange-Id: I39668fc75e72004224e35ac9e7d6ffc858df2169\n"
    },
    {
      "commit": "498b4de964b5d38952acfe2d1823c13f20a641d3",
      "tree": "e450a5d46d3a02edbf224624b0abb4bb89016290",
      "parents": [
        "72c8fce6c9c6b516f855ce365512f02eed1cb33c",
        "2eab77e5034444fee63a302c89502c970dd2b0b6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 01 23:30:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 01 23:30:57 2017 +0000"
      },
      "message": "Merge \"Fix boost build with unified headers.\""
    },
    {
      "commit": "2eab77e5034444fee63a302c89502c970dd2b0b6",
      "tree": "7d8db3d5a0fffeb638d73e2702b2d30bf2b46e1f",
      "parents": [
        "15eaaddef9fffda1209e9cc576b47b0f6e0cb379"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 01 14:08:58 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 01 14:08:58 2017 -0700"
      },
      "message": "Fix boost build with unified headers.\n\nboost (1.64.0 at least) assumes that if you have POSIX_MADV_NORMAL, you have\nposix_madvise. With unified headers, this isn\u0027t true. Rather than make life\nharder for projects that don\u0027t use configure, just make it so. We already\napplied similar workarounds for epoll_create1 and inotify_init1.\n\nBug: https://github.com/android-ndk/ndk/issues/395\nTest: built boost (long story!)\nChange-Id: I5d2d8de7b30921dde913251d35dcd249a2876f94\n"
    },
    {
      "commit": "72c8fce6c9c6b516f855ce365512f02eed1cb33c",
      "tree": "b7b26de82f6f71262141ee54db1ac592024a51d3",
      "parents": [
        "533cf0647473caa8ea4e50329609f8462d69c980",
        "996f6decfad3cb0a3e87c0f7e5c0578ccae45d56"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 01 17:44:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 01 17:44:42 2017 +0000"
      },
      "message": "Merge \"MIPS: 32/64-bit VDSO support\""
    },
    {
      "commit": "996f6decfad3cb0a3e87c0f7e5c0578ccae45d56",
      "tree": "f301c19a2b53159a290f92e1237bc6bc6a31031f",
      "parents": [
        "15eaaddef9fffda1209e9cc576b47b0f6e0cb379"
      ],
      "author": {
        "name": "Goran Ferenc",
        "email": "goran.ferenc@imgtec.com",
        "time": "Tue May 30 16:00:41 2017 +0200"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 01 08:50:57 2017 -0700"
      },
      "message": "MIPS: 32/64-bit VDSO support\n\nFile libc/SYSCALLS.TXT is updated to generate bionic\u0027s system call wrappers\nfor clock_gettime() \u0026 gettimeofday() that will be called if kernel vdso\nimplementations fail to execute.\nThe system call wrappers are generated using a python script gensyscalls.py.\n\nSince all architectures support vdso now, there is no more need for conditional\nstatements regarding supported architectures in libc/bionic/vdso.cpp \u0026\nlibc/private/bionic_vdso.h files.\n\nTest: builds\nChange-Id: I7213f29c179a7929851499d78a72900638ae861a\nSigned-off-by: Goran Ferenc \u003cgoran.ferenc@imgtec.com\u003e\n"
    },
    {
      "commit": "533cf0647473caa8ea4e50329609f8462d69c980",
      "tree": "d1457a8d2c6d872264789b2e7cb1662df4693a28",
      "parents": [
        "15eaaddef9fffda1209e9cc576b47b0f6e0cb379",
        "cd510cbed9dc1e1b65b9d34676fdf6d85101f22c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 01 07:16:11 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 01 07:16:12 2017 +0000"
      },
      "message": "Merge \"Make dl_iterate_phdr return correct name for first entry\""
    },
    {
      "commit": "cd510cbed9dc1e1b65b9d34676fdf6d85101f22c",
      "tree": "8546acbe8ef79aa92ea066249794a7229c21280e",
      "parents": [
        "6be65c135b1720353f0c2e472a5e01261a737cd1"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed May 31 15:07:41 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed May 31 23:45:15 2017 +0000"
      },
      "message": "Make dl_iterate_phdr return correct name for first entry\n\nTest: bionic-unit-tests --gtest_filter\u003dlink*\nChange-Id: Ib3f1e0fbc76fed9a5f27ffdd9bbf847a3e8d3665\n"
    },
    {
      "commit": "15eaaddef9fffda1209e9cc576b47b0f6e0cb379",
      "tree": "5b5f2c1a7b75b5ce68410105cb965385351aaea2",
      "parents": [
        "8f7a987cd0204706b8a7a2a30171746493b42ffd",
        "488eb8b7d2fb7a51c90664ae0baea75b7280cddd"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 31 20:07:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 31 20:07:31 2017 +0000"
      },
      "message": "Merge \"Move mallopt to correct section.\""
    },
    {
      "commit": "8f7a987cd0204706b8a7a2a30171746493b42ffd",
      "tree": "2270ece5b778b2b77f4ead302090429e0e21dbc9",
      "parents": [
        "8f6f70db457e6f6d09a5f3b8be91adcea16b1067",
        "7c08c7910dc7980f0a4d4354aabad60f8c7bd605"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 31 18:15:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 31 18:15:11 2017 +0000"
      },
      "message": "Merge \"Revert \"Make mallopt available in the future.\"\""
    },
    {
      "commit": "488eb8b7d2fb7a51c90664ae0baea75b7280cddd",
      "tree": "4620330e37f8d498aa6aae20613815e40abe59b9",
      "parents": [
        "8f6f70db457e6f6d09a5f3b8be91adcea16b1067"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 31 11:00:18 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 31 11:00:18 2017 -0700"
      },
      "message": "Move mallopt to correct section.\n\nBug: 62202823\n\nTest: Built and built unit tests.\nChange-Id: Icefc152eb756fd60ce8f51d694f22923a41a9cd1\n"
    },
    {
      "commit": "8f6f70db457e6f6d09a5f3b8be91adcea16b1067",
      "tree": "a10f9cc530fdf37b2242c40da9eb8caec2b18eef",
      "parents": [
        "6be65c135b1720353f0c2e472a5e01261a737cd1",
        "ca84fe3be70666d015a7c069db2f16e57259ce85"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 31 17:40:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 31 17:40:33 2017 +0000"
      },
      "message": "Merge \"Add mallopt to canonical list of exports.\""
    },
    {
      "commit": "ca84fe3be70666d015a7c069db2f16e57259ce85",
      "tree": "a10f9cc530fdf37b2242c40da9eb8caec2b18eef",
      "parents": [
        "6be65c135b1720353f0c2e472a5e01261a737cd1"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue May 30 17:35:28 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue May 30 17:38:52 2017 -0700"
      },
      "message": "Add mallopt to canonical list of exports.\n\nBug: 62202823\n\nTest: Ran script and verified that none of the other map files are modified.\nChange-Id: Ib890ce77c60b877434fbb65a5add8f6c4603d3d0\n"
    },
    {
      "commit": "7c08c7910dc7980f0a4d4354aabad60f8c7bd605",
      "tree": "8072f6a7fa566cda0ad46664ca5007f7702ee5a7",
      "parents": [
        "083923d96acb7cfe4e1a1c22100047fa87feb347"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 31 00:14:15 2017 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 31 00:15:00 2017 +0000"
      },
      "message": "Revert \"Make mallopt available in the future.\"\n\nThis reverts commit 083923d96acb7cfe4e1a1c22100047fa87feb347.\n\nReason for revert: No longer correct, this will be in API 26.\n\nChange-Id: Iaf82d797405135fcd30455fd750b23fc57e9623a\n"
    }
  ],
  "next": "6be65c135b1720353f0c2e472a5e01261a737cd1"
}
