)]}'
{
  "log": [
    {
      "commit": "f5605374da9605686352300de3e1bf342e72032d",
      "tree": "3476fdc8ee5845bd276cb6b834392e4532feb16d",
      "parents": [
        "dcdd0e37603215320d4fd175792aeef279a80606"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jul 17 14:05:44 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jul 17 14:05:44 2017 -0700"
      },
      "message": "Add __RENAME_IF_FILE_OFFSET64.\n\nConvenience macro for __RENAME if __USE_FILE_OFFSET64 mode. Lets us\navoid duplicating all the doxygen comments in frameworks headers.\n\nTest: make checkbuild\nBug: https://github.com/android-ndk/ndk/issues/459\nChange-Id: Ica44f22b2f1596e484694006c0926d94d16187b5\n"
    },
    {
      "commit": "dcdd0e37603215320d4fd175792aeef279a80606",
      "tree": "d0421e5b4bb7cca6a182455714eeea01d6c03a61",
      "parents": [
        "65cebf08042579dbc6faaafd576ef36f491b0825",
        "697f42afdb8606f5ba431e72db065692bf61ffff"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 15 03:12:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 15 03:12:36 2017 +0000"
      },
      "message": "Merge \"Hide various mbstate implementation details.\""
    },
    {
      "commit": "65cebf08042579dbc6faaafd576ef36f491b0825",
      "tree": "f61a5c1768386260ba88df699219e57f303a5f10",
      "parents": [
        "b1c3da1d89052c23bd2d4b32da760d16732dc765",
        "aac7c3affa4bbe19e079e724968b4e72913d3a3d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 15 01:07:39 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 15 01:07:39 2017 +0000"
      },
      "message": "Merge \"Allow passing filenames to generate-NOTICE.py.\""
    },
    {
      "commit": "697f42afdb8606f5ba431e72db065692bf61ffff",
      "tree": "900725232ca9b11d2f415544bdaea867123fbf19",
      "parents": [
        "03e9c498d4909d1f791800cae0d59db63a348328"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 14 17:00:05 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 14 17:00:05 2017 -0700"
      },
      "message": "Hide various mbstate implementation details.\n\n...by inlining them.\n\nAlso fix a couple of harmless bugs in passing. I\u0027ve added tests, but in\nboth cases I don\u0027t think it was actually possible to hit the bad behavior:\nwe\u0027d hit another test and fail immediately after in an externally\nindistinguishable way.\n\nBug: N/A\nTest: readelf\nChange-Id: I8466050b0bfe2b7b94c76b383cf10c1d9d28debd\n"
    },
    {
      "commit": "aac7c3affa4bbe19e079e724968b4e72913d3a3d",
      "tree": "b24663aa7a7b443de5dfe2284d48cf24a2dda500",
      "parents": [
        "03e9c498d4909d1f791800cae0d59db63a348328"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 14 10:00:32 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 14 15:41:11 2017 -0700"
      },
      "message": "Allow passing filenames to generate-NOTICE.py.\n\nFor the libandroid_support NOTICE file, we need to combine all the files\nin that directory, plus the specific files pulled from bionic.\n\nAlso cleaned up some of the Python style.\n\nBug: N/A\nTest: used for libandroid_support\nChange-Id: If433e3a0f0478f06d99a9b3556e99dde06a7e5e1\n"
    },
    {
      "commit": "5ea0b0667f884b218dacd2cd93c3970b9e37bf34",
      "tree": "2291d61ace3ae4b59a5c0167e93051e8eb4b1106",
      "parents": [
        "03e9c498d4909d1f791800cae0d59db63a348328"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 13 17:30:06 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 13 17:33:15 2017 -0700"
      },
      "message": "libm symbol cleanup.\n\nSome of this code is used in the NDK libandroid_support now, as a static\nlibrary, so just being HIDDEN in the ELF sense isn\u0027t sufficient.\n\nRename digittoint to __libm_digittoint so we don\u0027t trample anyone\u0027s toes.\n\nAlso remove imprecise_powl and imprecise_tgammal. It turns out (to my\nsurprise) that we don\u0027t even have ld128 implementations of powl and tgammal,\nso even LP64 was just using the \"fake_long_double.c\" hack in effect. Since\nthat\u0027s the case, let\u0027s *actually* do that because then we\u0027re not polluting\nwith the internal names in addition to the aliases.\n\nBug: N/A\nTest: readelf\nChange-Id: I273cc8fdc7ce53f9b8dfd4ef7796e358fe901837\n"
    },
    {
      "commit": "3f03579589259ecdc1b15e7914aca31c8b0dc1de",
      "tree": "93a367ac59d0a11e4028ed8e9bfe06be0e6cfa58",
      "parents": [
        "2d585e0070f33ec86a5d5decf9642ee9f2501324"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jul 13 10:29:20 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jul 13 10:29:20 2017 -0700"
      },
      "message": "Move wchar _l functions out of wchar.cpp.\n\nWe don\u0027t need these in libandroid_support, but we do need the other\nparts of wchar.cpp, and they\u0027re not really related.\n\nTest: make checkbuild\nBug: None\nChange-Id: I40f3089b034abfd4873e81c0b6216a7cfd977d8d\n"
    },
    {
      "commit": "2d585e0070f33ec86a5d5decf9642ee9f2501324",
      "tree": "c4a95ed3dde95f48b6141cc0c015ba1d8818f31c",
      "parents": [
        "ada33eb9b4ec9e9fe2a37c8dbe1aa68348aa66b1",
        "1a8b7f2d1ca7c605e8e0e6a707a8c4bc9839dcda"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jul 13 08:34:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 13 08:34:57 2017 +0000"
      },
      "message": "Merge changes from topic \u0027locale-android-support\u0027\n\n* changes:\n  Add a non-TLS slot implementation of locale.cpp.\n  Move non-locale.h APIs out of locale.cpp.\n"
    },
    {
      "commit": "1a8b7f2d1ca7c605e8e0e6a707a8c4bc9839dcda",
      "tree": "865093640ef73c41a8d8aa98423e83107f2d60e0",
      "parents": [
        "e2fd01035ba85b906dbf0e6b6112b7f8ff52beef"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jul 12 13:47:42 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jul 12 13:47:42 2017 -0700"
      },
      "message": "Add a non-TLS slot implementation of locale.cpp.\n\nlibandroid_support shouldn\u0027t be using Bionic\u0027s TLS slot. Add a\nthread_local based implementation. We can\u0027t use the thread_local\nimplementation in bionic because the linker needs this and pthread\nthread-locals (which is how thread_local is implemented) doesn\u0027t work\nthat early.\n\nTest: make checkbuild\nTest: adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests\nBug: https://github.com/android-ndk/ndk/issues/300\nChange-Id: I7dcbf554ade2264d541d722fa3f86df04926e67a\n"
    },
    {
      "commit": "e2fd01035ba85b906dbf0e6b6112b7f8ff52beef",
      "tree": "8bbe318fca314962ff32b5cd10eee318c440aa6e",
      "parents": [
        "82d746fb39465e78088aeb11a5dc178cf264d0c0"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jul 11 14:27:07 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jul 12 12:41:47 2017 -0700"
      },
      "message": "Move non-locale.h APIs out of locale.cpp.\n\nlibandroid_support only needs the locale.h stuff.\n\nTest: make checkbuild\nBug: None\nChange-Id: I0c53fe9d2df4f9ff4b99771727034508bc89cb32\n"
    },
    {
      "commit": "b364683ea65e24070c77f1673a8c155665eb894e",
      "tree": "7eb4b2ffb855e0cc530972661342b971e425df0c",
      "parents": [
        "61fcd39e1720df131e2a7a7c4075f344bb413ca1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 11 12:34:19 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 11 12:34:19 2017 -0700"
      },
      "message": "Sync with upstream OpenBSD: trivial stuff.\n\nNo active ingredient to any of these changes.\n\nBug: N/A\nTest: builds\nChange-Id: Ib1191a5c2826da024245d03dfc57557c8903a6cc\n"
    },
    {
      "commit": "61fcd39e1720df131e2a7a7c4075f344bb413ca1",
      "tree": "7739695d551d6e87df7c650e47b2ef827ee06ca1",
      "parents": [
        "fc544af6cb538c5a6916f9ebf5b02639383fb1f3",
        "4cae5c374e6432f5fb4e7ec6d7e09228c3426e27"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 11 18:54:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 11 18:54:24 2017 +0000"
      },
      "message": "Merge \"The future passed part of \u003cstdlib.h\u003e by...\""
    },
    {
      "commit": "73d17e7720983d4aee5ebe5d2910bcc3fcb8e1b8",
      "tree": "850d0f0d0835daf0ff12b8678cee0fd2efd8ecb7",
      "parents": [
        "e76ff925df7d0b9aef84fe230c7497ff6a8fbba4",
        "0a0743f86454f8f50d04127beb614094f3b5a593"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@google.com",
        "time": "Mon Jul 10 22:33:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 10 22:33:54 2017 +0000"
      },
      "message": "Merge \"Move environ valiable into it\u0027s own file\""
    },
    {
      "commit": "e76ff925df7d0b9aef84fe230c7497ff6a8fbba4",
      "tree": "9009caad2fd90f30494b915d367977b96867e0f8",
      "parents": [
        "6aaa227f74031ee461c7ce5b7a2a262397e866b2",
        "1449974d27473399a1fe25c2d28253908a57e382"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 10 20:40:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 10 20:40:53 2017 +0000"
      },
      "message": "Merge \"Make inline tcsetattr definition match constants.\""
    },
    {
      "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": "0a0743f86454f8f50d04127beb614094f3b5a593",
      "tree": "388be22547813c653c147e3104abcff923dcab28",
      "parents": [
        "ddefae7ba92c40d60f2401e010e7789bee6f260d"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@google.com",
        "time": "Mon Jul 10 21:15:37 2017 +0200"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@google.com",
        "time": "Mon Jul 10 21:44:17 2017 +0200"
      },
      "message": "Move environ valiable into it\u0027s own file\n\nTest: build statically the example program below\n\n  char** environ;\n  int main() {\n  }\n\nChange-Id: I3f01652da1d5063d92ba7cbff7fb09bd0a89325c\n"
    },
    {
      "commit": "4cae5c374e6432f5fb4e7ec6d7e09228c3426e27",
      "tree": "f7d91a9985e5ab095311a1f319025d6d0a321179",
      "parents": [
        "6c716a155df1c25ddc8e48f8bf29163b9a58441c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 10 11:51:00 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 10 11:51:00 2017 -0700"
      },
      "message": "The future passed part of \u003cstdlib.h\u003e by...\n\nBug: N/A\nTest: builds\nChange-Id: Ibac3c1abd82838dccd360cb70decb7083401c28e\n"
    },
    {
      "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": "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": "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": "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": "1449974d27473399a1fe25c2d28253908a57e382",
      "tree": "99ab00407ff51e8db4318365f31eabc9feb942af",
      "parents": [
        "f45bc14d5497c30bd43e22d025e3b88812b2baa4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 12:00:29 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 05 12:00:29 2017 -0700"
      },
      "message": "Make inline tcsetattr definition match constants.\n\nBefore this change we have the old NDK inline termios functions with the\nmodern constants. Unfortunately the old NDK inline functions relied on\nhacking the constants. Fix things by sharing the implementation between\nthe platform and the NDK headers.\n\nBug: https://github.com/android-ndk/ndk/issues/441\nTest: ran tests\nChange-Id: I2773634059530bc954167f29c4783413a2294d5a\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "6be65c135b1720353f0c2e472a5e01261a737cd1",
      "tree": "92da5754ab1eca0b8b6d395084e4486fd61e670a",
      "parents": [
        "f6a5afcb62817502b91720b4dd2cd7166b9a9a6b",
        "5059939c87f4806a8c9f67cfbd1a4f9fe2d4e59c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 26 18:04:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 26 18:04:28 2017 +0000"
      },
      "message": "Merge \"Enable exporting the non-uapi scsi headers.\""
    },
    {
      "commit": "f6a5afcb62817502b91720b4dd2cd7166b9a9a6b",
      "tree": "22775f6403a52a3243d0113205304b9efa43797e",
      "parents": [
        "232681160ae79f99a3698b0158eef837b7808a03",
        "c0352bbd5f8bd4c7696d3b71a0056dcfb2b44708"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri May 26 16:57:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 26 16:58:00 2017 +0000"
      },
      "message": "Merge \"Add offset to backtrace_string printing.\""
    },
    {
      "commit": "5059939c87f4806a8c9f67cfbd1a4f9fe2d4e59c",
      "tree": "982bc3947088a422d6e51f05ee15afff6fb7e5cf",
      "parents": [
        "025fb33c9dbae35ce343d3f15cbf642518f82893"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 25 17:13:32 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 25 19:17:55 2017 -0700"
      },
      "message": "Enable exporting the non-uapi scsi headers.\n\nCallers are supposed to #include \u003cscsi/sg.h\u003e but if we tell soong to add\nbionic/libc/kernel/android/ to the include path, the uapi headers in there\nwould be (unintentionally) accessible as either \u003clinux/name.h\u003e or\n\u003cuapi/linux/name.h\u003e.\n\nBug: N/A (hit while upgrading strace to 4.17)\nTest: builds\nChange-Id: I8d47dd51da688c38f747a255d401dfb2c209c805\n"
    },
    {
      "commit": "c0352bbd5f8bd4c7696d3b71a0056dcfb2b44708",
      "tree": "ae90fd70a7381d5c9366feb8cfb16a240a06e1cd",
      "parents": [
        "a559cff654afd31d718d5f476003584f48c5932b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 25 18:26:37 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 25 18:38:45 2017 -0700"
      },
      "message": "Add offset to backtrace_string printing.\n\nThe libmemunreachable code uses backtrace_string to print out the backtrace\ninformation. However, when the offset of the map that a frame is in is\nnon-zero, no information is printed. This means that when a frame comes from\na shared library loaded from an apk, it\u0027s impossible to tell which\nshared library the frame is really coming from.\n\nAdd the offset display when it\u0027s non-zero. This means this can now be fed\nto development/scripts/stack to decode the frame.\n\nBug: 37276041\n\nTest: Ran dumpsys meminfo --unreachable on an app that leaks from a\nTest: shared library and verified the offset output is present.\nChange-Id: I61d34ae3f617622d354cc099eff520a64782b6e2\n"
    },
    {
      "commit": "eca29cb50808260b70965398cb9a8d120b00377c",
      "tree": "8f1072363938fbd3d4bd349edceacee78ad6b4ad",
      "parents": [
        "a559cff654afd31d718d5f476003584f48c5932b",
        "966cf62a74dbdbbcfd810c93faca21cd7e823558"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 26 01:01:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 26 01:01:56 2017 +0000"
      },
      "message": "Merge \"Expand whitelist\""
    },
    {
      "commit": "a559cff654afd31d718d5f476003584f48c5932b",
      "tree": "64223a9fd0ee09a6d586fe53cf4ca354953454e2",
      "parents": [
        "025fb33c9dbae35ce343d3f15cbf642518f82893",
        "4c65669ab77e5811ee5a6ad424403893265dc4b7"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri May 26 00:29:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 26 00:30:01 2017 +0000"
      },
      "message": "Merge \"Update malloc debug documentation.\""
    },
    {
      "commit": "4c65669ab77e5811ee5a6ad424403893265dc4b7",
      "tree": "5b1503d8e9b437fe85416f6816b63acafd3a5e4a",
      "parents": [
        "1143a629772c85b779b0f8249e1e223e27ff7481"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 24 19:04:33 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 25 17:23:08 2017 -0700"
      },
      "message": "Update malloc debug documentation.\n\nTest: NA\nChange-Id: I8ab73bfc28c7a673efb5b0cec6067989153f092a\n"
    },
    {
      "commit": "966cf62a74dbdbbcfd810c93faca21cd7e823558",
      "tree": "9f6803d8e0e2e31e0e5b76191233be684bb9a5a9",
      "parents": [
        "f58179cda5a905f405efac4f116f5205e3b01611"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Thu May 25 14:15:23 2017 -0700"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Thu May 25 16:22:04 2017 -0700"
      },
      "message": "Expand whitelist\n\nBug: 37769298\nTest: Boots. Cannot test app behavior without account\nChange-Id: Iebb7616f100368bf2e702ec51f637df1f3727885\n"
    },
    {
      "commit": "025fb33c9dbae35ce343d3f15cbf642518f82893",
      "tree": "882eb40e4638d060de59f84c37b8d787976fee08",
      "parents": [
        "f58179cda5a905f405efac4f116f5205e3b01611",
        "96c1db7b9d601c31d103389cac074a6cce0d7633"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 25 22:50:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 25 22:50:06 2017 +0000"
      },
      "message": "Merge \"Remove the repetitive warnings from the uapi headers.\""
    },
    {
      "commit": "96c1db7b9d601c31d103389cac074a6cce0d7633",
      "tree": "510f40be13090fa582b61aed7c3eb7e70d3ff559",
      "parents": [
        "6c01208e902b18aad4b0254ccb95b94a2b5fc341"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 25 13:48:01 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 25 13:48:01 2017 -0700"
      },
      "message": "Remove the repetitive warnings from the uapi headers.\n\nHaving\n\n  WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS\n\nevery four lines made the headers harder to read, made the diffs much worse\neach time we upgraded, and wasn\u0027t really providing any benefit. Before the\nnext uapi update, let\u0027s just stop doing this.\n\nBug: N/A\nTest: builds, manually inspected files look right\nChange-Id: Id7088cf750894c9d24950f3d53587fe3156c4f7d\n"
    },
    {
      "commit": "f58179cda5a905f405efac4f116f5205e3b01611",
      "tree": "d4986fc5db89ae3fdbd0a657fff911717db87bbc",
      "parents": [
        "1143a629772c85b779b0f8249e1e223e27ff7481",
        "8543f923fe46b958e5061dab6d0440c9e2cd7603"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 25 01:43:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 25 01:43:07 2017 +0000"
      },
      "message": "Merge \"Stop including \u003csys/sysmacros.h\u003e from \u003csys/types.h\u003e.\""
    },
    {
      "commit": "866e7b6906b71542c7ab4ce17c5943243058964f",
      "tree": "81587d3ceeaeeac9a06e49973e6fd854f0f6e9d6",
      "parents": [
        "6c01208e902b18aad4b0254ccb95b94a2b5fc341"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 24 16:00:37 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 24 16:06:11 2017 -0700"
      },
      "message": "Fix assembler warnings.\n\nThere are a few instructions deprecated on armv8 that result in lots\nof warnings. Add an arch directive so that these warnings go away.\n\nThis doesn\u0027t cause any problems because the instructions still\nexecute properly.\n\nBug: 38319728\n\nTest: Built all of these assembler files and verified the warning are gone.\nChange-Id: If063defdd16f290c01975233c8d257d1b2005e76\n"
    },
    {
      "commit": "6c01208e902b18aad4b0254ccb95b94a2b5fc341",
      "tree": "bbd9f3334c8aca3a9310095fa86d10eb707371f7",
      "parents": [
        "1f66c6d078922454a0a0c2f3a2141caf925ed9cf",
        "4af220cfefa9fe8c5c166882bfbc6ca0dfc065c4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 24 15:05:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 24 15:05:59 2017 +0000"
      },
      "message": "Merge \"Remove obsolete __stack_chk_fail_local.\""
    },
    {
      "commit": "1f66c6d078922454a0a0c2f3a2141caf925ed9cf",
      "tree": "67e2896666fb8bcf748879d4e4123e07ac3a3112",
      "parents": [
        "81a5b6f5585c056a5fe6f05fab1e39824c23256b",
        "468c8086e6f28b9342d3f89ed89f185ab5bb775a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 24 07:13:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 24 07:13:36 2017 +0000"
      },
      "message": "Merge \"Fix _POSIX_THREAD_PROCESS_SHARED.\""
    }
  ],
  "next": "4af220cfefa9fe8c5c166882bfbc6ca0dfc065c4"
}
