)]}'
{
  "log": [
    {
      "commit": "a19bc2d4edfc261bdccfc5f855c50e83477b3757",
      "tree": "2cb3b588486f4d25f0574499fe6a1913e56cacbf",
      "parents": [
        "f97b27a9c06a61206dd1edbbfc5e11b2a293b462"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Nov 15 14:04:16 2016 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Nov 16 10:55:20 2016 -0800"
      },
      "message": "Fix uninitialized variable usage.\n\nIf the dladdr call fails, then info.dli_fname will be unitialized.\nMake sure that this can\u0027t happen.\n\nBug: 32907235\n\nTest: Enabled malloc debug on an angler and verified that function names\nTest: still work.\nChange-Id: I738e66d9f37bce07bc4c10f1f9bac11fbfdae2c7\n"
    },
    {
      "commit": "f97b27a9c06a61206dd1edbbfc5e11b2a293b462",
      "tree": "e3a486ebb7ce76048260ccf3f5dc8a97ac83cd32",
      "parents": [
        "b3321c961452f69650e4a6bd2a7db317a80b3234",
        "98c6688d64f7eee601e0acc82adf01f64775e6ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 15 19:04:25 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 15 19:04:25 2016 +0000"
      },
      "message": "Merge \"Differentiate the wctype functions we need to improve.\""
    },
    {
      "commit": "b3321c961452f69650e4a6bd2a7db317a80b3234",
      "tree": "9471f536d800a1ca4bb71a638edd11eb1a2496bd",
      "parents": [
        "cd9ce19e9ce34db6201bdb054c40c3b9e766d2d8",
        "78b8a1430debfb9361e425e52e8366409b9e5cd2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 15 00:54:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 15 00:54:09 2016 +0000"
      },
      "message": "Merge changes I72d37b7c,I7d254a10,I2e967acf\n\n* changes:\n  versioner: use a virtual filesystem for input files.\n  versioner: cache -cc1 flags generated by the clang Driver.\n  versioner: refactor to use CompilerInstance directly.\n"
    },
    {
      "commit": "98c6688d64f7eee601e0acc82adf01f64775e6ac",
      "tree": "2504086b9e2b9fcde64f3ffd6603ca257dde7724",
      "parents": [
        "84e269d5af7f6ae82afb066a6b69674180d44d2d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 14 12:55:59 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 14 12:55:59 2016 -0800"
      },
      "message": "Differentiate the wctype functions we need to improve.\n\nSome of these are genuinely fine as-is.\n\nTest: bionic tests still pass\nChange-Id: Iab6d86d818dcc5857e7932a9effa04001195386f\n"
    },
    {
      "commit": "cd9ce19e9ce34db6201bdb054c40c3b9e766d2d8",
      "tree": "29e8e89a658da5234a7b95bb454261040b1f037f",
      "parents": [
        "84e269d5af7f6ae82afb066a6b69674180d44d2d",
        "a170d9bfc5fd34097a184bb0ca4d2b459fd93bd1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 11 22:20:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 11 22:20:18 2016 +0000"
      },
      "message": "Merge changes I7f32dc9f,I9d88ddb1\n\n* changes:\n  Revert \"Revert \"Attempt to use arc4random where getauxval(AT_RANDOM) is used.\"\"\n  Revert \"Revert \"Update getentropy_linux.c from upstream.\"\"\n"
    },
    {
      "commit": "a170d9bfc5fd34097a184bb0ca4d2b459fd93bd1",
      "tree": "272823099dddc33188abc094c4902f8dd274e55d",
      "parents": [
        "98d655ce964a9c5ca8d80b54fd88f1fbb2dbb212"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 10 16:08:29 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 10 17:02:45 2016 -0800"
      },
      "message": "Revert \"Revert \"Attempt to use arc4random where getauxval(AT_RANDOM) is used.\"\"\n\nThis reverts commit 60d052dda600f26fdb6180ac1a2c53e97df5a58a.\n\nBug: http://b/27729263\nChange-Id: I7f32dc9f9a1f21fda3213f10da940821e1bdd63f\n"
    },
    {
      "commit": "98d655ce964a9c5ca8d80b54fd88f1fbb2dbb212",
      "tree": "a8f285eb142bac9a0a46d2c10b56701fdca2356f",
      "parents": [
        "42eb0b255507ca4d3b4e94b7756c15ab742261c0"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 10 16:08:20 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 10 17:02:37 2016 -0800"
      },
      "message": "Revert \"Revert \"Update getentropy_linux.c from upstream.\"\"\n\nThis reverts commit b3fbee449c314aee4bdc2f1720a931ea56c32f62.\n\nBug: http://b/27729263\nChange-Id: I9d88ddb11466d203514ae805f4681c92e4b63c24\n"
    },
    {
      "commit": "16016df79f846d6d21266c3b1dce1e7c24dc4be1",
      "tree": "848d465210b468dbcdb9b94a2519b40a256bf323",
      "parents": [
        "42eb0b255507ca4d3b4e94b7756c15ab742261c0"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Nov 07 18:27:16 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 09 13:50:07 2016 -0800"
      },
      "message": "versioner: refactor to use CompilerInstance directly.\n\nThis will make it easier to switch over to a virtual filesystem,\nwhich should drastically improve performance.\n\nThis also fixes an issue with warning/error reporting.\n\nBug: http://b/32748936\nTest: python run_tests.py\nChange-Id: I2e967acf75db29c95f3a03f4f94cccd22c367ad5\n"
    },
    {
      "commit": "8bfaac0f8ad5f280d1f893fe682e007dd0820692",
      "tree": "7ef8d9c77682ba3abd7a1ee3c5c4857c5480fb42",
      "parents": [
        "bfc6ce6424488b199cf58cf478c405ac6308c346",
        "f6a21bfac5abf7c6fc121ca1caa78528690a25dd"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Nov 08 20:59:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 08 20:59:42 2016 +0000"
      },
      "message": "Merge \"Eliminate deadlock in forked child due to delayed resetting mutex lock\""
    },
    {
      "commit": "bfc6ce6424488b199cf58cf478c405ac6308c346",
      "tree": "ddb16bf4200bd0927094a5b421376bfb4e315617",
      "parents": [
        "59a3439fe8d767130c8574e18c97e996c21f98e2",
        "ff5f17bc8acfd0c1382fa0fb4a1fe53102a32d49"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 08 01:05:47 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 08 01:05:48 2016 +0000"
      },
      "message": "Merge \"Remove bogus OPEN_MAX and CHILD_MAX constants.\""
    },
    {
      "commit": "ff5f17bc8acfd0c1382fa0fb4a1fe53102a32d49",
      "tree": "29c689cf8a18177689bb4e169d024434cf4cb9a0",
      "parents": [
        "2560a2703d1ab6df6d5f25ca9ff0c907de984885"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 07 14:03:00 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 07 14:03:00 2016 -0800"
      },
      "message": "Remove bogus OPEN_MAX and CHILD_MAX constants.\n\nThese are BSD-isms that don\u0027t make sense on Linux but do lead people astray.\n\nBug: http://b/32678775\nTest: builds \u0026 boots\nChange-Id: If6d3636f5f8d1b392b08c997dba2afde61b31fb6\n"
    },
    {
      "commit": "75097b1220c4d5851501736c79c2348adaee8cf2",
      "tree": "c53965b20c963294b3ae1ac23f70378c5b1decb3",
      "parents": [
        "2560a2703d1ab6df6d5f25ca9ff0c907de984885"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Nov 04 11:39:16 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Nov 07 13:12:38 2016 -0800"
      },
      "message": "Add legacy inlines for fenv APIs.\n\nTest: make native\n      Copied into the NDK and ran ndk/checkbuild.py\nBug: None\n\nChange-Id: I3d1e9317952ad23145a1f5221e347a16ebad4b0d\n"
    },
    {
      "commit": "2560a2703d1ab6df6d5f25ca9ff0c907de984885",
      "tree": "1282913e13845e6a461aa7dd69a278be484408b6",
      "parents": [
        "9957485378f8eef13f1abff56b8cff09b4fa45e6",
        "60dc6b2840ed9eb420a5783b904cdba8b9fc4f81"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 07 19:12:38 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 07 19:12:38 2016 +0000"
      },
      "message": "Merge changes I660ddce6,Ic58d0481,I5d45aa72\n\n* changes:\n  Mark LIBC_DEPRECATED as platform-only.\n  Remove _ZTV9type_info from the version script.\n  Run genversion-scripts.py.\n"
    },
    {
      "commit": "9957485378f8eef13f1abff56b8cff09b4fa45e6",
      "tree": "aaa6f161d52e07776a683d4e02c7fc4cb920bd2f",
      "parents": [
        "a3ab8ebedd40774aec86c9d42173045eb58842ed",
        "5bde25f61a33bd4881d4bc015be787a07443cc25"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Nov 07 16:42:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 07 16:42:55 2016 +0000"
      },
      "message": "Merge \"Fix cortex-a53 inclusion of files.\""
    },
    {
      "commit": "a3ab8ebedd40774aec86c9d42173045eb58842ed",
      "tree": "00522d6f8be06931ca6bd3b63e45632d61103bd5",
      "parents": [
        "95780f2b42963380afd51ffa1bd7948a7fc26285",
        "eb596533e3fbe6a17b65ea0228946499c8da6b84"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 07 16:33:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 07 16:33:35 2016 +0000"
      },
      "message": "Merge \"Fix format macros for fast16 and fast32 int types.\""
    },
    {
      "commit": "275659a0fdb07b3327881a875a1c93155a25a9bc",
      "tree": "aad5d4d1dc8ba998999a9c6808ff5925e5836447",
      "parents": [
        "147fdb4724b58efed40327d3537425574fc56730",
        "4c015e209da33ccb30e4576363ef4777b69dd6d9"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Nov 07 11:11:13 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 07 11:11:13 2016 +0000"
      },
      "message": "Merge \"Update timezone data to 2016i.\""
    },
    {
      "commit": "5bde25f61a33bd4881d4bc015be787a07443cc25",
      "tree": "59a9eed84b1ae96550ec53bc13d5789933056da9",
      "parents": [
        "f1649d92f7869331ea1c4db7f2bb189489af03e6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sun Nov 06 23:35:15 2016 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sun Nov 06 23:36:32 2016 -0800"
      },
      "message": "Fix cortex-a53 inclusion of files.\n\nI accidentally broken the cortex-a53 because it directly includes files\nfrom cortex-a15. Rather than revert that part, just copy over the files\nthat are needed directly so we don\u0027t run into this in the future.\n\nTest: Built the aosp_angler-userdebug target using cortex-a53 as the\nTest: arm target. Then built the bionic unit tests and ran them on\nTest: an angler.\n\nChange-Id: Id89e240b31f94e99f5076e1de973a9344486ec35\n"
    },
    {
      "commit": "f6a21bfac5abf7c6fc121ca1caa78528690a25dd",
      "tree": "3fe32d243b3fede11b25398e85a10aff1a5599c3",
      "parents": [
        "42eb0b255507ca4d3b4e94b7756c15ab742261c0"
      ],
      "author": {
        "name": "Mingwei Shi",
        "email": "mingwei.shi@intel.com",
        "time": "Thu Nov 03 14:53:45 2016 +0000"
      },
      "committer": {
        "name": "Mingwei Shi",
        "email": "mingwei.shi@intel.com",
        "time": "Mon Nov 07 03:32:57 2016 +0000"
      },
      "message": "Eliminate deadlock in forked child due to delayed resetting mutex lock\n\nFor some program implementation, the pattern like below, calling \npthread_atfork to register atfork interfaces.\n\n    pthread_atfork(\u0026atfork_prepare, \u0026atfork_parent, \u0026atfork_child);\n\nWhen the program is expected to reopen the shared library\u0027s handle \ninherited from parent in child process. Maybe, dlclose is called in \natfork_child to release the shared library handle before reopen it. \nThen, dlclose will indrectly call _cxa_finalize and finaly call \n__unregister_atfork when dso is not NULL.\n\n    atfork_child() -\u003e dlclose() -\u003e __on_dlclose() \n    \t-\u003e __cxa_finalize() -\u003e __unregister_atfork(dso)\n\nIn __unregister_atfork, firstly, it try to hold the g_atfork_list_mutex \nlock to operate the g_atfork_list. Due to the registered atfork_child is\nexecuted before resetting g_atfork_list_mutex lock in child, the child \nprocess will be blocked here because of deadlock.\n\nTest: bionic-unit-tests32 --gtest_filter\u003dpthread.pthread_atfork_child_with_dlclose \nwithout the fixing, the test will be timeout.\n\nChange-Id: I35d3001682c836e0955d6d681bc5f9297fad0c7b\nSigned-off-by: Mingwei Shi \u003cmingwei.shi@intel.com\u003e\nSigned-off-by: Qiming Shi \u003cqiming.shi@intel.com\u003e\nSigned-off-by: Chao Xie \u003cchao.xie@intel.com\u003e\n"
    },
    {
      "commit": "f41032a3e2da87d51a161da8bbcec8ae9f254bdd",
      "tree": "bab889b74e1d9b5068b92021c0fe0e911f6ea556",
      "parents": [
        "bf67936b4b23ff75f4de7976848b425d74ca2de8",
        "e462117087b5fa34ec6c1ca22c84b2a34b9ab95c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 05 01:24:13 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 05 01:24:14 2016 +0000"
      },
      "message": "Merge \"Set __get_thread()-\u003etid as part of clone().\""
    },
    {
      "commit": "57e094f30a3c53185d4acb1791522cd767bdc2c6",
      "tree": "fc21def4f370b817dbfffe84b1df5a99f12690af",
      "parents": [
        "832ccc266731951f009ec8fbf6e9a27b8ade71cb"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Nov 04 16:48:53 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Nov 04 16:51:45 2016 -0700"
      },
      "message": "Remove _ZTV9type_info from the version script.\n\nWe broke this ABI in L:\nhttps://android-review.googlesource.com/c/95071/.\n\nThis ABI break is now in over half of all devices, so it\u0027s more\ncorrect to not have it than it is to have it. It\u0027s also worth noting\nthat this was only ever in ARM and MIPS; it was never in x86.\n\nTest: make native\nBug: None\nChange-Id: Ic58d048191f72d58fe72a2691bebbbfeda14bdf1\n"
    },
    {
      "commit": "832ccc266731951f009ec8fbf6e9a27b8ade71cb",
      "tree": "719a9b43756171eae1868627b9a6350027853742",
      "parents": [
        "bf67936b4b23ff75f4de7976848b425d74ca2de8"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Nov 04 15:05:30 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Nov 04 16:29:16 2016 -0700"
      },
      "message": "Run genversion-scripts.py.\n\nI forgot to run this after adding NDK info to libstdc++.\n\nTest: make native\nBug: None\nChange-Id: I5d45aa7207b9eb548a233442aa0e3ab77d98baeb\n"
    },
    {
      "commit": "e462117087b5fa34ec6c1ca22c84b2a34b9ab95c",
      "tree": "96e177dcdd36a2cc1874481819da3abee2829200",
      "parents": [
        "42eb0b255507ca4d3b4e94b7756c15ab742261c0"
      ],
      "author": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Thu Nov 03 15:00:53 2016 -0400"
      },
      "committer": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Fri Nov 04 16:57:20 2016 -0400"
      },
      "message": "Set __get_thread()-\u003etid as part of clone().\n\nThis was previously done only in fork() and pthread_create(), but this left raw\nclone() with an invalid cached tid. Since the tid is used for pthread routines,\nthis led to unstable behavior after clone().\n\nTest: ltp clone01 (see bug for more)\nTest: mmma bionic/tests\nTest: bionic-unit-tests-static --gtest_filter\u003d*fork*:*clone*\n\nBug: 32612735\nBug: 32305649\nChange-Id: I30eae5a8024b4c5da65476fcadfe14c6db35bb79\n"
    },
    {
      "commit": "4c015e209da33ccb30e4576363ef4777b69dd6d9",
      "tree": "e578dbcfffdb371124d4160dd213ca72d277e412",
      "parents": [
        "aea8407ad5c7e559c4cc6a05e46e37fa22f81d35"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Nov 04 16:23:47 2016 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Nov 04 16:23:47 2016 +0000"
      },
      "message": "Update timezone data to 2016i.\n\nIANA changes:\n\n  Briefly: Cyprus split into two time zones on 2016-10-30, and Tonga\n  reintroduces DST on 2016-11-06.\n\n  Changes to future time stamps\n\n    Pacific/Tongatapu begins DST on 2016-11-06 at 02:00, ending on\n    2017-01-15 at 03:00.  Assume future observances in Tonga will be\n    from the first Sunday in November through the third Sunday in\n    January, like Fiji.  (Thanks to Pulu ʻAnau.)  Switch to numeric\n    time zone abbreviations for this zone.\n\n  Changes to past and future time stamps\n\n    Northern Cyprus is now +03 year round, causing a split in Cyprus\n    time zones starting 2016-10-30 at 04:00.  This creates a zone\n    Asia/Famagusta.  (Thanks to Even Scharning and Matt Johnson.)\n\n    Antarctica/Casey switched from +08 to +11 on 2016-10-22.\n    (Thanks to Steffen Thorsen.)\n\n  Changes to past time stamps\n\n    Several corrections were made for pre-1975 time stamps in Italy.\n    These affect Europe/Malta, Europe/Rome, Europe/San_Marino, and\n    Europe/Vatican.\n\n    First, the 1893-11-01 00:00 transition in Italy used the new UT\n    offset (+01), not the old (+00:49:56).  (Thanks to Michael\n    Deckers.)\n\n    Second, rules for daylight saving in Italy were changed to agree\n    with Italy\u0027s National Institute of Metrological Research (INRiM)\n    except for 1944, as follows (thanks to Pierpaolo Bernardi, Brian\n    Inglis, and Michael Deckers):\n\n      The 1916-06-03 transition was at 24:00, not 00:00.\n\n      The 1916-10-01, 1919-10-05, and 1920-09-19 transitions were at\n      00:00, not 01:00.\n\n      The 1917-09-30 and 1918-10-06 transitions were at 24:00, not\n      01:00.\n\n      The 1944-09-17 transition was at 03:00, not 01:00.  This\n      particular change is taken from Italian law as INRiM\u0027s table,\n      (which says 02:00) appears to have a typo here.  Also, keep the\n      1944-04-03 transition for Europe/Rome, as Rome was controlled by\n      Germany then.\n\n      The 1967-1970 and 1972-1974 fallback transitions were at 01:00,\n      not 00:00.\n\nBug: 32629043\nTest: CtsIcuTestCases / CtsLibcoreTestCases / CtsBionicTestCases\nChange-Id: Ica473348c063d2d0372b30ce6d184742db042c05\n"
    },
    {
      "commit": "aea8407ad5c7e559c4cc6a05e46e37fa22f81d35",
      "tree": "fdcc3ac51190aadab349cbdf3b1dde7f227944fd",
      "parents": [
        "42eb0b255507ca4d3b4e94b7756c15ab742261c0",
        "fe1af1a64b88bdb58cca7015d426af8c5b1a80d9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Nov 03 22:40:16 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 03 22:40:16 2016 +0000"
      },
      "message": "Merge \"Small cleanup of cortex-a15 code.\""
    },
    {
      "commit": "42eb0b255507ca4d3b4e94b7756c15ab742261c0",
      "tree": "a45c73f20070f7c40fbd52f798d3a086977699b6",
      "parents": [
        "654287fd73f468f2bf7310be594d2ac764b43cfa",
        "e749abe9ab6dfaf9be17097f97080ee9c2f67c5d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 02 19:56:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 02 19:56:10 2016 +0000"
      },
      "message": "Merge changes I751520a1,I5762e815\n\n* changes:\n  Add legacy inline for wait4.\n  Revert \"Add legacy inlines for locale aware APIs.\"\n"
    },
    {
      "commit": "fe1af1a64b88bdb58cca7015d426af8c5b1a80d9",
      "tree": "19247921eb8a2648a2f321b39df018cb3fc667ea",
      "parents": [
        "8c22ff76e263db28afbfb08c2d59a46a76707d99"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Nov 01 14:25:57 2016 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Nov 01 14:28:22 2016 -0700"
      },
      "message": "Small cleanup of cortex-a15 code.\n\nRemove new version of the cortex-a15 that caused a regression. We are never\ngoing to revisit that code, and it is only confusing things.\n\nAlso remove the setting of MEMCPY_BASE and use the correct include\ndirectly.\n\nTest: Compiled angler with 32 bit arch as cortex-a15. Ran 32 bit bionic\nTest: unit tests on angler.\n\nChange-Id: I9372c01758fd7a596849c87b1a3f805bb477c94f\n"
    },
    {
      "commit": "e749abe9ab6dfaf9be17097f97080ee9c2f67c5d",
      "tree": "f2ee3a35af85b6cefd39a8cc8955789422ef2be3",
      "parents": [
        "a3ce418ca6ad440d19c98e15132a76a877eb0bdc"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Oct 31 20:12:03 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Oct 31 20:20:25 2016 -0700"
      },
      "message": "Add legacy inline for wait4.\n\nThis wasn\u0027t added to Android until android-18. Note that the reason\nI\u0027m adding an inline here even though I just reverted a bunch of\ninlines in the previous commit is because this was an inline in the\nlegacy NDK headers. If it was in the old headers, it needs to be in\nthe unified headers. If it wasn\u0027t, it needs to be in\nlibandroid_support.\n\nTest: ./tools/update_headers.py \u0026\u0026 make ndk \u0026\u0026 make native\n      # Copied into working directory for unified headers NDK work.\n      ndk/checkbuild.py\n      ndk/run_tests.py --force-unified-headers\nBug: None\n\nChange-Id: I751520a1df34b3edb5c59b4bd47170c4634a1883\n"
    },
    {
      "commit": "a3ce418ca6ad440d19c98e15132a76a877eb0bdc",
      "tree": "58f66cc6dc1d48da0d67a0c409a3f534ed90f1e3",
      "parents": [
        "9b908c8e36a6e644d5c42a7ed549ae7d4ab57667"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Oct 31 16:20:47 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Oct 31 16:47:22 2016 -0700"
      },
      "message": "Revert \"Add legacy inlines for locale aware APIs.\"\n\nWe can\u0027t really add these to the unified headers yet since we\u0027re\nstill using the old headers as well, and libandroid_support needs to\nwork with both. These functions are already defined in\nlibandroid_support, so when using unified headers we\u0027ll get duplicate\ndefinitions.\n\nThis was only going to be a temporary solution anyway. Instead we\u0027ll\njust rely on libandroid_support (and eventually its rewrite) to handle\nthese.\n\nThis reverts commit 6576a3749bd3805508294bfcac3d9658fc0f8d6e.\n\nTest: ./tools/update_headers.py \u0026\u0026 make ndk \u0026\u0026 make native\n      # Copied into working directory for unified headers NDK work.\n      ndk/checkbuild.py\n      ndk/run_tests.py --force-unified-headers\nBug: None\n\nChange-Id: I5762e815e2030c89d7f2540df08dd67b6c2d10a5\n"
    },
    {
      "commit": "8c22ff76e263db28afbfb08c2d59a46a76707d99",
      "tree": "4a49511083a75acc5ab05768a3e2c632da1282c0",
      "parents": [
        "9b908c8e36a6e644d5c42a7ed549ae7d4ab57667",
        "a4edf7a57cf818d19546c86b74146335468ea53f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 29 02:09:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 29 02:09:56 2016 +0000"
      },
      "message": "Merge \"Fix gettid() after clone().\""
    },
    {
      "commit": "9b908c8e36a6e644d5c42a7ed549ae7d4ab57667",
      "tree": "87021c3276796b81dba00b95a8a0bd0c04526faf",
      "parents": [
        "b1d98da378154cef6df238a7e20ce3e911e5649f",
        "e6ee960aeff9d543839cd84b38ce599942bca26e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 28 17:23:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 28 17:23:49 2016 +0000"
      },
      "message": "Merge \"Replace .align with .balign for clarity\""
    },
    {
      "commit": "a4edf7a57cf818d19546c86b74146335468ea53f",
      "tree": "1199a22df4fe7e794399611016d0a6cf7561b497",
      "parents": [
        "bd839d100d1c4802cf53f3d27bb73e6032719762"
      ],
      "author": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Tue Oct 25 10:29:02 2016 -0400"
      },
      "committer": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Fri Oct 28 12:14:23 2016 -0400"
      },
      "message": "Fix gettid() after clone().\n\nThe tid is cached in the pthread_internal_t and is properly re-set after fork()\nand pthread_create(). But after a plain clone() the value is stale from the\nparent.\n\nTest: mmma bionic/tests\nTest: bionic-unit-tests-static --gtest_filter\u003d*fork*:*clone*\nTest: m checkbuild tests\nTest: angler boots\n\nBug: 32305649\nChange-Id: I026d416d1537484cd3e05c8493a35e5ed2acc8ed\n"
    },
    {
      "commit": "e6ee960aeff9d543839cd84b38ce599942bca26e",
      "tree": "e96cfb59cb203354956fb03116f3c41d92b76ebd",
      "parents": [
        "bd839d100d1c4802cf53f3d27bb73e6032719762"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 27 02:32:47 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 27 05:11:56 2016 -0700"
      },
      "message": "Replace .align with .balign for clarity\n\nTest: run bionic-unit-tests\nChange-Id: Icb43cc47e41d58fe3cb71986e05b3134022f895c\n"
    },
    {
      "commit": "eb596533e3fbe6a17b65ea0228946499c8da6b84",
      "tree": "4000afc9e630b8fa45184e3595112ef820ab5fb2",
      "parents": [
        "7409b9cfed78ca730e437a8690527dfc8cf31b64"
      ],
      "author": {
        "name": "Xiaolei Yu",
        "email": "dreifachstein@gmail.com",
        "time": "Tue Oct 25 22:10:51 2016 +0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 26 17:52:38 2016 -0700"
      },
      "message": "Fix format macros for fast16 and fast32 int types.\n\nAlso change original format test to cover all cases.\n\nTest: bionic unit tests\nChange-Id: I2995145562c02918e0b596c008e63459912447ab\n"
    },
    {
      "commit": "beb879662470fb01f8062c173d9e6fc1b76988ee",
      "tree": "554ffa8777d6eb8029e9f74f2df9996c95bea7df",
      "parents": [
        "7409b9cfed78ca730e437a8690527dfc8cf31b64"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 26 17:01:32 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 26 17:01:58 2016 -0700"
      },
      "message": "Use ENTRY_PRIVATE in __bionic_clone assembler.\n\nBug: N/A\nTest: bionic tests\nChange-Id: Ic651d628be009487a36d0b2e5bcf900b981b1ef9\n"
    },
    {
      "commit": "689ba18e11e12d831bb036d34d7aa73d857a5093",
      "tree": "a4777b041d11d1d154a32fe97de1907083df6a17",
      "parents": [
        "268b3d8878e6b22a57fe52b127aa4bcdbf7c2c2b",
        "9bf2497c4aaf2bd405b275de872aacc3f2c78bdd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 26 15:33:11 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 26 15:33:12 2016 +0000"
      },
      "message": "Merge \"_FILE_OFFSET_BITS\u003d64\u0027s posix_fallocate should be posix_fallocate64.\""
    },
    {
      "commit": "9bf2497c4aaf2bd405b275de872aacc3f2c78bdd",
      "tree": "a3fb2cb8008aa60f5c979a65973c0d2a06e1c118",
      "parents": [
        "5e6eb761fcc3df72dd3aca9fef8ab859b98b0e9c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 25 14:13:32 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 25 14:13:32 2016 -0700"
      },
      "message": "_FILE_OFFSET_BITS\u003d64\u0027s posix_fallocate should be posix_fallocate64.\n\nBug: found when reproducing http://b/32331571\nTest: \"toybox fallocate -l 3m /data/local/tmp/new\" on LP32\nChange-Id: I4ec5835813b9556d824a12ad650bdf55698ea539\n"
    },
    {
      "commit": "268b3d8878e6b22a57fe52b127aa4bcdbf7c2c2b",
      "tree": "f13e148fbe472be848fb7e8f17f98f882c234849",
      "parents": [
        "e0baade272a531a42dfa0a1c32769097be8ef653",
        "08bfe4f351eaee3b956419186c6bc2b3b967560f"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Oct 25 08:28:11 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 08:28:11 2016 +0000"
      },
      "message": "Merge \"Update timezone data to 2016h.\""
    },
    {
      "commit": "e0baade272a531a42dfa0a1c32769097be8ef653",
      "tree": "0e10d313ad80a45380f8585553c7462a6a060032",
      "parents": [
        "5e6eb761fcc3df72dd3aca9fef8ab859b98b0e9c",
        "4da06c0d64fd2b4680fb4123f21a6fc8720e1c1e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 25 04:43:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 04:43:20 2016 +0000"
      },
      "message": "Merge \"Don\u0027t scan .swp files for copyright headers.\""
    },
    {
      "commit": "4da06c0d64fd2b4680fb4123f21a6fc8720e1c1e",
      "tree": "f9e55149e92c9f97df4fe1d3cb3a52dec3f25855",
      "parents": [
        "bd839d100d1c4802cf53f3d27bb73e6032719762"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 17:34:42 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 17:34:42 2016 -0700"
      },
      "message": "Don\u0027t scan .swp files for copyright headers.\n\nThese are binary files, so that\u0027s not a good idea.\n\nBug: N/A\nTest: N/A\nChange-Id: If5e98df4bbbbac8a15a953be043df7d05c2b409a\n"
    },
    {
      "commit": "5e6eb761fcc3df72dd3aca9fef8ab859b98b0e9c",
      "tree": "a7712415a8221c895e5a1cbfb16d3ba75ceedc99",
      "parents": [
        "ac96f6affcaaa58556f9e7371e3cdea33215eb3c",
        "53de874c3cd5b8aa243546bb1c206f5a709db1fd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 25 00:33:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 00:33:43 2016 +0000"
      },
      "message": "Merge \"The default locale \"\" should be a UTF-8 locale.\""
    },
    {
      "commit": "53de874c3cd5b8aa243546bb1c206f5a709db1fd",
      "tree": "982316adf0c878fb85bf7c4579a04c4f631424dc",
      "parents": [
        "bd839d100d1c4802cf53f3d27bb73e6032719762"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 14:50:31 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 14:50:31 2016 -0700"
      },
      "message": "The default locale \"\" should be a UTF-8 locale.\n\n\"ls -q\" (or \"adb shell -tt ls\") was mangling non-ASCII because mbrtowc\nwas returning multibyte characters as their individual bytes. This was\nbecause toybox asks for \"\" rather than \"C.UTF-8\", and for some reason\nwe were interpreting that as \"C\" rather than \"C.UTF-8\".\n\nTest: bionic tests, ls\nChange-Id: Ic60e3b90cd5fe689e5489fad0d5d91062b9594ed\n"
    },
    {
      "commit": "dfb74c5f597542c7587a4144eb31b143d82a2281",
      "tree": "6518b6dbd451d3359c9daec78867a66481dc77fd",
      "parents": [
        "bd839d100d1c4802cf53f3d27bb73e6032719762"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 12:53:17 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 12:57:55 2016 -0700"
      },
      "message": "Minor copyright header unification.\n\nRegenerating the NOTICE file the other day left me scratching my head at\nvarious \"how do they differ?\" cases, resolved by this patch.\n\nTest: N/A\nChange-Id: I4230bfa1d7ec842a4b9fb8c73dd3b39443d74054\n"
    },
    {
      "commit": "08bfe4f351eaee3b956419186c6bc2b3b967560f",
      "tree": "dd890c96d2b5e2ba9e013593190ad4b0f8a1754d",
      "parents": [
        "bd839d100d1c4802cf53f3d27bb73e6032719762"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Oct 21 14:35:42 2016 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Oct 21 14:38:27 2016 +0100"
      },
      "message": "Update timezone data to 2016h.\n\nIANA update relating to the data as follows:\n\nThe 2016h release of the tz code and data is available. Its primary\nmotivation is to update to the new rules for Palestine, where 2016g\nbecomes incorrect starting about four hours from now (sorry, we\ndidn\u0027t get much notice). More generally, the 2016h release reflects\nthe following changes, which were either circulated on the tz mailing\nlist or are relatively minor technical or administrative changes:\n\n  Changes to future time stamps\n\n    Asia/Gaza and Asia/Hebron end DST on 2016-10-29 at 01:00, not\n    2016-10-21 at 00:00.  (Thanks to Sharef Mustafa.)  Predict that\n    future fall transitions will be on the last Saturday of October\n    at 01:00, which is consistent with predicted spring transitions\n    on the last Saturday of March.  (Thanks to Tim Parenti.)\n\n  Changes to past time stamps\n\n    In Turkey, transitions in 1986-1990 were at 01:00 standard time\n    not at 02:00, and the spring 1994 transition was on March 20, not\n    March 27.  (Thanks to Kıvanç Yazan.)\n\n  Changes to past and future time zone abbreviations\n\n    Asia/Colombo now uses numeric time zone abbreviations like \"+0530\"\n    instead of alphabetic ones like \"IST\" and \"LKT\".  Various\n    English-language sources use \"IST\", \"LKT\" and \"SLST\", with no\n    working consensus.  (Usage of \"SLST\" mentioned by Sadika\n    Sumanapala.)\n\nBug: 32320380\nTest: Ran CtsLibcoreTestCases, CtsBionicTestCases and ICU tests\nChange-Id: I0286e7feac65f43518741d9ae18960e1adb888fb\n"
    },
    {
      "commit": "bd839d100d1c4802cf53f3d27bb73e6032719762",
      "tree": "6456ca7f920ec38e6238aa34e056976afbfb7f2d",
      "parents": [
        "93a988debb1b54993e03e2ac2b31ee8039a73c04",
        "9259265fc2331c819d3b460ee18010b49315349a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 20 22:12:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 22:12:40 2016 +0000"
      },
      "message": "Merge changes from topic \u0027ndk-headers-licenses\u0027\n\n* changes:\n  Add license to ndk_headers modules.\n  One NOTICE file to rule them all.\n"
    },
    {
      "commit": "93a988debb1b54993e03e2ac2b31ee8039a73c04",
      "tree": "7ef2efa41e7b02e335cd9034f72e79e980da34f0",
      "parents": [
        "94b428c80af1b8b4ec2d3e7b8cb3736ed8ac0f0b",
        "32d5592a6930ba4b05cbbed1b3e933d71cf7e794"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 20 22:07:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 22:07:58 2016 +0000"
      },
      "message": "Merge \"Update our notice files as a pre-upload step.\""
    },
    {
      "commit": "edecce3ac20ba4bdacda9e85e7fab30162549438",
      "tree": "89d75638cab5253bd7f3b524acef62b2bc5e0c0a",
      "parents": [
        "6901ca2799b6514b6513f4b4c2ef22e571191a94",
        "3037ea43fccf5ec64537c3ee024bc726ee723c01"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 20 19:34:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 20 19:34:56 2016 +0000"
      },
      "message": "Merge \"Fix stdin/stdout/stderr for pre-M.\""
    },
    {
      "commit": "9259265fc2331c819d3b460ee18010b49315349a",
      "tree": "9e71d822c301a2e985686f16b53d0e1cf577124e",
      "parents": [
        "c30862fdbc99eaf4c3859e915846e2ef316b1a47"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 20 01:42:54 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 20 11:52:05 2016 -0700"
      },
      "message": "Add license to ndk_headers modules.\n\nTest: make ndk\nBug: None\nChange-Id: I0e9a39def2be9cd81369843906f6d7c180d17045\n"
    },
    {
      "commit": "c30862fdbc99eaf4c3859e915846e2ef316b1a47",
      "tree": "8fed9a6b9eec7c4b4b7ccce1ea51e8053835463c",
      "parents": [
        "32d5592a6930ba4b05cbbed1b3e933d71cf7e794"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 20 11:45:16 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 20 11:48:55 2016 -0700"
      },
      "message": "One NOTICE file to rule them all.\n\nGenerate a single NOTICE file rather than one per library. All the\nheaders come from libc these days anyway.\n\nTest: tools/update_notice.sh\nBug: None\nChange-Id: I127da185fdabc2815042e19aea74c507ec108f46\n"
    },
    {
      "commit": "32d5592a6930ba4b05cbbed1b3e933d71cf7e794",
      "tree": "a9ba300bc3b59322a8cb4044bda22a830f3f86e9",
      "parents": [
        "d8244214751f9b48e60e69910c4e7175f8fab1ac"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 20 10:34:47 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 20 11:27:50 2016 -0700"
      },
      "message": "Update our notice files as a pre-upload step.\n\nAlso updates the license files, since apparently they\u0027re out of date.\n\nTest: repo upload --cbr .\nBug: None\nChange-Id: Ic8d855a7ee5185c4933da699292868e02ef79531\n"
    },
    {
      "commit": "3037ea43fccf5ec64537c3ee024bc726ee723c01",
      "tree": "830fda3221eb1207bb837f78298032be2d2c1706",
      "parents": [
        "d8244214751f9b48e60e69910c4e7175f8fab1ac"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 06 15:46:45 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 20 10:10:45 2016 -0700"
      },
      "message": "Fix stdin/stdout/stderr for pre-M.\n\nThis wasn\u0027t an array of pointers, it was an array of structs.\nUnfortunately we need a complete type to index into the struct for\nstdin/stdout/stderr, so add a phony struct that matches the size and\nalignment of `struct __sFILE`. This property is guaranteed by the\nstatic_asserts in libc/bionic/struct_file_test.cpp.\n\nTest: mma\nBug: http://b/30465923\nChange-Id: I8ce851dd64a261703bb44f9b5cd23b7caff4dd68\n"
    },
    {
      "commit": "73c44a4738fdb615eaede1d0ab21fc3de59105ab",
      "tree": "af209ee2d4f9f17e8aa253681f553c6ef7bac383",
      "parents": [
        "d8244214751f9b48e60e69910c4e7175f8fab1ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 19 09:27:02 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 19 09:28:21 2016 -0700"
      },
      "message": "Fix our _POSIX_* macros to declare barriers and spin locks.\n\nWe have these now.\n\nTest: ran tests\nChange-Id: Ie7b479061ecec19c8b35ea81e04debfd8323d94a\n"
    },
    {
      "commit": "22950687eeec07bf5075f5edaac7774857b2147f",
      "tree": "75148134ef17e8728df3e43880ae9755653c92ba",
      "parents": [
        "49ef8c822f1bfa6559782efce0f0813f0967ea29"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 14 12:15:32 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 14 14:35:26 2016 -0700"
      },
      "message": "Fix ifaddrs error handling.\n\nAn NLMSG_ERROR packet includes an errno value that we should use. Also report\nfailures to create a socket immediately, rather than falling through to the\nsend and reporting EBADF.\n\nBug: http://b/32145516\nBug: http://b/31038971\nTest: bionic ifaddr tests on ryu (with broken kernel) and flounder\nChange-Id: I84c480c5b75077eb90d40426a9d66d7bffbd3d51\n"
    },
    {
      "commit": "da01fa620ccce26ae22ebcb51a239ec68ea7b32c",
      "tree": "1e7a9ac66d9db92f022e282f44eb8105c7eb667e",
      "parents": [
        "0e6aa81999c89af2c2e6b0fef1ab21eb4da09892"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 12:58:40 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 13:07:44 2016 -0700"
      },
      "message": "Allocate all arc4random data on the same page.\n\nSaves one dirty page per process.\n\nTest: bionic unit tests, reboot, manual check of /proc/*/maps\nChange-Id: Ibbcafa955d60e43f4cb735fa484c6868aa357cd5\n"
    },
    {
      "commit": "2c8a26d8bf1e42992925458723f4d565224ffc92",
      "tree": "ac234a80971bc91591577d52dd9516c21af00a94",
      "parents": [
        "e89385743e30fdbcb7ccf87caff71b354872922b",
        "df31aff4e98437e47fe88090d8116632b80c4f43"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 11 06:01:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 11 06:01:17 2016 +0000"
      },
      "message": "Merge \"Migrate libstdc++ to ndk_library.\""
    },
    {
      "commit": "59bde2e8f4dacc059beb7269b86b276ec091ad57",
      "tree": "77ad07c47fe0b5d69b57babf1d034c1ae4ef3b57",
      "parents": [
        "1ba0e27462ff1b2e80457d6cb100b448afe6d10e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 07 13:21:03 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 07 13:21:03 2016 -0700"
      },
      "message": "Use STDERR_FILENO instead of opening /dev/stderr.\n\n/dev/stderr is a symlink to /proc/self/fd/2, so this only has different\nbehavior when we\u0027re out of file descriptors, or when STDERR_FILENO is in\na different state (it\u0027s not at the end, it\u0027s not writable, etc.).\n\nTest: mma\nChange-Id: Ie99688d810218eca8482ff060373e88c4e001824\n"
    },
    {
      "commit": "df31aff4e98437e47fe88090d8116632b80c4f43",
      "tree": "694bfdc4682b1b035838d444d7a11e57db5f729c",
      "parents": [
        "e35872605b2cd8ebadb7984a93ee38c42aafdffd"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 06 15:50:41 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 06 15:50:41 2016 -0700"
      },
      "message": "Migrate libstdc++ to ndk_library.\n\nTest: make checkbuild\nBug: http://b/30465923\nChange-Id: I3b75b4e7fa652c83846c5978f9908e8b32d43aa7\n"
    },
    {
      "commit": "4edd651ed32ba3f09ace7529b5fb85f46cae508f",
      "tree": "46020283bf96ea0bae2e3cb1cc4181a6520197cc",
      "parents": [
        "0bee605aab0668083824473819f0ef2a5a5a45ee"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 03 16:46:33 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 03 16:46:33 2016 -0700"
      },
      "message": "Add missing O_CLOEXEC and TEMP_FAILURE_RETRY to localtime.c.\n\nFollow-on change from http://b/31848040.\n\nTest: *time* tests.\nChange-Id: I3f1c9ce19b90f6f8c1ac6e0753e3fed0ff63c0b4\n"
    },
    {
      "commit": "81c46fc10fa60fd341f11024d8d3f26ff2c69082",
      "tree": "3d7ab14836caafda998bbd584d1c26c01858276f",
      "parents": [
        "d6096307991c3bae2b3fcfbab8632e406cc84669"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 03 12:29:30 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 03 12:45:13 2016 -0700"
      },
      "message": "Fix tzdata loading.\n\nAndroid uses one large file of tzdata, so the \"read up to the maximum\npossible length of a valid tzfile\" code in upstream localtime.c is\nbroken: there is always data after the current tzfile (even the\nlast tzfile is followed by the zone.tab data). This patch passes the\nexact length through to the read(2) call so we don\u0027t over-read, rather\nthan have to rewrite upstream code that measures back from the \"end\" of\nthe tzfile.\n\nThe old code failed the existing time.strftime_null_tm_zone test after\nupdating to tzdata2016g.\n\nBug: http://b/31848040\nTest: time.strftime_null_tm_zone\nChange-Id: Iee059b5a8c051bd4952cfd80f02b00d83e489d5e\n"
    },
    {
      "commit": "e131f6cf33c4d99522e762d6365a3f2b75037875",
      "tree": "4055c506a6554aff30d253b76a9cebbf68872bb8",
      "parents": [
        "b81ade620359582c509229a56f17cc1feeb0dd9e"
      ],
      "author": {
        "name": "Joachim Sauer",
        "email": "jsauer@google.com",
        "time": "Fri Sep 30 16:36:51 2016 +0100"
      },
      "committer": {
        "name": "Joachim Sauer",
        "email": "jsauer@google.com",
        "time": "Fri Sep 30 16:49:38 2016 +0100"
      },
      "message": "Update timezone data to 2016g.\n\nThe 2016g release of the tz code and data is available. It reflects the\nfollowing changes, which were either circulated on the tz mailing list\nor are relatively minor technical or administrative changes:\n\n  Changes to future time stamps\n\n    Turkey switched from EET/EEST (+02/+03) to permanent +03,\n    effective 2016-09-07.  (Thanks to Burak AYDIN.)  Use \"+03\" rather\n    than an invented abbreviation for the new time.\n\n    New leap second 2016-12-31 23:59:60 UTC as per IERS Bulletin C 52.\n    (Thanks to Tim Parenti.)\n\n  Changes to past time stamps\n\n    For America/Los_Angeles, spring-forward transition times have been\n    corrected from 02:00 to 02:01 in 1948, and from 02:00 to 01:00 in\n    1950-1966.\n\n    For zones using Soviet time on 1919-07-01, transitions to UT-based\n    time were at 00:00 UT, not at 02:00 local time.  The affected\n    zones are Europe/Kirov, Europe/Moscow, Europe/Samara, and\n    Europe/Ulyanovsk.  (Thanks to Alexander Belopolsky.)\n\n  Changes to past and future time zone abbreviations\n\n    The Factory zone now uses the time zone abbreviation -00 instead\n    of a long English-language string, as -00 is now the normal way to\n    represent an undefined time zone.\n\n    Several zones in Antarctica and the former Soviet Union, along\n    with zones intended for ships at sea that cannot use POSIX TZ\n    strings, now use numeric time zone abbreviations instead of\n    invented or obsolete alphanumeric abbreviations.  The affected\n    zones are Antarctica/Casey, Antarctica/Davis,\n    Antarctica/DumontDUrville, Antarctica/Mawson, Antarctica/Rothera,\n    Antarctica/Syowa, Antarctica/Troll, Antarctica/Vostok,\n    Asia/Anadyr, Asia/Ashgabat, Asia/Baku, Asia/Bishkek, Asia/Chita,\n    Asia/Dushanbe, Asia/Irkutsk, Asia/Kamchatka, Asia/Khandyga,\n    Asia/Krasnoyarsk, Asia/Magadan, Asia/Omsk, Asia/Sakhalin,\n    Asia/Samarkand, Asia/Srednekolymsk, Asia/Tashkent, Asia/Tbilisi,\n    Asia/Ust-Nera, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg,\n    Asia/Yerevan, Etc/GMT-14, Etc/GMT-13, Etc/GMT-12, Etc/GMT-11,\n    Etc/GMT-10, Etc/GMT-9, Etc/GMT-8, Etc/GMT-7, Etc/GMT-6, Etc/GMT-5,\n    Etc/GMT-4, Etc/GMT-3, Etc/GMT-2, Etc/GMT-1, Etc/GMT+1, Etc/GMT+2,\n    Etc/GMT+3, Etc/GMT+4, Etc/GMT+5, Etc/GMT+6, Etc/GMT+7, Etc/GMT+8,\n    Etc/GMT+9, Etc/GMT+10, Etc/GMT+11, Etc/GMT+12, Europe/Kaliningrad,\n    Europe/Minsk, Europe/Samara, Europe/Volgograd, and\n    Indian/Kerguelen.  For Europe/Moscow the invented abbreviation MSM\n    was replaced by +05, whereas MSK and MSD were kept as they are not\n    our invention and are widely used.\n\n  Changes to zone names\n\n    Rename Asia/Rangoon to Asia/Yangon, with a backward compatibility link.\n    (Thanks to David Massoud.)\n\nTest: Ran CTS modules CtsLibcoreTestCases and CtsBionicTestCases.\nBug: 31848040\nChange-Id: I1e652ce2e428d44ba143e4ca9630fd2dc46087e4\n"
    },
    {
      "commit": "b81ade620359582c509229a56f17cc1feeb0dd9e",
      "tree": "baa4084f827f95e8accc6a890b6eadcbe39a7f0b",
      "parents": [
        "d43c8891aea8c23d8b0d997cae23b54ee7540147",
        "89e29ee485253ad39b8bfd514f1c3b5c3e52f98d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 30 15:41:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 30 15:41:40 2016 +0000"
      },
      "message": "Merge \"Fix mbsnrtowcs where `dst` is null.\""
    },
    {
      "commit": "83e9f36a110a41e66bb554f2c4da4c7cc51916ee",
      "tree": "de1400621471300580af8e66eafb6eb7aa3bea2a",
      "parents": [
        "cc9e9933e1b85592f96d04962b20e5051dc8ec28",
        "7b29495d0a13794a30e90a65460def2bbb9739a6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 30 04:17:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 30 04:17:58 2016 +0000"
      },
      "message": "Merge \"Update escaping in Android.bp files\""
    },
    {
      "commit": "89e29ee485253ad39b8bfd514f1c3b5c3e52f98d",
      "tree": "e12e4cb724035f506308849fac970a11887db661",
      "parents": [
        "cc9e9933e1b85592f96d04962b20e5051dc8ec28"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 29 17:21:43 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 29 17:26:13 2016 -0700"
      },
      "message": "Fix mbsnrtowcs where `dst` is null.\n\nPOSIX is its usual unintelligible self\n(http://pubs.opengroup.org/onlinepubs/9699919799/functions/mbsrtowcs.html),\nbut the ISO C11 standard (7.29.6.4.1 paragraph 2) is pretty clear: *src\nshould change if and only if dst is non-null.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d166381\nTest: bionic tests\nChange-Id: Ibc631cfa5b1bf4a6f56963feba9f0eea27b07984\n"
    },
    {
      "commit": "7b29495d0a13794a30e90a65460def2bbb9739a6",
      "tree": "1789af07752f7d9b6d5b5e73fb3b1f3d256fe4e3",
      "parents": [
        "6a5f7f5873cd0f03ec0cea101752c567d744cbfc"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 29 14:08:13 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 29 14:37:30 2016 -0700"
      },
      "message": "Update escaping in Android.bp files\n\nStrings like cflags in Android.bp files are parsed by blueprint,\nwritten to build.ninja files, parsed by ninja, and then passed to\n/bin/sh -c.  This had resulted in a combination of blueprint\n(\\\"), ninja ($$), and shell (\\$) escaping being necessary.\n\nSoong has been updated to automatically handle ninja and shell\nescaping, remove extra escaping from Android.bp files.\n\nBug: 31221587\nTest: m -j\nChange-Id: Ib58a51dee8d22296b69ec21768ba6a49dd60e980\n"
    },
    {
      "commit": "cc9e9933e1b85592f96d04962b20e5051dc8ec28",
      "tree": "91b99ced029c7b159fab57586da9ce4792f21b25",
      "parents": [
        "6a5f7f5873cd0f03ec0cea101752c567d744cbfc",
        "ac66d16a5287eb045114c55581213928502198a7"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 29 17:28:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 29 17:28:39 2016 +0000"
      },
      "message": "Merge \"Update documentation.\""
    },
    {
      "commit": "ac66d16a5287eb045114c55581213928502198a7",
      "tree": "acafb85f9b39d59fe3eba1779c1a8c9de53722a5",
      "parents": [
        "1d20532f5c5f8c1638735eb04586be82a7d0379c"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 28 14:51:12 2016 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 28 14:54:06 2016 -0700"
      },
      "message": "Update documentation.\n\nFix the incorrect mention of when the zygote flag is set on a size.\n\nAdd information about how to use am dumpheap -n to dump the native\nheap to a file.\n\nTest: Documentation only change.\n\nChange-Id: I82e810ee7ffffcf7506fb6fd9bcfdfb0465a48be\n"
    },
    {
      "commit": "95fa061678400315ee757758bf5f9146176d47a0",
      "tree": "0b3428e9d7d274e79809471c1d7ae3896a10ff03",
      "parents": [
        "1d20532f5c5f8c1638735eb04586be82a7d0379c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 28 12:29:52 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 28 12:36:38 2016 -0700"
      },
      "message": "Rename __pure, __pure2, and __purefunc.\n\nThese names were pretty misleading (aka \"backwards\"), so switch to the\nsame obvious names glibc uses.\n\nTest: build.\nChange-Id: Ia98c9dbbccd0820386116562347654e84669034a\n"
    },
    {
      "commit": "6cd9fb080caca2d0d8fcb8f400c1ec466e7b2466",
      "tree": "100dbbffe89a02329ac0effd96ea3c322a2b9a77",
      "parents": [
        "01733796100d63baf0b27f647fed98894e05a29a"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Sep 23 14:06:05 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Sep 23 14:34:03 2016 -0700"
      },
      "message": "Fix warnings (and errors) in static inline headers.\n\nBug: http://b/31676510\nChange-Id: Idcbc544e498f7e6bbe99c2bf7dc557a5681e96c4\nTest: preupload hook\n"
    },
    {
      "commit": "6576a3749bd3805508294bfcac3d9658fc0f8d6e",
      "tree": "d076b59a7c20d15f392428e9cf4c1e06e601b1b7",
      "parents": [
        "3103f6d39e4ae309a9374ee38f414400c889c558"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 21 01:16:13 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 22 00:44:37 2016 -0700"
      },
      "message": "Add legacy inlines for locale aware APIs.\n\nTest: make checkbuild tests\nBug: http://b/31639993\nChange-Id: Ic43d690dff3c6960d7826bd0b064640a3ea0e883\n"
    },
    {
      "commit": "3103f6d39e4ae309a9374ee38f414400c889c558",
      "tree": "e67c7868d7bcc5b0f76fc060f8ac7724b6865677",
      "parents": [
        "904460f749b5a90ca25228a6a3fa0c9ef413a961"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 21 01:42:19 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 22 00:44:37 2016 -0700"
      },
      "message": "Add strtof_l and strtod_l.\n\nlibc++ needs these now. Add shims to match the others.\n\nTest: make checkbuild tests\nBug: http://b/31639993\nChange-Id: Ifec6c32099145d8d3d1a5639a4809e5e9f553c33\n"
    },
    {
      "commit": "904460f749b5a90ca25228a6a3fa0c9ef413a961",
      "tree": "c5c00ffcaf022b139b0963dc8210f7e143c6064d",
      "parents": [
        "53ad33b993bec140d5f671ac594229ed2b2dda8b",
        "09d900d50fec68160a3e130c9dd36444b099e104"
      ],
      "author": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Wed Sep 21 22:30:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 21 22:30:31 2016 +0000"
      },
      "message": "Merge \"bionic: tests: add test for fallocate FALLOC_FL_PUNCH_HOLE\""
    },
    {
      "commit": "53ad33b993bec140d5f671ac594229ed2b2dda8b",
      "tree": "9a500f856ee1c9c4bb5569939bfb4580791e2dec",
      "parents": [
        "c351cbd7c0e623f2b0b1f574463a1f0429923567",
        "497127711a3446dc2d9cfa0aca152f8c703e3d9c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 21 21:48:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 21 21:48:24 2016 +0000"
      },
      "message": "Merge \"Remove remaining big-endian cruft.\""
    },
    {
      "commit": "c351cbd7c0e623f2b0b1f574463a1f0429923567",
      "tree": "cd1b49de8128cc658d8098df3331ab07f2b10068",
      "parents": [
        "d263fe5d133ef732ba78deef851d3b99098d7e95",
        "63da3dfb707536c444799d4c684cdfeab594243d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 21 21:48:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 21 21:48:15 2016 +0000"
      },
      "message": "Merge \"Remove _KERNEL references from \u003cmachine/elf_machdep.h\u003e.\""
    },
    {
      "commit": "09d900d50fec68160a3e130c9dd36444b099e104",
      "tree": "e27fc348d1465125624f9ca6305038a9e55c4f36",
      "parents": [
        "d263fe5d133ef732ba78deef851d3b99098d7e95"
      ],
      "author": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Tue Jul 19 15:20:24 2016 -0700"
      },
      "committer": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Wed Sep 21 09:24:50 2016 -0700"
      },
      "message": "bionic: tests: add test for fallocate FALLOC_FL_PUNCH_HOLE\n\nBug: 28760453\nChange-Id: I1a58d19bf45eac5f930b0f649cf9b8c9046302f3\n"
    },
    {
      "commit": "f45d76a85b03b644523d50f74f95f0964ea039da",
      "tree": "8c387015b0b0b67d207d676e905045ba9cb5a5a2",
      "parents": [
        "495ec92605cb608730cc920ba5afe454860abf2b"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 21 01:57:51 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 21 02:00:18 2016 -0700"
      },
      "message": "Match _Nonnull between char and wchar_t funcs.\n\nThe char versions of these functions have `_Nonnull` on these\nparameters. Match it in the wide char versions. strxfrm_l also has\n`__restrict` on its pointer arguments, I believe we\u0027ve decided that\u0027s\nsomething that shouldn\u0027t be proliferated...\n\nTest: make checkbuild tests\nBug: None\nChange-Id: Ie533e1af92b2a7c9df657073dbc4c345abf72473\n"
    },
    {
      "commit": "495ec92605cb608730cc920ba5afe454860abf2b",
      "tree": "f5daaa0ceaa1e28183acd03e60ed936b23378d03",
      "parents": [
        "42743f1e9ebf0771fea41361e9424f58f8de1cde"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 21 01:08:44 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 21 01:08:44 2016 -0700"
      },
      "message": "Add __ANDROID_API_FUTURE__.\n\nNeeded for checking conditions like `__ANDROID_API__ \u003c\n__ANDROID_API_FUTURE__` for providing inlines for things that have\nnot yet been included in any release.\n\nTest: make checkbuild tests\nBug: None\nChange-Id: Ibcddac5a538ede020a8cb65fca03194475121966\n"
    },
    {
      "commit": "42743f1e9ebf0771fea41361e9424f58f8de1cde",
      "tree": "598697137f5a208256d70f133f4d635007bea5a8",
      "parents": [
        "9d4d60b4806d667741566bd4f4ad2a0225d52959",
        "a9209d7a0ee7ef40f9a14cab2b6756d7e6f8b919"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Sep 17 16:40:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Sep 17 16:40:59 2016 +0000"
      },
      "message": "Merge \"Fix some easy cases of __ANDROID__ versus __BIONIC__.\""
    },
    {
      "commit": "497127711a3446dc2d9cfa0aca152f8c703e3d9c",
      "tree": "80485dab3d26029ded0e543272f4f4a84b67235b",
      "parents": [
        "63da3dfb707536c444799d4c684cdfeab594243d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 18:53:01 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 18:53:34 2016 -0700"
      },
      "message": "Remove remaining big-endian cruft.\n\nWe\u0027d removed most of it already, but a few bits and pieces were still lying\naround.\n\nChange-Id: I572a23eb15b9670d8d0f95586eca99ab0bdb4a1b\nTest: mm.\n"
    },
    {
      "commit": "63da3dfb707536c444799d4c684cdfeab594243d",
      "tree": "de3151fdbe8f5bcee6dda2fa4fd2ffd5afc54848",
      "parents": [
        "9d4d60b4806d667741566bd4f4ad2a0225d52959"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 18:38:48 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 18:46:53 2016 -0700"
      },
      "message": "Remove _KERNEL references from \u003cmachine/elf_machdep.h\u003e.\n\nTest: mm.\nChange-Id: I9dff708dd05d4f9e52ccdfde96e096553c873054\n"
    },
    {
      "commit": "a9209d7a0ee7ef40f9a14cab2b6756d7e6f8b919",
      "tree": "7bfb6dd09e8ae5b353d512fde83d14053dedec06",
      "parents": [
        "56228373014e5ee0a3ff32930df9cfa05fef7389"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 18:16:47 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 18:27:07 2016 -0700"
      },
      "message": "Fix some easy cases of __ANDROID__ versus __BIONIC__.\n\nWe need to make a clearer distinction for bionic on the host. This patch\ndoesn\u0027t fully address things like \"should host bionic try to talk to netd?\"\nfor now, but is a step in the right direction.\n\nBug: http://b/31559095\nTest: bionic tests.\nChange-Id: I49812f8b75d9d78c4fd8a8ddf5df1201d63771d6\n"
    },
    {
      "commit": "81b4aadb4857f351915b6fc215a73baacc90d22a",
      "tree": "4feafe9799203ca6d472d20bb8488bf40f0a6857",
      "parents": [
        "cb728e6f63e90405223e2a72f119967368f78b7a"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 15 13:57:19 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 15 14:21:28 2016 -0700"
      },
      "message": "Fix BYTE_ORDER check in \u003cnetinet/ip6.h\u003e.\n\nNeither BYTE_ORDER nor BIG_ENDIAN were being defined anywhere, so they\nwere defaulting to zero, leading to BIG_ENDIAN values being used.\n\nBug: http://b/31496165\nChange-Id: Ic6089895f39b86e7762bdb5b7d5b01feb0d2fd17\n"
    },
    {
      "commit": "cb728e6f63e90405223e2a72f119967368f78b7a",
      "tree": "2b43dfd6050c9858c98bc3428e4207b417274fc3",
      "parents": [
        "b36efa4343d79e3fb548d12d039193850246b892"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 15 13:56:37 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 15 14:21:28 2016 -0700"
      },
      "message": "Fix instances of \u0027#if __i386__\u0027.\n\nTriggers -Wundef, which is on in -Weverything.\n\nBug: http://b/31496165\nChange-Id: Ie2241b19abd6257bebf68baa3ecc4de8066c722e\n"
    },
    {
      "commit": "b36efa4343d79e3fb548d12d039193850246b892",
      "tree": "727ac48a5341d8d50d6a297fe67f6067005befd3",
      "parents": [
        "56228373014e5ee0a3ff32930df9cfa05fef7389"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 15 13:55:41 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 15 14:21:28 2016 -0700"
      },
      "message": "Fix instances of \u0027#if __LP64__\u0027.\n\nTriggers -Wundef, which is on in -Weverything.\n\nBug: http://b/31496165\nChange-Id: Ib06107073f7dd1d584c19c222d0430da9d35630b\n"
    },
    {
      "commit": "56228373014e5ee0a3ff32930df9cfa05fef7389",
      "tree": "a5149db6bd31fd5f5cee1ebd4f86a8ec33db563b",
      "parents": [
        "b32184eb847b7140771251aa9eb5e37cb12d1e7f",
        "4159e866ab7b2397e714d7a1b309c5e6719c4620"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 15 19:28:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 15 19:28:56 2016 +0000"
      },
      "message": "Merge \"Initialize main thread TLS before the global stack guard.\""
    },
    {
      "commit": "bae16ef1bb84890c9ac8b1aacb26ab562a8cc628",
      "tree": "a148d1dd73e1f31caf4d211c279a42a0491d667e",
      "parents": [
        "a39f5d8b95297c1c3af3989946c55d126dd42e98"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 14 17:15:48 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 14 17:16:33 2016 -0700"
      },
      "message": "Add missing uapi header module.\n\nTest: make checkbuild tests\nBug: http://b/30465923\nChange-Id: I4000a9f7aa7ede03dfe799cea7c890bd5dcda575\n"
    },
    {
      "commit": "a39f5d8b95297c1c3af3989946c55d126dd42e98",
      "tree": "6e13bca2c6a8a8a35e08cd9366085597598e826b",
      "parents": [
        "db79694bdaa0c7a04af3865f16b8435dc33f770f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 14 17:10:26 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 14 17:16:33 2016 -0700"
      },
      "message": "Make getpagesize inline static.\n\nNeeded to avoid multiple definition errors.\n\nTest: make checkbuild tests\nBug: None\nChange-Id: Ife83e89f5232e98d363e2b2edd7a353ed61c4836\n"
    },
    {
      "commit": "4238a35007be1e12fabcc9add67ca9fb28a57c30",
      "tree": "474cf278ba1d6721491d90d9ab1d4ef6f9190d07",
      "parents": [
        "31d7037f2ae06f767dfeb69486721b0ecaa7d668"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jun 28 11:18:05 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 13 14:16:14 2016 -0700"
      },
      "message": "Add modules for NDK headers and libraries.\n\nTest: make checkbuild\nBug: http://b/27533932\nChange-Id: I285e483ba9fb80cc3baf0d025c85344e5b79a08b\n"
    },
    {
      "commit": "31d7037f2ae06f767dfeb69486721b0ecaa7d668",
      "tree": "40bc6adcd2c33451d36526e944a8480428f01a08",
      "parents": [
        "0f81dd35485563a2d111f01a1c14ac3678192c12"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 13 14:15:21 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 13 14:16:14 2016 -0700"
      },
      "message": "Expose some more function decls.\n\nTest: make checkbuild tests # for x86-eng this time\nBug: http://b/30465923\nChange-Id: I98c5a8d09463e85ac22b05035c87edab04eaa200\n"
    },
    {
      "commit": "23f088cd74b3c1da7aed07e5984970d38c85cd03",
      "tree": "042cd074ec38ad4950ab734288728900f3081094",
      "parents": [
        "572791e027a0dd3fdcba720f5e0c390d5aaef21d"
      ],
      "author": {
        "name": "Nikola Veljkovic",
        "email": "Nikola.Veljkovic@imgtec.com",
        "time": "Fri Sep 09 02:01:01 2016 +0200"
      },
      "committer": {
        "name": "Nikola Veljkovic",
        "email": "Nikola.Veljkovic@imgtec.com",
        "time": "Fri Sep 09 12:24:04 2016 +0200"
      },
      "message": "[mips64] Fix ipc syscalls\n\nMips defines CONFIG_ARCH_WANT_IPC_PARSE_VERSION for both 32 and 64-bit.\nSee arch/mips/Kconfig. Other supported arches do it for 32-bit only.\nThis translates in having to pass IPC_64 flag for mips32 and mips64.\nWe use __mips__ to pass the flag, which is also defined for both 32 and\n64-bit.\n\nChange fixes bionic smoke tests (sys_msg, sys_sem, sys_shm) for mips64.\n\nTest: bionic-unit-tests --gtest_filter\u003d\"sys_*.smoke\"\nChange-Id: I918e4ffafd2002bb3e62ee252406746778100031\n"
    },
    {
      "commit": "572791e027a0dd3fdcba720f5e0c390d5aaef21d",
      "tree": "bdb75e02ae36bbd7b6633db243f575d53e1859f0",
      "parents": [
        "247f3189516fc10f85ab88b8f730b26b166af63e",
        "cb0b14385b21ec6b7a6e12bc1a9bb6d68f8a839c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 09 01:13:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 09 01:13:27 2016 +0000"
      },
      "message": "Merge changes Id513b72a,I92cd0116,I62393b58,I90ac2224,I527f88ac\n\n* changes:\n  Provide fake definitions for libstdc++.\n  Provide static inlines for in6addr things.\n  Provide an inline __cmsg_nxthdr.\n  Correct more fortify availability guards.\n  Move strncpy fortify into android-21.\n"
    },
    {
      "commit": "cb0b14385b21ec6b7a6e12bc1a9bb6d68f8a839c",
      "tree": "254669c0c2e6569f9785f31639eb3302771fa8ff",
      "parents": [
        "69b26542de22a0eca05d3b9863d196f3edd7949c"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 06 16:51:00 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 08 16:13:28 2016 -0700"
      },
      "message": "Provide fake definitions for libstdc++.\n\nlibstdc++ needs to be able to `using ::foo` these in the various C++\nwrapper headers for the C library. The NDK long ago added fake\ndefinitions. We need to keep the same.\n\nTest: make checkbuild\nBug: http://b/30465923\nChange-Id: Id513b72a59eafcc823080631e07b21290d5e3b24\n"
    },
    {
      "commit": "69b26542de22a0eca05d3b9863d196f3edd7949c",
      "tree": "baea4578cd89214dbcf2b25c3cd07b3df52e9b36",
      "parents": [
        "11f0e10c4911e39733145194ee78bb65d684fff4"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 08 16:09:22 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 08 16:13:28 2016 -0700"
      },
      "message": "Provide static inlines for in6addr things.\n\nmdnsresponder needs these and is built against a very old API level\nsince it is used in gmscore. The legacy NDK headers defined these\ninline.\n\nTest: make checkbuild\nBug: http://b/30465923\nChange-Id: I92cd0116b3bde47e748ba648eaba94a7a3e3523e\n"
    },
    {
      "commit": "11f0e10c4911e39733145194ee78bb65d684fff4",
      "tree": "71bfdcc267ac751fdb1455dc5e36f59cf4b92039",
      "parents": [
        "299040420652498575ddfc7516a16ac5f835c132"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 08 16:12:09 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 08 16:13:28 2016 -0700"
      },
      "message": "Provide an inline __cmsg_nxthdr.\n\nThis was defined as an inline in the legacy NDK headers. Keep that\nhere until we can get it into libandroid_support.\n\nTest: make checkbuild\nBug: http://b/30465923\nChange-Id: I62393b58e4fba3bc7337cc5ecf4ae1590b0e9917\n"
    },
    {
      "commit": "299040420652498575ddfc7516a16ac5f835c132",
      "tree": "84b2d66ec71a34ff44d0f6e848c7c379424a9d50",
      "parents": [
        "e5dd632e43dd81f293afdb93a6556d40d7007765"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 08 16:11:23 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 08 16:13:27 2016 -0700"
      },
      "message": "Correct more fortify availability guards.\n\nTest: make checkbuild\nBug: http://b/30465923\nChange-Id: I90ac222483ecd39f1e7cc358babfb64e305cffcb\n"
    },
    {
      "commit": "2fc14a97e0159f6126450991cc9c97376b66eb9b",
      "tree": "f6d8ffd65d7269f5a7208980169ae5b6e479b32c",
      "parents": [
        "3afa18104b741cc644fac5c70bc8d52d7c90b4ec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 08 14:11:28 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 08 14:11:28 2016 -0700"
      },
      "message": "Don\u0027t use an anonymous label in arm\u0027s __bionic_clone.\n\nAll the other architectures name this label. Copy them.\n\n(Following discussion of d30bc9e74b8ff3afceac973d334023564e64dbd2.)\n\nBug: https://llvm.org/bugs/show_bug.cgi?id\u003d30308\nChange-Id: I4f20163f569041180d87c79ce6ed856b70704271\n"
    },
    {
      "commit": "e5dd632e43dd81f293afdb93a6556d40d7007765",
      "tree": "f96f073e8c2661f23f67b3094d549056fca0befb",
      "parents": [
        "519a4f2c05a20a9ab60a518a6a46ba8ddcfc2c51"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Sep 07 16:43:59 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 08 13:08:47 2016 -0700"
      },
      "message": "Move strncpy fortify into android-21.\n\n__strncpy_chk2 wasn\u0027t added until android-21.\n\nTest: make checkbuild\nBug: None\nChange-Id: I527f88aca55ef5010e12ece18abbdce3d54ce252\n"
    },
    {
      "commit": "3afa18104b741cc644fac5c70bc8d52d7c90b4ec",
      "tree": "23e665e4701f90152d61a249b4dc9aa2fb139014",
      "parents": [
        "bb148b7cee7cef07a61b26bfe9e8a505b900d976",
        "fff29fe17a4187ea83add76695040bc888e9d3bd"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 08 18:48:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 08 18:48:52 2016 +0000"
      },
      "message": "Merge \"versioner: add support for __VERSIONER_NO_GUARD.\""
    },
    {
      "commit": "fff29fe17a4187ea83add76695040bc888e9d3bd",
      "tree": "d53910633fa98038db957b1cf767aa8fb0b26ca2",
      "parents": [
        "bfad958982a6b1c8c957c0eb951826d0c369eedd"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Sep 07 18:29:08 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Sep 07 18:34:39 2016 -0700"
      },
      "message": "versioner: add support for __VERSIONER_NO_GUARD.\n\nAdd an attribute that tells the preprocessor not to guard a\ndeclaration, primarily for use with symbols that get reexported by\nlibc++ of the form `namespace std { using ::wctrans; }`.\n\nBug: http://b/28178111\nChange-Id: I08c8751214797e37e8f26e7f7416a19e81c2bb4c\n"
    },
    {
      "commit": "7f0849fd113691e62af0400989936d3eff151e37",
      "tree": "166fa5afeed341e2685091c89d9d8418acb66e5d",
      "parents": [
        "a2b947e0a5ff4106e36f8110232131dab1356c25"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 26 16:17:17 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 07 15:01:54 2016 -0700"
      },
      "message": "Fix sscanf/wcstod parsing of NaNs.\n\nThe parsefloat routines -- which let us pass NaNs and infinities on to\nstrto(f|d|ld) -- come from NetBSD.\n\nAlso fix LP64\u0027s strtold to return a NaN, and fix all the architectures\nto return quiet NaNs.\n\nAlso fix wcstof/wcstod/wcstold to use parsefloat so they support hex\nfloats.\n\nLots of new tests.\n\nBug: http://b/31101647\nChange-Id: Id7d46ac2d8acb8770b5e8c445e87cfabfde6f111\n"
    },
    {
      "commit": "4bef28161f6c13b3690914eb14413faf5c74e91c",
      "tree": "ff7fd27b8cdecc121e4b80b563f93ba49a4b1c80",
      "parents": [
        "52ea18658fb3939aa02cebcb53eef053ba132566"
      ],
      "author": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Fri Sep 02 16:35:50 2016 +0100"
      },
      "committer": {
        "name": "Tamas Berghammer",
        "email": "tberghammer@google.com",
        "time": "Wed Sep 07 16:12:02 2016 +0100"
      },
      "message": "Fix unittests broken by 545808a\n\nChange-Id: I590af5958e4dcb772b710be965ed6c99cd1d9234\n"
    },
    {
      "commit": "4159e866ab7b2397e714d7a1b309c5e6719c4620",
      "tree": "82b27430fff08a08a81d94d9b5283fdc1d6d63fe",
      "parents": [
        "bfad958982a6b1c8c957c0eb951826d0c369eedd"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 01 22:58:44 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Sep 06 12:12:19 2016 -0700"
      },
      "message": "Initialize main thread TLS before the global stack guard.\n\nThe GCE breakage caused by 78a52f19bb207d1c736f1d5362e01f338d78645 was\ndue to TLS_SLOT_SELF being uninitialized before the use of errno by\nsyscall. Separate stack guard initialization from TLS initialization so\nthat stack guard initialization can make syscalls.\n\nBug: http://b/29622562\nBug: http://b/31251721\nChange-Id: Id0e4379e0efb7194a2df7bd16211ff11c6598033\n"
    }
  ],
  "next": "d30bc9e74b8ff3afceac973d334023564e64dbd2"
}
