)]}'
{
  "log": [
    {
      "commit": "6cb06879323cb45440ca1c7b42a2cc754b3d50c6",
      "tree": "6c57a6539009e2af358daa368f538e82da1593f2",
      "parents": [
        "248b5cb672a9eadde695edb7d73e9d1ed5cb0b7f"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Fri Jul 21 13:28:42 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Jul 24 14:20:16 2017 -0700"
      },
      "message": "Split our FORTIFY implementation into libc_fortify\n\nAs requested in the bug. This also rips __memcpy_chk out of memcpy.S,\nwhich lets us cut down on copypasta (all of the implementations look\nidentical).\n\nBug: 12231437\nTest: mma on aosp_{arm,arm64,mips,x86,x86_64} internal master;\ncheckbuild on bullhead internal master; CtsBionicTestCases on bullhead.\nNo new failures.\nChange-Id: I88c39ca166bacde0b692aa3063e743bb046a5d2f\n"
    },
    {
      "commit": "248b5cb672a9eadde695edb7d73e9d1ed5cb0b7f",
      "tree": "110f75d21d5a35ca6ab81eb84428de96dc83057d",
      "parents": [
        "71853ad5c5e7572aed1568f661c100a21765ac14",
        "a57c87827c921bf0cba58b31abfbcdefa35608a8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Jul 22 01:22:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 22 01:22:09 2017 +0000"
      },
      "message": "Merge \"Explain how to handle device-specific headers.\""
    },
    {
      "commit": "71853ad5c5e7572aed1568f661c100a21765ac14",
      "tree": "58c57fe092a4b377166a1fdbbec600b780b83368",
      "parents": [
        "b8ce93974a675029c2c8360adf18bc67740658e1",
        "53c4c8abb009e3381bd8f5d223045eb6985c4f3d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 21 21:35:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 21 21:35:37 2017 +0000"
      },
      "message": "Merge \"Remove outdated _FORTIFY_SOURCE #undefs\""
    },
    {
      "commit": "53c4c8abb009e3381bd8f5d223045eb6985c4f3d",
      "tree": "32750eda49300dfda3c3815e6496429a6b6975e0",
      "parents": [
        "dcdd0e37603215320d4fd175792aeef279a80606"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Jul 20 15:13:09 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Fri Jul 21 11:25:52 2017 -0700"
      },
      "message": "Remove outdated _FORTIFY_SOURCE #undefs\n\nAFAICT, all of these were added prior to the new-style FORTIFY going\nin. Because clang saw two definitions of the \"same\" function, it got\nupset. (e.g. 35d937e4eb7b8e0a4e9a113d2f7434d55c0bc056)\n\nNow that our FORTIFY functions are overloads of their library functions,\nthese undefs can be removed.\n\n(This is a step toward making FORTIFY a library with -U_FORTIFY_SOURCE\non it, as requested in the bug.)\n\nBug: 12231437\nTest: CtsBionicUnitTests. No new failures.\n\nChange-Id: I844ff77106ee2bea72ae1cd0bb85d146939ecd05\n"
    },
    {
      "commit": "b8ce93974a675029c2c8360adf18bc67740658e1",
      "tree": "957c3b8f9ebf45cd310afd288317b7e11937078f",
      "parents": [
        "0d6485eca47f0e860486795b2da97679948fd5d5",
        "7c5a85165612641970973d426bad99257db3e149"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 19:21:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 20 19:21:38 2017 +0000"
      },
      "message": "Merge \"Use __RENAME_IF_FILE_OFFSET64 where possible.\""
    },
    {
      "commit": "a57c87827c921bf0cba58b31abfbcdefa35608a8",
      "tree": "d2f29bc7b6918d62e0820c236f75f25c435a469b",
      "parents": [
        "0d6485eca47f0e860486795b2da97679948fd5d5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 20 10:36:27 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 20 10:36:27 2017 -0700"
      },
      "message": "Explain how to handle device-specific headers.\n\nBug: N/A\nTest: N/A\nChange-Id: I12c41fcb4839ad86f5a1f62153a3348c3e40f90f\n"
    },
    {
      "commit": "7c5a85165612641970973d426bad99257db3e149",
      "tree": "957c3b8f9ebf45cd310afd288317b7e11937078f",
      "parents": [
        "0d6485eca47f0e860486795b2da97679948fd5d5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 20 10:00:28 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 20 10:00:28 2017 -0700"
      },
      "message": "Use __RENAME_IF_FILE_OFFSET64 where possible.\n\nIt\u0027s not usable for cases where the off_t and off64_t functions became\navailable in different API levels, so it\u0027s not as big an improvement as\nwe\u0027d hoped, but it cleans up several headers and should be usable for\nany future additions (though recent Linux additions have _only_ supported\noff64_t anyway).\n\nBug: N/A\nTest: builds\nChange-Id: I18b00f30666079d9d12d5b9c0ed916076d6c3641\n"
    },
    {
      "commit": "0d6485eca47f0e860486795b2da97679948fd5d5",
      "tree": "23f1f139b8b64a2f634f703421776086e9d839c6",
      "parents": [
        "a571e9e7486afcb18ba6acb3b36b463002a5a923",
        "f5605374da9605686352300de3e1bf342e72032d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 19 05:37:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 19 05:37:13 2017 +0000"
      },
      "message": "Merge \"Add __RENAME_IF_FILE_OFFSET64.\""
    },
    {
      "commit": "a571e9e7486afcb18ba6acb3b36b463002a5a923",
      "tree": "4088a9e270625e96e6dff850a5a2ceaa158c5b73",
      "parents": [
        "fbd8762e6e53b51a291716e77011eeb3edb8765d",
        "9ada00a82c0088fd5a9028828474879859e98a78"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 18 18:04:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 18 18:04:25 2017 +0000"
      },
      "message": "Merge \"Document the intricacies of `_FILE_OFFSET_BITS\u003d32` for LP32.\""
    },
    {
      "commit": "9ada00a82c0088fd5a9028828474879859e98a78",
      "tree": "2b6c2655ac9da6798a0c5804c3d0f89d30778a82",
      "parents": [
        "3537331942cdebab5ab53104b852c997a9bc0be5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 12 15:02:20 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 17 15:00:41 2017 -0700"
      },
      "message": "Document the intricacies of `_FILE_OFFSET_BITS\u003d32` for LP32.\n\nBug: https://github.com/android-ndk/ndk/issues/453\nTest: N/A\nChange-Id: I5c00e63c861b19071229d2eae737dfbeb550e7e8\n"
    },
    {
      "commit": "fbd8762e6e53b51a291716e77011eeb3edb8765d",
      "tree": "b4c5199fcd7d32fd5c75c384efda41f35653f394",
      "parents": [
        "dcdd0e37603215320d4fd175792aeef279a80606",
        "98414b343cbf5ce05eceacefb5ca51456b6e2751"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 17 21:45:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 17 21:45:46 2017 +0000"
      },
      "message": "Merge \"Make _scan_nan a bit less visible for libandroid_support users.\""
    },
    {
      "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": "98414b343cbf5ce05eceacefb5ca51456b6e2751",
      "tree": "b4c5199fcd7d32fd5c75c384efda41f35653f394",
      "parents": [
        "dcdd0e37603215320d4fd175792aeef279a80606"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 17 11:23:02 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 17 11:23:02 2017 -0700"
      },
      "message": "Make _scan_nan a bit less visible for libandroid_support users.\n\nBug: N/A\nTest: readelf\nChange-Id: Ibb5fbf09f6ae589a3e789107a641013fc6bc375b\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": "b1c3da1d89052c23bd2d4b32da760d16732dc765",
      "tree": "36c75f252a2a6d4e9acb5fc0781f000ba3ad0a2b",
      "parents": [
        "4ebed99e25f39bbf2f1222cbb0e2c8e77a992fda",
        "f1cee9662f689609bab846052f1eabb452d35064"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 14 22:09:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 14 22:09:50 2017 +0000"
      },
      "message": "Merge \"__cfi_slowpath[_diag] are available to NDK and VNDK clients\""
    },
    {
      "commit": "4ebed99e25f39bbf2f1222cbb0e2c8e77a992fda",
      "tree": "2291d61ace3ae4b59a5c0167e93051e8eb4b1106",
      "parents": [
        "03e9c498d4909d1f791800cae0d59db63a348328",
        "5ea0b0667f884b218dacd2cd93c3970b9e37bf34"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 14 18:51:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 14 18:51:03 2017 +0000"
      },
      "message": "Merge \"libm symbol cleanup.\""
    },
    {
      "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": "03e9c498d4909d1f791800cae0d59db63a348328",
      "tree": "6f51d32a767106129b313e477c8a7ffefce0132b",
      "parents": [
        "78c8b306ee22ad2925ada26d92cf2a41724c1d3c",
        "a35293534f1aa481cc299b1c092e6619806e17f7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 13 19:25:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 13 19:25:38 2017 +0000"
      },
      "message": "Merge \"Fix unistd._POSIX_macros_smoke test.\""
    },
    {
      "commit": "78c8b306ee22ad2925ada26d92cf2a41724c1d3c",
      "tree": "93a367ac59d0a11e4028ed8e9bfe06be0e6cfa58",
      "parents": [
        "2d585e0070f33ec86a5d5decf9642ee9f2501324",
        "3f03579589259ecdc1b15e7914aca31c8b0dc1de"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 13 19:21:11 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 13 19:21:11 2017 +0000"
      },
      "message": "Merge \"Move wchar _l functions out of wchar.cpp.\""
    },
    {
      "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": "a35293534f1aa481cc299b1c092e6619806e17f7",
      "tree": "b064397a1acb02d9767871fb48341b07ae86d1df",
      "parents": [
        "2d585e0070f33ec86a5d5decf9642ee9f2501324"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 13 10:20:41 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 13 10:20:41 2017 -0700"
      },
      "message": "Fix unistd._POSIX_macros_smoke test.\n\nWe now claim _POSIX2_VERSION, but the test wasn\u0027t updated.\n\nBug: N/A\nTest: ran tests\nChange-Id: Idb3369b3df4b964f585597f0d37962ae619322d2\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": "ada33eb9b4ec9e9fe2a37c8dbe1aa68348aa66b1",
      "tree": "6795905e2f4d90c6023429a43733caa94979bc37",
      "parents": [
        "b1e4cc31a4badad7f224c01c78f286381d72d929",
        "5fc1f6e887b980facb96a8a5d7629c3f6aa285da"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jul 13 06:13:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 13 06:13:14 2017 +0000"
      },
      "message": "Merge \"Really fix the mac build.\""
    },
    {
      "commit": "5fc1f6e887b980facb96a8a5d7629c3f6aa285da",
      "tree": "6795905e2f4d90c6023429a43733caa94979bc37",
      "parents": [
        "b1e4cc31a4badad7f224c01c78f286381d72d929"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 12 23:10:07 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 12 23:10:07 2017 -0700"
      },
      "message": "Really fix the mac build.\n\nI forgot an underscore.\n\nTest: Builds.\nChange-Id: Ib7da13dea315822af89c53a569fb0a0c2fd5d321\n"
    },
    {
      "commit": "b1e4cc31a4badad7f224c01c78f286381d72d929",
      "tree": "9cecb669fc34a743e3ca6e5d239cd8f625c670c8",
      "parents": [
        "61b7e114dde1230f4f4e9e6f6f401eeb18ecce60",
        "bad43c7af4ceea35c6eca993426459c0e6f8262e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 13 04:32:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 13 04:32:33 2017 +0000"
      },
      "message": "Merge \"Fix max build.\""
    },
    {
      "commit": "bad43c7af4ceea35c6eca993426459c0e6f8262e",
      "tree": "9cecb669fc34a743e3ca6e5d239cd8f625c670c8",
      "parents": [
        "61b7e114dde1230f4f4e9e6f6f401eeb18ecce60"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 12 19:33:32 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 12 19:33:54 2017 -0700"
      },
      "message": "Fix max build.\n\nTest: Built properly.\nChange-Id: I37b8ac7d42653617be6611b640a883066257214c\n"
    },
    {
      "commit": "f1cee9662f689609bab846052f1eabb452d35064",
      "tree": "8730b37b4c5483ae3c9e45795aaaa511f7c78fae",
      "parents": [
        "73d17e7720983d4aee5ebe5d2910bcc3fcb8e1b8"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jun 30 15:36:12 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jul 13 10:18:56 2017 +0900"
      },
      "message": "__cfi_slowpath[_diag] are available to NDK and VNDK clients\n\nWhen a vendor lib (or vendor-available platform lib) is built with\nsanitizer on, __cfi_slowpath_diag is required. However, when building\nfor those libs, the llndk stub of libdl.so is provided for them and\n__cfi_slowpath_diag is not exposed to the stub. In order to make the\nsanitizing build successful, expose the symbol.\n\nThese symbols are also exposed to NDK clients since we may want to CFI\nfor unbundled apps.\n\nBug: 63053790\nBug: 63342219\nTest: BOARD_VNDK_VERSION\u003dcurrent m -j libstagefright_foundation.vendor\n\nChange-Id: I081deddb4f66354aaecec4b395d4e17e5566c578\n"
    },
    {
      "commit": "61b7e114dde1230f4f4e9e6f6f401eeb18ecce60",
      "tree": "b1344e9ac93091c8c63722f12e19279b874f6caa",
      "parents": [
        "3537331942cdebab5ab53104b852c997a9bc0be5",
        "f4447b9105f2d42acd2bbe0ba1c602ef3562b681"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 12 22:56:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 12 22:56:13 2017 +0000"
      },
      "message": "Merge \"Support memory alignment tests for string_benchmark.cpp\""
    },
    {
      "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": "f4447b9105f2d42acd2bbe0ba1c602ef3562b681",
      "tree": "74a80edf3fb9f0f025e1a1dff79659dc514dc67b",
      "parents": [
        "42edca036e5c9ed24017de5fba41d5d1feda61d0"
      ],
      "author": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Fri Jun 23 15:53:59 2017 -0700"
      },
      "committer": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Wed Jul 12 13:42:23 2017 -0700"
      },
      "message": "Support memory alignment tests for string_benchmark.cpp\n\nTest: Manually verify that benchmark times are similar and add a unit test.\nChange-Id: Idaaeb4c8c3629f797ffd8d0c86c8d7b7b9653181\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": "3537331942cdebab5ab53104b852c997a9bc0be5",
      "tree": "7eb4b2ffb855e0cc530972661342b971e425df0c",
      "parents": [
        "61fcd39e1720df131e2a7a7c4075f344bb413ca1",
        "b364683ea65e24070c77f1673a8c155665eb894e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 11 21:34:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 11 21:34:08 2017 +0000"
      },
      "message": "Merge \"Sync with upstream OpenBSD: trivial stuff.\""
    },
    {
      "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": "fc544af6cb538c5a6916f9ebf5b02639383fb1f3",
      "tree": "83af6c6ce236fe2f1b42b9026b5077108d8ff28e",
      "parents": [
        "fbefc86310dc99ad5b7303de1b6f8dc129d343bd",
        "0acb63aaa636651deb5d55217633065ee50a7eee"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 11 17:41:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 11 17:41:13 2017 +0000"
      },
      "message": "Merge \"Properly handle elf-files without relocation sections\""
    },
    {
      "commit": "0acb63aaa636651deb5d55217633065ee50a7eee",
      "tree": "2bd4e648eb73e4e3c02ff405c06f647faaec4d48",
      "parents": [
        "ddefae7ba92c40d60f2401e010e7789bee6f260d"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Jul 11 16:51:45 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Jul 11 17:00:09 2017 +0200"
      },
      "message": "Properly handle elf-files without relocation sections\n\nRelocation packer no longer complains about missing\nrelocation sections.\n\nTest: relocation-packer-unit-tests\nTest: mm\nChange-Id: I56814be326c15e046db1a96d14568d951f689ae2\n"
    },
    {
      "commit": "fbefc86310dc99ad5b7303de1b6f8dc129d343bd",
      "tree": "38424c007cd8adcfd6f2e14affcfc9a888d97199",
      "parents": [
        "73d17e7720983d4aee5ebe5d2910bcc3fcb8e1b8",
        "95d8fb1e843bee1b94df7027ac21d8ef570c7740"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 11 08:10:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 11 08:10:41 2017 +0000"
      },
      "message": "Merge \"sys_ptrace_test: Better detect missing HW support\""
    },
    {
      "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": "95d8fb1e843bee1b94df7027ac21d8ef570c7740",
      "tree": "94ef63462e5f8089002a0d2ebf617e0c7351e1bf",
      "parents": [
        "ddefae7ba92c40d60f2401e010e7789bee6f260d"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "labath@google.com",
        "time": "Fri Jul 07 11:42:34 2017 +0100"
      },
      "committer": {
        "name": "Pavel Labath",
        "email": "labath@google.com",
        "time": "Mon Jul 10 12:52:35 2017 +0000"
      },
      "message": "sys_ptrace_test: Better detect missing HW support\n\nIf the hardware debug support is missing from the CPU, the kernel can\nend up in the state where it reports that it supports N(\u003e0) watchpoints,\nbut the \"maximum supported watchpoint size\" is zero.\n\nThis is not a really sensible API, but it is what we have. I\u0027m going to\nspeak to folks upstream about whether we can have it report something\nmore sensible, but that will take a while (if ever).\n\nSo, for the time being, detect this situation and treat it as if no\nhardware watchtpoints/breakpoints are supported.\n\nTest: bionic-unit-tests --gtest_filter\u003d\"sys_ptrace.*\"\nChange-Id: Id6a013c9bec8d8b450b4a36c28431f6b7fd15879\nBug: 63116544\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": "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": "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.\""
    }
  ],
  "next": "ae837f2e5936d621a3d3760a464aed83f2cd337e"
}
