)]}'
{
  "log": [
    {
      "commit": "b6a4a4c0cc76004459f87cecb260d202b5ba5512",
      "tree": "7b8e17a2ed737c178caa4c418917ab57f2afb8f9",
      "parents": [
        "f9128bc7d4fff2f50705d92c4fd06e998b63f442"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jul 26 16:34:40 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Aug 02 14:32:42 2016 -0700"
      },
      "message": "Add version information for legacy inlines.\n\nBug: http://b/30170081\nChange-Id: Ib5962ea3037dd692a98b6691d263871549aac8af\n"
    },
    {
      "commit": "f9128bc7d4fff2f50705d92c4fd06e998b63f442",
      "tree": "83b6028c33fde3e9541c1c26d4799d480895ef4d",
      "parents": [
        "180c883f09e3e5529a3f4d68e954f9c425010b80"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jul 27 16:29:31 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Aug 02 14:32:42 2016 -0700"
      },
      "message": "versioner: remove unnecessary kernel/common symlink.\n\nThe target was moved by commit 5956b4e, but none of the headers\ncontained were actually necessary to compile any bionic headers.\n\nBug: http://b/30170081\nChange-Id: I8c1a7464de0992c20af194340c0e36d131a836e7\n"
    },
    {
      "commit": "180c883f09e3e5529a3f4d68e954f9c425010b80",
      "tree": "52485953803913d31210f6a25469dcb7390b1a4f",
      "parents": [
        "bbf593f0f0c116305a0eafcf8271381d92b1143c"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jul 26 14:04:01 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Aug 02 14:32:42 2016 -0700"
      },
      "message": "versioner: add symlink for kernel/android/uapi.\n\nThe android-only kernel headers were moved to their own directory by\ncommit d6e8b8c. Add a new symlink to match.\n\nChange-Id: I06ce7c3167fbb1e058e4a137fae9375bb5792a46\n"
    },
    {
      "commit": "bbf593f0f0c116305a0eafcf8271381d92b1143c",
      "tree": "449a98d693574abd655614c76d1b1bf11f79484c",
      "parents": [
        "1d8b312a0712f18df128e4914104028ffc1c9e26",
        "2b1b1a9467bedd807de2ebf00bd2a715514b466a"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Aug 02 18:17:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 02 18:17:08 2016 +0000"
      },
      "message": "Merge \"Correct libstdc++ version\""
    },
    {
      "commit": "1d8b312a0712f18df128e4914104028ffc1c9e26",
      "tree": "958c93cdc991706d61d97c633fdc2732b697f8c8",
      "parents": [
        "5b1357da65f9c6b8fdc352376ce68489d8cd115e",
        "70715da453670b40701ea7d02ea9f702d10d783b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 02 02:30:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 02 02:30:14 2016 +0000"
      },
      "message": "Merge \"More stdio one-liners.\""
    },
    {
      "commit": "70715da453670b40701ea7d02ea9f702d10d783b",
      "tree": "a8e6c37cf0d36012df03ac0d68f395cb2d6e2f0d",
      "parents": [
        "a86e11f529aca06b2f4d5141ea838f2bc5ae9a73"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 01 16:35:17 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 01 18:06:38 2016 -0700"
      },
      "message": "More stdio one-liners.\n\nThis actually turns up a bug in fmemopen, so I guess that\u0027s what I\u0027ll\nlook at next...\n\nChange-Id: I2971ecd1b5a3a3c7f43c22d985f88e389af89e97\n"
    },
    {
      "commit": "5b1357da65f9c6b8fdc352376ce68489d8cd115e",
      "tree": "1dac6ec4bf1c22db6277f2674e6c4e441943b92c",
      "parents": [
        "0133e32ed570284674e455231315e460765e0028",
        "e412f8944ec8d73739c876899fabef7f87bb8168"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 01 23:25:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 01 23:26:00 2016 +0000"
      },
      "message": "Merge changes I2d334db2,Iab9fbc73\n\n* changes:\n  Clean up 32-bit x86 memset assembler.\n  Fix x86 __memset_chk.\n"
    },
    {
      "commit": "2b1b1a9467bedd807de2ebf00bd2a715514b466a",
      "tree": "761e19ce5a2869a3b3c9fa8331d5e1c2eec6001a",
      "parents": [
        "a86e11f529aca06b2f4d5141ea838f2bc5ae9a73"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 01 15:45:42 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 01 15:45:42 2016 -0700"
      },
      "message": "Correct libstdc++ version\n\nThe version script is introduced in O\n\nBug: http://b/28987948\nChange-Id: Icd0a27d1b67e8227e44aa6e771816f0e6ed489b8\n"
    },
    {
      "commit": "0133e32ed570284674e455231315e460765e0028",
      "tree": "b586ad35e9048389d6788b4cbd7a88c0dececb1a",
      "parents": [
        "a86e11f529aca06b2f4d5141ea838f2bc5ae9a73",
        "86f1e04e01e7963544b22a72fb7f2e37f78ca991"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 01 21:33:25 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 01 21:33:25 2016 +0000"
      },
      "message": "Merge \"Update testing docs.\""
    },
    {
      "commit": "a86e11f529aca06b2f4d5141ea838f2bc5ae9a73",
      "tree": "c7b4e3289edc7123738144f1f2f09210adc17abc",
      "parents": [
        "490b9515e720b7834c2118d24f0781513a63eee6",
        "769b33fadf45a039741f932672ac2c4f901d7d4a"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 01 21:01:28 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 01 21:01:28 2016 +0000"
      },
      "message": "Merge \"Sync linker with internal branch\""
    },
    {
      "commit": "e412f8944ec8d73739c876899fabef7f87bb8168",
      "tree": "1e9d44f0cf5d625dea10c5fd5aa45c15ab45a35e",
      "parents": [
        "3a528f1cbfb053e09101a7b2e1ae767993929206"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 01 14:00:45 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 01 14:00:45 2016 -0700"
      },
      "message": "Clean up 32-bit x86 memset assembler.\n\nChange-Id: I2d334db29226f9c60cf20220a569f1b772bf7c66\n"
    },
    {
      "commit": "86f1e04e01e7963544b22a72fb7f2e37f78ca991",
      "tree": "1d65d3164b54385a283c8279d2b5af28620e283e",
      "parents": [
        "490b9515e720b7834c2118d24f0781513a63eee6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 01 13:16:37 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 01 13:16:37 2016 -0700"
      },
      "message": "Update testing docs.\n\nChange-Id: Ic0e1c3105d1cf8e73c0fbfd51052895beed76227\n"
    },
    {
      "commit": "490b9515e720b7834c2118d24f0781513a63eee6",
      "tree": "0ea05744fe9e3b46b269c8cae98ff8f43bb410d8",
      "parents": [
        "c5e79567e0b02eb3a02d6b2820b901d4ba392e87",
        "cceaf069c7d203d63de6e8ca95e1d93ec32e7e0e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 01 20:05:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 01 20:05:44 2016 +0000"
      },
      "message": "Merge \"More stdio cleanup.\""
    },
    {
      "commit": "769b33fadf45a039741f932672ac2c4f901d7d4a",
      "tree": "bf29858de176dd3bf144c547174eb99e1727e85a",
      "parents": [
        "c5e79567e0b02eb3a02d6b2820b901d4ba392e87"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jul 21 11:33:40 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 01 19:47:27 2016 +0000"
      },
      "message": "Sync linker with internal branch\n\nThis change includes dlwarning implementation and\nthe compatibility greylist for apps targeting pre-N.\n\nChange-Id: Ibf02a07cc58cbbb1a5aef4ac34558c5d43e4305f\nTest: Run bionic-unit-tests --gtest_filter\u003ddl*:Dl*\n"
    },
    {
      "commit": "c5e79567e0b02eb3a02d6b2820b901d4ba392e87",
      "tree": "df1bb3c8e7d3e2d0cb83bc87a5e6cb2d24435d8b",
      "parents": [
        "3318c56c99e7edf0a744a47f50478a5ed372c989",
        "36a88e82ebd8cda894292c7071cb1256592221aa"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 01 17:27:36 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 01 17:27:36 2016 +0000"
      },
      "message": "Merge \"Restore attribute alloc_size for GCC.\""
    },
    {
      "commit": "3a528f1cbfb053e09101a7b2e1ae767993929206",
      "tree": "ef796345ae5c7e112d156e289bbfbb17e4b2990c",
      "parents": [
        "3318c56c99e7edf0a744a47f50478a5ed372c989"
      ],
      "author": {
        "name": "Lev Rumyantsev",
        "email": "levarum@google.com",
        "time": "Fri Jul 29 17:55:42 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 01 09:59:19 2016 -0700"
      },
      "message": "Fix x86 __memset_chk.\n\nWhen __memset_chk_fail moved to C++, we didn\u0027t take into account\nthat the stack wasn\u0027t set up correctly for the jump from assembler.\nPresumably no one had run the 32-bit x86 tests until now!\n\nBug: http://b/30513094\nChange-Id: Iab9fbc731b6bfecd7ca4d3f3844d0568a5d30d86\n"
    },
    {
      "commit": "36a88e82ebd8cda894292c7071cb1256592221aa",
      "tree": "df1bb3c8e7d3e2d0cb83bc87a5e6cb2d24435d8b",
      "parents": [
        "3318c56c99e7edf0a744a47f50478a5ed372c989"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Jul 30 09:58:15 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Jul 30 09:58:15 2016 -0700"
      },
      "message": "Restore attribute alloc_size for GCC.\n\nclang doesn\u0027t support attribute alloc_size, but GCC uses it to give\ndiagnostics where clang can\u0027t, and we had a test for one such case.\n\nBug: http://b/30513330\nChange-Id: I4c14771258992d6bea684db7f91d60312642662f\n"
    },
    {
      "commit": "3318c56c99e7edf0a744a47f50478a5ed372c989",
      "tree": "b4812cb5785b6508590090e0d134d08707c262f5",
      "parents": [
        "9a776af9920c050c7bd7353f33e0e02df940cf92",
        "bf0e762dbb38b3a69c8b0e30571777a0ca30eb7c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 30 02:07:16 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 30 02:07:16 2016 +0000"
      },
      "message": "Merge changes I946cde38,I4b8e0ea1,I2e8141a8\n\n* changes:\n  Mark LIBC_O as being a future version.\n  Mark LIBC_N as being introduced in android-24.\n  Annotate the libc version map with NDK info.\n"
    },
    {
      "commit": "bf0e762dbb38b3a69c8b0e30571777a0ca30eb7c",
      "tree": "8f0f03f65d647e3ca30934afee096e32447b35f0",
      "parents": [
        "09bc1729113e4ce7728885a2c2007cda4959dd85"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jul 28 17:41:57 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jul 29 17:49:42 2016 -0700"
      },
      "message": "Mark LIBC_O as being a future version.\n\nNone of these symbols are in the NDK yet. Skip them.\n\nChange-Id: I946cde38e767190c396593d562babc90457973fb\n"
    },
    {
      "commit": "09bc1729113e4ce7728885a2c2007cda4959dd85",
      "tree": "11f2228fe36665223228c5a7cfdfd12c190362be",
      "parents": [
        "b8109d0dbc60d329e4a5e6bfcbf76ff5f2f3f201"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jul 28 18:08:42 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jul 29 17:49:42 2016 -0700"
      },
      "message": "Mark LIBC_N as being introduced in android-24.\n\nChange-Id: I4b8e0ea1fc9b42c1f98f36ae7aaaae2c6322e16b\n"
    },
    {
      "commit": "b8109d0dbc60d329e4a5e6bfcbf76ff5f2f3f201",
      "tree": "f5a1b49c1dff9a639b8568f7ee45b6bc0201c9d1",
      "parents": [
        "4bc6eea83e127a50d4763f067486ec79ed4e61a7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jul 27 23:56:54 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jul 29 17:49:42 2016 -0700"
      },
      "message": "Annotate the libc version map with NDK info.\n\nGenerated by running\nhttps://android-review.googlesource.com/#/c/251477/ for libc.\n\nTest: make checkbuild with\nhttps://android-review.googlesource.com/#/q/branch:master+topic:ndk_library-libc-libm\nChange-Id: I2e8141a83c1d79fd89b5e5c4432400b8301ba347\n"
    },
    {
      "commit": "cceaf069c7d203d63de6e8ca95e1d93ec32e7e0e",
      "tree": "5b9791a7a16b3bd823c255692376a1d02aab5cfb",
      "parents": [
        "9a776af9920c050c7bd7353f33e0e02df940cf92"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 29 16:31:52 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 29 16:31:52 2016 -0700"
      },
      "message": "More stdio cleanup.\n\nTime to get back to cleaning up stdio, so start with a bunch of easy\none-liners...\n\nChange-Id: I8df5fdc72500a89b977bfaa6c64c3639198d4e3e\n"
    },
    {
      "commit": "9a776af9920c050c7bd7353f33e0e02df940cf92",
      "tree": "e0e63ba2d0573ef565e9e738550b1c293742c764",
      "parents": [
        "def5854676ecac212f8abe61a6e0bf69275da24a",
        "65707b696a59f28b3980c78bdb4b049231610e64"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 29 22:20:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 29 22:20:50 2016 +0000"
      },
      "message": "Merge \"Improvements to initialization of linker_allocator\""
    },
    {
      "commit": "def5854676ecac212f8abe61a6e0bf69275da24a",
      "tree": "9f7c63a66f0fdf057b5b78d4c250ab80152e0659",
      "parents": [
        "4bc6eea83e127a50d4763f067486ec79ed4e61a7",
        "0a610d00fee344f804d3338c880d73d2de5db143"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 29 22:13:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 29 22:13:56 2016 +0000"
      },
      "message": "Merge \"Upgrade to tzcode-2016f.\""
    },
    {
      "commit": "65707b696a59f28b3980c78bdb4b049231610e64",
      "tree": "31fcb0e09dbe033dbd8fb82c6c304ad362d5a2ea",
      "parents": [
        "4bc6eea83e127a50d4763f067486ec79ed4e61a7"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Jul 29 13:25:33 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Jul 29 14:05:39 2016 -0700"
      },
      "message": "Improvements to initialization of linker_allocator\n\nMake linker_allocator independent of the order of global constructors.\n\nBug: http://b/30483811\nChange-Id: I18a323175661b8e1c9e398f2d6112f7a08d2cceb\nTest: boot the device with I3ac91758a1a043146c65f2ae0f36fcfbe372c30f\n"
    },
    {
      "commit": "0a610d00fee344f804d3338c880d73d2de5db143",
      "tree": "9f7c63a66f0fdf057b5b78d4c250ab80152e0659",
      "parents": [
        "4bc6eea83e127a50d4763f067486ec79ed4e61a7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 29 14:04:17 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 29 14:04:17 2016 -0700"
      },
      "message": "Upgrade to tzcode-2016f.\n\nNo significant changes other than a default implementation of strftime_l.\n\nChange-Id: I6edd2c03e5e7559f012c0c87d43f7109d641d3ca\n"
    },
    {
      "commit": "4bc6eea83e127a50d4763f067486ec79ed4e61a7",
      "tree": "e0c9cfef5cbacf553ffd1ab22003eb8578f5232a",
      "parents": [
        "0cf1abe486343cf30f6307c2adebe0ec6be22956",
        "6cc8d47a1ff82224b35282197fa3194de213eb18"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jul 28 22:38:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 28 22:38:09 2016 +0000"
      },
      "message": "Merge \"Add symbol versions to libstdc++.so\""
    },
    {
      "commit": "6cc8d47a1ff82224b35282197fa3194de213eb18",
      "tree": "985592d2e46b6cb076ba73816453bb1afb6f48df",
      "parents": [
        "c7d97ec31d1aab227850dbe9880d1399fe13947a"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jul 28 13:52:17 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jul 28 13:52:17 2016 -0700"
      },
      "message": "Add symbol versions to libstdc++.so\n\nBug: http://b/28987948\nChange-Id: I3853528bd432ceab37e4867f2c4112d9ee0b40dc\n"
    },
    {
      "commit": "0cf1abe486343cf30f6307c2adebe0ec6be22956",
      "tree": "9e6a46d669bfc4f29bf3b2874415de72516a6330",
      "parents": [
        "c7d97ec31d1aab227850dbe9880d1399fe13947a",
        "f2d7d41ff8a83c2112edefa10e7b70b49c07eb7a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 28 00:20:36 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 28 00:20:36 2016 +0000"
      },
      "message": "Merge \"Add IOV_MAX to \u003climits.h\u003e.\""
    },
    {
      "commit": "c7d97ec31d1aab227850dbe9880d1399fe13947a",
      "tree": "a41f6ea4be5ac695f087a387c12fd468e03713a6",
      "parents": [
        "931be5a64d71d09334f963e7ba7efd1d6049e648",
        "7292725bcd291bda814554fcb9d7c026619c0e49"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 27 22:33:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 27 22:33:52 2016 +0000"
      },
      "message": "Merge \"Admit that we don\u0027t actually support thread priority inheritance.\""
    },
    {
      "commit": "f2d7d41ff8a83c2112edefa10e7b70b49c07eb7a",
      "tree": "2424a6983be1f3c49128c396d4d1ef0233350abf",
      "parents": [
        "931be5a64d71d09334f963e7ba7efd1d6049e648"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 15:24:47 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 15:25:31 2016 -0700"
      },
      "message": "Add IOV_MAX to \u003climits.h\u003e.\n\nstrace 4.13 assumes we have IOV_MAX. POSIX says it lives here. 1024 is\na Linux kernel limitation.\n\nChange-Id: Icb428172670e4936a459db38a6a190b7178fe9f3\n"
    },
    {
      "commit": "7292725bcd291bda814554fcb9d7c026619c0e49",
      "tree": "a41f6ea4be5ac695f087a387c12fd468e03713a6",
      "parents": [
        "931be5a64d71d09334f963e7ba7efd1d6049e648"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 14:05:10 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 14:05:10 2016 -0700"
      },
      "message": "Admit that we don\u0027t actually support thread priority inheritance.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d218323\nChange-Id: I6c69b0fbb8414e7cc2deeb8be50b6af4830ed55e\n"
    },
    {
      "commit": "931be5a64d71d09334f963e7ba7efd1d6049e648",
      "tree": "0f0a954ca5fe7742fa1e132c7f78c776129942bd",
      "parents": [
        "af8be4ebbc94fb0c52401ba3d281695c335f6f62",
        "0fe88858f018e74921b8412acacda83870f742ed"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 27 18:44:07 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 27 18:44:07 2016 +0000"
      },
      "message": "Merge \"Clean up \u003cuchar.h\u003e and \u003cwctype.h\u003e transitive includes.\""
    },
    {
      "commit": "af8be4ebbc94fb0c52401ba3d281695c335f6f62",
      "tree": "b5a29d5397478533f06e06ff50ec20fae829c592",
      "parents": [
        "61bd7cb6e975c48450350ba5c49862310c2f4762",
        "5956b4e31441399430b990ecf006e694703f4c5f"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 27 17:56:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 27 17:56:55 2016 +0000"
      },
      "message": "Merge \"More kernel header cleanup.\""
    },
    {
      "commit": "0fe88858f018e74921b8412acacda83870f742ed",
      "tree": "00741dc7cadccae615686c13a5c86f70bff86a49",
      "parents": [
        "61bd7cb6e975c48450350ba5c49862310c2f4762"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 10:45:05 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 10:45:05 2016 -0700"
      },
      "message": "Clean up \u003cuchar.h\u003e and \u003cwctype.h\u003e transitive includes.\n\nBug: http://b/30367366\nChange-Id: I63212a34c54ca07223a15aa5be4da3bdc6aa38a8\n"
    },
    {
      "commit": "61bd7cb6e975c48450350ba5c49862310c2f4762",
      "tree": "345303c278aba1507637975f90bb50a1a99b0e7e",
      "parents": [
        "9f326a2d6002dfb7fc26f151db55052e101ffa42",
        "3e6929dad5938f57e5734cf3cff638f17a1a2b25"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 27 00:30:30 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 27 00:30:30 2016 +0000"
      },
      "message": "Merge changes I0262eed9,Iba9ee03a\n\n* changes:\n  Add a temporary hack to work around __NDK_FPABI__.\n  Remove _GNU_SOURCE guard on tmpnam.\n"
    },
    {
      "commit": "3e6929dad5938f57e5734cf3cff638f17a1a2b25",
      "tree": "9745a50c1a4d4b549af494fbc75b25b34d9e72a7",
      "parents": [
        "c1020754c26b3d9f89a61491d515acead2c6c52a"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jul 26 16:27:31 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jul 26 16:28:30 2016 -0700"
      },
      "message": "Add a temporary hack to work around __NDK_FPABI__.\n\nTest: make checkbuild\nBug: http://b/27533932\nChange-Id: I0262eed91b10b0dd5fe27a61fb8f35b3c062280e\n"
    },
    {
      "commit": "c1020754c26b3d9f89a61491d515acead2c6c52a",
      "tree": "cc732a80c86fc404426d070c538b5a1cf1af4a98",
      "parents": [
        "91f33cd5ae3f09b7d2e614f5d0809037c1708db1"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jul 26 16:26:15 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jul 26 16:28:30 2016 -0700"
      },
      "message": "Remove _GNU_SOURCE guard on tmpnam.\n\nThis shouldn\u0027t be guarded by _GNU_SOURCE. external/opencv3 expects\nP_tmpdir to be available.\n\nhttp://pubs.opengroup.org/onlinepubs/009695399/functions/tmpnam.html\n\nTest: make checkbuild\nChange-Id: Iba9ee03aec6e712356b571f7165ed1809e6227fe\n"
    },
    {
      "commit": "9f326a2d6002dfb7fc26f151db55052e101ffa42",
      "tree": "a30c4a77b57beacacce71afeba2b905f389cde1d",
      "parents": [
        "e656a3acaf1001cdb8bf3ae9be84ed070ebe93f2",
        "7b737e43f82682bcfaa086af116ddcddb9c1de8d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 25 23:48:07 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 25 23:48:07 2016 +0000"
      },
      "message": "Merge \"Remove #pragma GCC visibility.\""
    },
    {
      "commit": "7b737e43f82682bcfaa086af116ddcddb9c1de8d",
      "tree": "a30c4a77b57beacacce71afeba2b905f389cde1d",
      "parents": [
        "e656a3acaf1001cdb8bf3ae9be84ed070ebe93f2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 25 15:57:02 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 25 15:57:02 2016 -0700"
      },
      "message": "Remove #pragma GCC visibility.\n\nWe have better control over visibility now.\n\nBug: http://b/24767418\nChange-Id: Ifa9a1e5af4bd4217db08422050908770247b3b69\n"
    },
    {
      "commit": "e656a3acaf1001cdb8bf3ae9be84ed070ebe93f2",
      "tree": "963ffcb86fadb817451ca92d7a2d99a08e71ba93",
      "parents": [
        "557b3a1194e03339b025b2d2282a0cc34aded7bb",
        "f6495c78a84b4a797a6faf77f8bd56998c739509"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 25 22:32:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 25 22:32:56 2016 +0000"
      },
      "message": "Merge \"Stop #define\u0027ing __func__ and __restrict.\""
    },
    {
      "commit": "f6495c78a84b4a797a6faf77f8bd56998c739509",
      "tree": "963ffcb86fadb817451ca92d7a2d99a08e71ba93",
      "parents": [
        "557b3a1194e03339b025b2d2282a0cc34aded7bb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 25 09:20:57 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 25 11:13:47 2016 -0700"
      },
      "message": "Stop #define\u0027ing __func__ and __restrict.\n\n__STDC_VERSION__ isn\u0027t defined for __cplusplus, so we\u0027ve been removing\nsuch checks. Some got missed.\n\nStop defining __func__ and just use the __PRETTY_FUNCTION__ GCC extension\nin \u003cassert.h\u003e. Also fix the #if there so that C++ gets __assert2 rather\nthan __assert, and rewrite the cast to work with -I rather than -isystem.\n\nAlso remove __restrict and just always use the __restrict GCC extension.\n\nAdd a trivial test for \u003cassert.h\u003e.\n\nBug: http://b/30353757\nChange-Id: Ie49bb417976293d3a9692b516e28fe3c0ae0a6d9\nTest: ran bionic unit tests.\n"
    },
    {
      "commit": "557b3a1194e03339b025b2d2282a0cc34aded7bb",
      "tree": "3ee4855aef72c10cdac1ebd7e1395151d9c8f5d5",
      "parents": [
        "0cdd0d4e63e8ff015c9cd5569b447df752e89b61",
        "1291e501739ca1b636a547b183b183611bc7b8b0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 23 03:51:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 23 03:51:20 2016 +0000"
      },
      "message": "Merge \"Remove bionic\u0027s now-unused UniquePtr.\""
    },
    {
      "commit": "0cdd0d4e63e8ff015c9cd5569b447df752e89b61",
      "tree": "1e5db3202e110172e7db1ced6d87cf8ceca7ed0b",
      "parents": [
        "7101c48f20f2f19dd1d314d23251fb52995a0870",
        "3b2096a9d6edd74622b94cacc76b77100f919b84"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 23 03:47:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 23 03:47:18 2016 +0000"
      },
      "message": "Merge \"Remove unnecessary \u0027extern\u0027s.\""
    },
    {
      "commit": "1291e501739ca1b636a547b183b183611bc7b8b0",
      "tree": "c4245cb544a0e39fe1f24bebffd931b52ed69113",
      "parents": [
        "7101c48f20f2f19dd1d314d23251fb52995a0870"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 19:52:46 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 19:52:46 2016 -0700"
      },
      "message": "Remove bionic\u0027s now-unused UniquePtr.\n\nChange-Id: Id77dbdd6d4255ae8317449725ef093be9422407f\n"
    },
    {
      "commit": "3b2096a9d6edd74622b94cacc76b77100f919b84",
      "tree": "1e5db3202e110172e7db1ced6d87cf8ceca7ed0b",
      "parents": [
        "7101c48f20f2f19dd1d314d23251fb52995a0870"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 18:57:12 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 18:57:12 2016 -0700"
      },
      "message": "Remove unnecessary \u0027extern\u0027s.\n\nChange-Id: Iba2b3fb6ff88e504f1657b915120ae43d58a1e03\n"
    },
    {
      "commit": "7101c48f20f2f19dd1d314d23251fb52995a0870",
      "tree": "83517885755d8c28f7f6934bff67f7ad36addf39",
      "parents": [
        "767e8147d7f38bd9a23100ec9fa07b6a14a8b680",
        "203e13d97de840e01eded6a267fef9f245cf3a15"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 23 01:48:21 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 23 01:48:21 2016 +0000"
      },
      "message": "Merge \"Always include \u003csys/cdefs.h\u003e.\""
    },
    {
      "commit": "203e13d97de840e01eded6a267fef9f245cf3a15",
      "tree": "83517885755d8c28f7f6934bff67f7ad36addf39",
      "parents": [
        "767e8147d7f38bd9a23100ec9fa07b6a14a8b680"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 14:56:18 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 17:01:54 2016 -0700"
      },
      "message": "Always include \u003csys/cdefs.h\u003e.\n\nI made a mistake caught by code review earlier, so let\u0027s try to be\nsafer by default.\n\nThis patch also moves all our \"forwarding\" headers to the guardless\njust-include-the-other-thing style that we usually use. (Where we\nhave a comment explaining where the header comes from, I\u0027ve kept\nthat.)\n\nChange-Id: I37342cf5e2563c6a269b2ba61a697069b1c7913b\n"
    },
    {
      "commit": "767e8147d7f38bd9a23100ec9fa07b6a14a8b680",
      "tree": "15a50d1c7c9f60256f6ad2df007fc74999063b47",
      "parents": [
        "12ba7e51d9c4f6d8c1fa5627f638b291520a7025",
        "8778d64d5c78a42d5389767adcf232bfe323e0f8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Jul 23 00:01:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 23 00:01:08 2016 +0000"
      },
      "message": "Merge \"Remove __BIONIC_LEGACY_INLINE.\""
    },
    {
      "commit": "8778d64d5c78a42d5389767adcf232bfe323e0f8",
      "tree": "15a50d1c7c9f60256f6ad2df007fc74999063b47",
      "parents": [
        "12ba7e51d9c4f6d8c1fa5627f638b291520a7025"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jul 22 15:26:36 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jul 22 15:52:55 2016 -0700"
      },
      "message": "Remove __BIONIC_LEGACY_INLINE.\n\nDon\u0027t use the same declaration to declare both static and non-static\nfunctions, to make life easier for versioner.\n\n(Also, remove __BIONIC_LEGACY_INLINE from two functions in termios.h\nthat weren\u0027t actually legacy inlines.)\n\nBug: http://b/30170081\nChange-Id: Ibb73377d77a2b4cee016289b7c46a01452e45fae\n"
    },
    {
      "commit": "12ba7e51d9c4f6d8c1fa5627f638b291520a7025",
      "tree": "b35abfc21da98db55ba92b8f2274168574f9a93d",
      "parents": [
        "420d02c56d5d73bede85a840a6496679b3f10ad0",
        "c73eec159f287ce8911cfcfd122e24c37d584eb9"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Jul 22 22:44:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 22 22:44:53 2016 +0000"
      },
      "message": "Merge \"Add sanity checks for e_shentsize and e_shstrndx\""
    },
    {
      "commit": "420d02c56d5d73bede85a840a6496679b3f10ad0",
      "tree": "eb973288b94836d194455368cdefa95e6cf7f050",
      "parents": [
        "4f62c5b3115f98a15595018698ec71baf1746ca4",
        "5470c183611737af5ec954984e4bdb5da8c99b73"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 21:35:02 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 22 21:35:02 2016 +0000"
      },
      "message": "Merge \"Make it possible to build bionic with -I instead of -isystem.\""
    },
    {
      "commit": "5470c183611737af5ec954984e4bdb5da8c99b73",
      "tree": "945f64e45be1c14ea0a6c75f6611555ef2b706ae",
      "parents": [
        "237366867a4fbd8c2fed74512ca26d2ce3b39b82"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 11:36:17 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 13:12:53 2016 -0700"
      },
      "message": "Make it possible to build bionic with -I instead of -isystem.\n\nVarious things:\n\n* work around -Wnullability-completeness.\n* use C++ casts in C++ and C casts in C.\n* stop using attributes clang doesn\u0027t support (such as `warning`).\n* remove duplicate definitions of XATTR_CREATE and XATTR_REPLACE.\n\nChange-Id: I07649e46275b28a23ca477deea119fe843999533\n"
    },
    {
      "commit": "c73eec159f287ce8911cfcfd122e24c37d584eb9",
      "tree": "f606eebe267c97c68545b78e797826853b88957e",
      "parents": [
        "91f33cd5ae3f09b7d2e614f5d0809037c1708db1"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Jul 22 12:50:59 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Jul 22 12:53:28 2016 -0700"
      },
      "message": "Add sanity checks for e_shentsize and e_shstrndx\n\nThis helps us avoid situations when malformed elf-files\nare mistakenly loaded, - which might result in unexpected\nbehavior.\n\nBug: http://b/30166532\nTest: bionic-unit-tests --gtest_filter\u003ddl*:Dl*\nChange-Id: Idd6b4fa20e1d69a9f8d8391ba69c724d930fee51\n"
    },
    {
      "commit": "5956b4e31441399430b990ecf006e694703f4c5f",
      "tree": "a8e4122cb297e42663a9f0b0832a0b62e674c46d",
      "parents": [
        "237366867a4fbd8c2fed74512ca26d2ce3b39b82"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 20 12:28:56 2016 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 22 12:21:25 2016 -0700"
      },
      "message": "More kernel header cleanup.\n\nModify the generate script to add a new option and copy the types.h\narm header file since it\u0027s not currently being created properly. Also\nmanually generate the arm types.h uapi header since it\u0027s not being\nproperly generated right now.\n\nModify both generate scripts to delete the target directories before\nadding the files to handle moved/deleted header files.\n\nMove the common/scsi headers into android and delete the common\ndirectory. Change the scripts to reflect this change.\n\nUpdate the scsi headers since they\u0027ve been modified in upstream kernels.\n\nBug: 30072483\n\nChange-Id: Ia43d4b238b6a041350d60cc30184ecbd4829d7d5\n"
    },
    {
      "commit": "4f62c5b3115f98a15595018698ec71baf1746ca4",
      "tree": "7df69a54647bc3682ef7000d465e937c43edf00a",
      "parents": [
        "237366867a4fbd8c2fed74512ca26d2ce3b39b82",
        "b6453c52ac55f85d7f88f04db6e320825cea9bf7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 22 19:20:58 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 22 19:20:58 2016 +0000"
      },
      "message": "Merge changes I7718b1ba,I648adc35\n\n* changes:\n  Only initialize the global stack protector once.\n  Make getpid work before TLS has been initialized.\n"
    },
    {
      "commit": "237366867a4fbd8c2fed74512ca26d2ce3b39b82",
      "tree": "e740e08d5709b42c3198d9345771dfc2f9903fd5",
      "parents": [
        "91f33cd5ae3f09b7d2e614f5d0809037c1708db1",
        "508d292f8deb2933914b0ceef56908cdd4ee589f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 22 00:28:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 22 00:28:19 2016 +0000"
      },
      "message": "Merge \"Only define sa_family_t once.\""
    },
    {
      "commit": "508d292f8deb2933914b0ceef56908cdd4ee589f",
      "tree": "e740e08d5709b42c3198d9345771dfc2f9903fd5",
      "parents": [
        "91f33cd5ae3f09b7d2e614f5d0809037c1708db1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 21 16:38:43 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 21 16:38:43 2016 -0700"
      },
      "message": "Only define sa_family_t once.\n\nChange-Id: Icf700910c836d22c8a27ad026ec8af11697edd5a\n"
    },
    {
      "commit": "91f33cd5ae3f09b7d2e614f5d0809037c1708db1",
      "tree": "43888e574ef8985480c5078ef71e95cabb67ce4e",
      "parents": [
        "823e32e30dab13fc8056a050a56a813878405f95",
        "3e3f4a51b8a846ce6ae010795892addf9e428137"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 21 08:06:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 21 08:06:33 2016 +0000"
      },
      "message": "Merge \"Treat \"persist.sys.timezone\" as being a Java-format timezone.\""
    },
    {
      "commit": "3e3f4a51b8a846ce6ae010795892addf9e428137",
      "tree": "986bf55557cca5267141c10c4f8087c9e3773a6f",
      "parents": [
        "a9fbaee593242b3257819c1603cdd157604247e7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 20 17:23:54 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 20 17:23:54 2016 -0700"
      },
      "message": "Treat \"persist.sys.timezone\" as being a Java-format timezone.\n\nPOSIX and Java disagree about the sign in a timezone string like \"GMT+3\".\nThis means that if you set \"persist.sys.timezone\" to such a string, native\ncode and Java code disagree about what time it is. Resolve this by\ntranslating to POSIX form for native code.\n\nBug: http://b/25463955\nChange-Id: I7c08c459dd8514348a12ce419edcbfbfe8f6d327\nTest: manually tested with setprop and date.\n"
    },
    {
      "commit": "823e32e30dab13fc8056a050a56a813878405f95",
      "tree": "3eb695917d4e37fc7f78a26202ec2119692fd964",
      "parents": [
        "a9fbaee593242b3257819c1603cdd157604247e7",
        "554374693408cd7c74d0cae596fca7349661edea"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jul 21 00:08:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 21 00:08:46 2016 +0000"
      },
      "message": "Merge \"Pass argc/argv/envp to dso constructors\""
    },
    {
      "commit": "554374693408cd7c74d0cae596fca7349661edea",
      "tree": "3eb695917d4e37fc7f78a26202ec2119692fd964",
      "parents": [
        "a9fbaee593242b3257819c1603cdd157604247e7"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Jul 20 15:33:07 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Jul 20 16:10:19 2016 -0700"
      },
      "message": "Pass argc/argv/envp to dso constructors\n\nThe glibc implementation of the loader passes argc/argv/envp\nto all elf constructors. This change makes bionic linker\nbehave in the same way.\n\nBug: http://b/30145768\nChange-Id: I1c65c42aa5305a5b133c64b5748205bbde869e0e\nTest: run bionic-unit-tests --gtest_filter\u003ddl*:Dl*\n"
    },
    {
      "commit": "a9fbaee593242b3257819c1603cdd157604247e7",
      "tree": "e14b2a7c2ab4aee0424e4f2fde69a57b5feb1b65",
      "parents": [
        "fe280773ed3d8cf097c19db3244ab699efbe83bf",
        "d13e9a603fa7e490853e6065240cdbfe532ada7a"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Jul 20 20:31:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 20 20:31:41 2016 +0000"
      },
      "message": "Merge \"Align-up and randomize shared libraries.\""
    },
    {
      "commit": "fe280773ed3d8cf097c19db3244ab699efbe83bf",
      "tree": "0fa861e721cf652e336babc8776c32d70db74bb2",
      "parents": [
        "d941f72e75c744a2493bbdbf759e96c32f764e68",
        "d6e8b8ca5672536c95856b99b302db6878d0fb1f"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 20 18:03:47 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 20 18:03:48 2016 +0000"
      },
      "message": "Merge \"Move/remove android only kernel uapi headers.\""
    },
    {
      "commit": "d13e9a603fa7e490853e6065240cdbfe532ada7a",
      "tree": "638cb927828a152ff13531c5795f74c0edb356ab",
      "parents": [
        "d941f72e75c744a2493bbdbf759e96c32f764e68"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Jul 15 16:31:42 2016 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue Jul 19 18:18:22 2016 -0700"
      },
      "message": "Align-up and randomize shared libraries.\n\nThis change implements the following property:\n  Any 2**N aligned memory region on size 2**N contains no more than one DSO.\n\nThe value N can be configured, with 16 or 18 looking like a good choice.\nAdditionally, DSOs are loaded at random page-aligned address inside these large\nregions.\n\nThis change has dual purpose:\n1. Larger values of N allow a lot more compact CFI shadow implementation.\n   See change I14dfea630de468eb5620e7f55f92b1397ba06217.\n   For example, CFI shadow for the system_server process has the following size (RSS, KB):\n   152 for N \u003d 12, 32 for N \u003d 16, 16 for N \u003d 18.\n2. Extra randomization is good for security.\n\nThis change does not result in extra RAM usage, because everything is still page-aligned.\nIt does result in a bit more VM fragmentation because of the gaps between shared libraries.\nAs it turns out, this fragmentation is barely noticeable because the kernel creates new mapping\nat the highest possible address, and we do enough small mappings to almost completely fill the\ngaps (ex. in the Zygote the gaps are filled with .ttf file mappings and thread stacks).\n\nI\u0027ve measured VM fragmentation as the sum of all VM gaps (unmapped regions) that are larger\nthan 1MB according to /proc/$PID/maps. On aosp_angler-userdebug, the numbers are (in GB):\n\n                |   N \u003d 12  |  N \u003d 18\nsystem_server   |   521.9   |  521.1\nzygote64        |   522.1   |  521.3\nzygote32        |   2.55    |  2.55\nmediaserver     |   4.00    |  4.00\n\nChange-Id: Ia6df840dd409c82837efd1f263be420d9723c84a\n"
    },
    {
      "commit": "d941f72e75c744a2493bbdbf759e96c32f764e68",
      "tree": "15bd248ef1401d572449315ded9952e0cd13ab3f",
      "parents": [
        "9af76f9b48962c4067518586af81a7fceeeca124",
        "20758d58dd38622113e2accdedc3477d2ba32329"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 19 21:57:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 19 21:57:27 2016 +0000"
      },
      "message": "Merge \"Expand the testing docs slightly.\""
    },
    {
      "commit": "9af76f9b48962c4067518586af81a7fceeeca124",
      "tree": "392a49ee80258f3c563b045d7b343e6f3bb9509d",
      "parents": [
        "061cf180db339115914f5f9a34f4952060eaf3aa",
        "f47514dd997d33deafaba85e34e2c95fd514d056"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 19 21:48:25 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 19 21:48:25 2016 +0000"
      },
      "message": "Merge \"Remove __LIBC_ABI_PUBLIC__.\""
    },
    {
      "commit": "20758d58dd38622113e2accdedc3477d2ba32329",
      "tree": "276d37a2ac0d892d8e332d5129f5570a3b92e4cf",
      "parents": [
        "20de9ef5bdeb4d338206c0203560e5d4aa6334c5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 19 14:09:10 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 19 14:09:10 2016 -0700"
      },
      "message": "Expand the testing docs slightly.\n\nChange-Id: I4b172eefd8f456a62b24520a9f04f500a1d6bc85\n"
    },
    {
      "commit": "f47514dd997d33deafaba85e34e2c95fd514d056",
      "tree": "65f43a89ecf3e69866313efad1ba1716db706386",
      "parents": [
        "20de9ef5bdeb4d338206c0203560e5d4aa6334c5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 19 13:56:46 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 19 13:56:46 2016 -0700"
      },
      "message": "Remove __LIBC_ABI_PUBLIC__.\n\nWe have much better control over visibility now, so we don\u0027t need to\npollute the headers with cruft.\n\nBug: http://b/24767418\nChange-Id: I349f4c3bc30102477375ad9f80926e560c7c1d8b\n"
    },
    {
      "commit": "d6e8b8ca5672536c95856b99b302db6878d0fb1f",
      "tree": "d97f6b1dc46984a16b464a8ea1e28bf4291c0f2f",
      "parents": [
        "20de9ef5bdeb4d338206c0203560e5d4aa6334c5"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jul 18 16:27:22 2016 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jul 19 12:43:56 2016 -0700"
      },
      "message": "Move/remove android only kernel uapi headers.\n\nMove all of the uapi kernel headers that are only found in the android\nkernel, and are still used by the tree into their own directory.\n\nDelete all of these files that are not used.\n\nAlso, delete binder.h from the linux directory since it already exists\nin the linux/android directory.\n\nBug: 30072483\nChange-Id: I879f16e366f7670b8be3546b0a9cf9567fce6526\n"
    },
    {
      "commit": "061cf180db339115914f5f9a34f4952060eaf3aa",
      "tree": "41fa44568e301b381d2cdf627e29b9119518695c",
      "parents": [
        "20de9ef5bdeb4d338206c0203560e5d4aa6334c5",
        "4a253496b86522ec732a89f19d4ca534d71d53f2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 19 17:52:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 19 17:52:03 2016 +0000"
      },
      "message": "Merge \"Add a test for a known kernel bug.\""
    },
    {
      "commit": "20de9ef5bdeb4d338206c0203560e5d4aa6334c5",
      "tree": "fc622b8efce270ae21db992a7e8952b56c0aba0e",
      "parents": [
        "cf85fd5fd5620d768d728d4cc4d33f35306d7a41",
        "d2f725eaedc9c98c353885f20c0ff7ef13e3477f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 18 20:39:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 18 20:39:10 2016 +0000"
      },
      "message": "Merge \"Don\u0027t declare SYS_* constants for unavailable __NR_* constants.\""
    },
    {
      "commit": "d2f725eaedc9c98c353885f20c0ff7ef13e3477f",
      "tree": "201e7973c24424b8a11bedcd123f01fdf119837f",
      "parents": [
        "098d8ef5b224841d93960f1cd02c73d853b6344c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 15 15:47:47 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 18 12:48:39 2016 -0700"
      },
      "message": "Don\u0027t declare SYS_* constants for unavailable __NR_* constants.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d215853\nChange-Id: Iaaa3ce888deb8d032208bf636b7badaed6a72d30\n"
    },
    {
      "commit": "cf85fd5fd5620d768d728d4cc4d33f35306d7a41",
      "tree": "11c84d2d1174ce30d161595208ea2a20f14ea976",
      "parents": [
        "098d8ef5b224841d93960f1cd02c73d853b6344c",
        "97f0aefe59095f660817b60b4b523eb5c8b35d22"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 15 22:31:13 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 15 22:31:13 2016 +0000"
      },
      "message": "Merge \"Convert linker from Android.mk to Android.bp\""
    },
    {
      "commit": "098d8ef5b224841d93960f1cd02c73d853b6344c",
      "tree": "38065c4c5837bcb9a6a23679e0d7e925faf3d1c8",
      "parents": [
        "730fa648c20863ed68837ce3e084b503590dde44",
        "32c79c279d8d06163c8ee3e013007bebe3ff62ba"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 15 21:33:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 15 21:33:00 2016 +0000"
      },
      "message": "Merge \"Put the legacy stdio fds back for pre-M.\""
    },
    {
      "commit": "730fa648c20863ed68837ce3e084b503590dde44",
      "tree": "7141cb1b7b00e1d8166f66846bfb07af745059e4",
      "parents": [
        "a24a2476d036989fabe229802448e42196c881ed",
        "77bd6073fb60c4515219fc73712a76f780f9c060"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 15 20:56:01 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 15 20:56:01 2016 +0000"
      },
      "message": "Merge \"Add an alias for _CTYPE_N.\""
    },
    {
      "commit": "97f0aefe59095f660817b60b4b523eb5c8b35d22",
      "tree": "7ae2a7c17a26cd02b5a8d019dca3a9824183ca1e",
      "parents": [
        "a24a2476d036989fabe229802448e42196c881ed"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 14 16:05:46 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jul 15 13:39:29 2016 -0700"
      },
      "message": "Convert linker from Android.mk to Android.bp\n\nChange-Id: Ibf7da301defb2fd7e24fb3f4cd2e967a8f376497\n"
    },
    {
      "commit": "32c79c279d8d06163c8ee3e013007bebe3ff62ba",
      "tree": "38065c4c5837bcb9a6a23679e0d7e925faf3d1c8",
      "parents": [
        "77bd6073fb60c4515219fc73712a76f780f9c060"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jul 15 11:32:23 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jul 15 12:54:14 2016 -0700"
      },
      "message": "Put the legacy stdio fds back for pre-M.\n\nChange-Id: I2e397b04cba2969b9f9a3767b9b2fd12a289fcd2\n"
    },
    {
      "commit": "77bd6073fb60c4515219fc73712a76f780f9c060",
      "tree": "7141cb1b7b00e1d8166f66846bfb07af745059e4",
      "parents": [
        "a24a2476d036989fabe229802448e42196c881ed"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jul 15 11:31:11 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jul 15 12:54:05 2016 -0700"
      },
      "message": "Add an alias for _CTYPE_N.\n\ngnustl is using this. It would be easy to change gnustl to *not* use\nit for Android, but we\u0027ve had this in released NDKs for years now so\nwe probably need this anyway.\n\nChange-Id: I398a550664bf4ccbd9ea54f53c65428293a599a4\n"
    },
    {
      "commit": "a24a2476d036989fabe229802448e42196c881ed",
      "tree": "2db38f989cd13686055085a6f12588cc09f86751",
      "parents": [
        "1e4a945f27e1ed51d25a6703a0017d28a9d0ce18",
        "fe4a4d8f67cf84b0b10d6c689f356229e057603b"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Jul 15 01:29:28 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 15 01:29:28 2016 +0000"
      },
      "message": "Merge \"Force pthread_cond_timedwait_relative_np using CLOCK_MONOTONIC.\""
    },
    {
      "commit": "1e4a945f27e1ed51d25a6703a0017d28a9d0ce18",
      "tree": "faef8ad90606e8429cd874b5b129d21d1fe11218",
      "parents": [
        "55653cc33bb4ade9441d928540b9486029f6616f",
        "0e25b3425b12da3f308500cfaa280e2ee2473b23"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 15 00:52:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 15 00:52:37 2016 +0000"
      },
      "message": "Merge \"Fix clean mma in bionic\""
    },
    {
      "commit": "4a253496b86522ec732a89f19d4ca534d71d53f2",
      "tree": "024567cba4529a3922e8339f77d218e01b8ec894",
      "parents": [
        "55653cc33bb4ade9441d928540b9486029f6616f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 14 17:07:17 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 14 17:07:17 2016 -0700"
      },
      "message": "Add a test for a known kernel bug.\n\nBug: http://b/27265969\nChange-Id: I981cb6a91015bd17d362987ed12c8ca638987c5b\n"
    },
    {
      "commit": "0e25b3425b12da3f308500cfaa280e2ee2473b23",
      "tree": "faef8ad90606e8429cd874b5b129d21d1fe11218",
      "parents": [
        "55653cc33bb4ade9441d928540b9486029f6616f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 14 16:53:18 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 14 16:53:18 2016 -0700"
      },
      "message": "Fix clean mma in bionic\n\nChange-Id: If2410c5ff9c08372098e5ec831e33e4da0e04b30\n"
    },
    {
      "commit": "55653cc33bb4ade9441d928540b9486029f6616f",
      "tree": "7d4f7563a1683a9b9bdd2a5c49e68b2281ae951b",
      "parents": [
        "d0e764f91ebe90dc4ba69742100659d24e803741",
        "2722ebb30b76c9328541c057fa1f5e56a8cedf17"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 14 21:05:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 14 21:05:27 2016 +0000"
      },
      "message": "Merge \"Convert bionic benchmarks and tests to Android.bp\""
    },
    {
      "commit": "d0e764f91ebe90dc4ba69742100659d24e803741",
      "tree": "1834ad48b852fcd8807174ce2abd486736a4d03e",
      "parents": [
        "0393437b53c5426a03a3b5cb8f21523362890a1d",
        "ebe5af75365e7531e3bf083eaacba9361cccc963"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 14 20:11:20 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 14 20:11:21 2016 +0000"
      },
      "message": "Merge \"Fix typo in the comment\""
    },
    {
      "commit": "0393437b53c5426a03a3b5cb8f21523362890a1d",
      "tree": "90a75c5628a20986fcb190f3ef2c5fdba237a233",
      "parents": [
        "41933386c0f9e09d2532d67c792b198581d59e2c",
        "baa4899d386a79a23a85762e02c1c5e7faa53778"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 14 19:43:29 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 14 19:43:29 2016 +0000"
      },
      "message": "Merge \"Convert malloc_debug from Android.mk to Android.bp\""
    },
    {
      "commit": "41933386c0f9e09d2532d67c792b198581d59e2c",
      "tree": "27a5f10412f0c039f8581a2277e4f9ba4a42cbe7",
      "parents": [
        "51f64197ae5c3e0b83d87be78e591aad956348a1",
        "d3b6bc76242c05a3172718ca3a2ffa6a86dc8635"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 14 19:34:47 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 14 19:34:48 2016 +0000"
      },
      "message": "Merge \"Move relocation_packer from Android.mk to Android.bp\""
    },
    {
      "commit": "2722ebb30b76c9328541c057fa1f5e56a8cedf17",
      "tree": "80d716168a658c6a005efff9b99a3d06fdef4b6b",
      "parents": [
        "48cedda02a9874d59b2b3652d0427abce7fedaab"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 11 16:20:06 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 14 12:30:12 2016 -0700"
      },
      "message": "Convert bionic benchmarks and tests to Android.bp\n\nThe compile-time tests and a few custom libraries for dynamic linker\ntesting are still compiled in make.\n\nAlso converts the make rules to run tests on the host to shell scripts\nin tests/run-on-host.sh and benchmarks/run-on-host.sh\n\nChange-Id: I6f174b3a69d58c4ed74d29f4e79332d483681534\n"
    },
    {
      "commit": "ebe5af75365e7531e3bf083eaacba9361cccc963",
      "tree": "c25ad704386e1daa9397aef26000cc49bf7bbe33",
      "parents": [
        "0c9d30f3c83bb451412ad5fdda73529d661cb0fc"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jul 14 11:15:44 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jul 14 11:15:44 2016 -0700"
      },
      "message": "Fix typo in the comment\n\nAddressing review comment from change I11bc2567b0cff89f48699ec74015991fee5b137b\n\nChange-Id: I5d479ef61421c86fae06167815aa0a2681d9142d\n"
    },
    {
      "commit": "51f64197ae5c3e0b83d87be78e591aad956348a1",
      "tree": "2959902b69e8c7c740f390c984185bc4e798e7cd",
      "parents": [
        "85f900d58902bc54ac3f6efc7240de0a576ba51c",
        "0c9d30f3c83bb451412ad5fdda73529d661cb0fc"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Jul 14 18:12:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 14 18:12:59 2016 +0000"
      },
      "message": "Merge \"linker: Improve elf-file validation\""
    },
    {
      "commit": "85f900d58902bc54ac3f6efc7240de0a576ba51c",
      "tree": "78476cb16d645b46d593b1b52e13b995a67723e9",
      "parents": [
        "48cedda02a9874d59b2b3652d0427abce7fedaab",
        "4ce902c30e087f45c6d6ede2012519e2eea44194"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 14 16:54:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 14 16:54:23 2016 +0000"
      },
      "message": "Merge \"Support 32-bit ARM vdso.\""
    },
    {
      "commit": "baa4899d386a79a23a85762e02c1c5e7faa53778",
      "tree": "1dda201a320ece4b88790fb7418bba022d9bc552",
      "parents": [
        "48cedda02a9874d59b2b3652d0427abce7fedaab"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jul 13 11:15:21 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 14 09:07:56 2016 -0700"
      },
      "message": "Convert malloc_debug from Android.mk to Android.bp\n\nChange-Id: I60ad376d222a92a29263c2804dcd1bd0d3c383d0\n"
    },
    {
      "commit": "d3b6bc76242c05a3172718ca3a2ffa6a86dc8635",
      "tree": "d5abee52b179379ddba184ee0612f1e19cd012d1",
      "parents": [
        "48cedda02a9874d59b2b3652d0427abce7fedaab"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jul 13 14:01:45 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jul 14 09:07:13 2016 -0700"
      },
      "message": "Move relocation_packer from Android.mk to Android.bp\n\nChange-Id: I3d24f8513fe3ca19900705d4861ab797464e0930\n"
    },
    {
      "commit": "48cedda02a9874d59b2b3652d0427abce7fedaab",
      "tree": "5c65eb76505c0940d6bb37ada5e94a61ee946890",
      "parents": [
        "cc55bd831318d485dcf04149d423d91756379153",
        "3a6c6b3254b2033a9a0246013a2c8b486800624b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 14 00:22:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 14 00:22:34 2016 +0000"
      },
      "message": "Merge \"Fix dlext.ns_smoke test\""
    },
    {
      "commit": "0c9d30f3c83bb451412ad5fdda73529d661cb0fc",
      "tree": "853a3581992521a9d976e9c027dfa99ce589ad5e",
      "parents": [
        "cc55bd831318d485dcf04149d423d91756379153"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Jul 13 17:06:36 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Jul 13 17:06:36 2016 -0700"
      },
      "message": "linker: Improve elf-file validation\n\n1. Make sure that the .dynamic section offset and size matches\n   PT_DYNAMIC segment offset and filesz\n2. No section offset can be 0\n\nBug: http://b/16548758\nBug: http://b/29637134\nChange-Id: I11bc2567b0cff89f48699ec74015991fee5b137b\nTest: Install and start the app from http://b/29637134\n"
    },
    {
      "commit": "3a6c6b3254b2033a9a0246013a2c8b486800624b",
      "tree": "6e66442d0d7976aeaba933237f78d42b7f36978b",
      "parents": [
        "c8d5d2a5246e97bc916795811bf6147caa71bc5d"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Jul 13 16:28:20 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Jul 13 16:28:20 2016 -0700"
      },
      "message": "Fix dlext.ns_smoke test\n\nCheck for updated error_message\n\nChange-Id: I0f0dd59a6deba016d37d0ccc80113b62db86c1c2\nTest: adb shell bionic-unit-tests32/64 --gtest_filter\u003ddlext.ns*\n"
    },
    {
      "commit": "fe4a4d8f67cf84b0b10d6c689f356229e057603b",
      "tree": "c68f6e42176bed86291d0ccc5e02a5b8ed386a96",
      "parents": [
        "cc55bd831318d485dcf04149d423d91756379153"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Jul 13 15:53:25 2016 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Jul 13 16:08:48 2016 -0700"
      },
      "message": "Force pthread_cond_timedwait_relative_np using CLOCK_MONOTONIC.\n\nPrevious patch changed pthread_cond_timedwait_relative_np to use\nCLOCK_REALTIME, which causes app compatibility problem. So change\nit back to CLOCK_MONOTONIC.\n\nBug: 30106240\nChange-Id: I8e04058e92ede098f4f9f8d133f094001921441e\n"
    },
    {
      "commit": "cc55bd831318d485dcf04149d423d91756379153",
      "tree": "56c17570f7bd648cc9de50b51262bc1d14b6dc08",
      "parents": [
        "c8d5d2a5246e97bc916795811bf6147caa71bc5d",
        "f857211675dcfe7abd311e4a7bef6d1685fb4a93"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Jul 13 18:45:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 13 18:45:01 2016 +0000"
      },
      "message": "Merge \"Use trivial types to avoid calls to new for globals\""
    },
    {
      "commit": "f857211675dcfe7abd311e4a7bef6d1685fb4a93",
      "tree": "56c17570f7bd648cc9de50b51262bc1d14b6dc08",
      "parents": [
        "c8d5d2a5246e97bc916795811bf6147caa71bc5d"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Jul 13 10:24:06 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Jul 13 10:33:15 2016 -0700"
      },
      "message": "Use trivial types to avoid calls to new for globals\n\nTo avoid initialization ordering problem avoid constructing\nnon-trivial global objects for linker_logger.\n\nThis patch also adds explicit check for bloc_size_ on alloc\n\nChange-Id: I2cb3b13a10b7fac1f52a20038af77266d3e1da96\n"
    },
    {
      "commit": "c8d5d2a5246e97bc916795811bf6147caa71bc5d",
      "tree": "3f454852bf8ac1b2323b431de023001a8554ce12",
      "parents": [
        "7fd1e75e2482e7f28eff15d9b6c8614132680ce6",
        "b996d60493a2e501655f23523b31fe34a63edd5c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 12 22:27:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 12 22:27:19 2016 +0000"
      },
      "message": "Merge \"linker: Enable debug logging via properties\""
    }
  ],
  "next": "b996d60493a2e501655f23523b31fe34a63edd5c"
}
