)]}'
{
  "log": [
    {
      "commit": "26fda778f7dcc8654c737efcb4a6dbbbf59b99d5",
      "tree": "cc60c35f375be9ab830b8db5343e51a6e318a513",
      "parents": [
        "37b23cbff5b33cabbe9a5b5c57cb2c70a73e34ab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 11:56:41 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 12:08:45 2016 -0700"
      },
      "message": "Fix b64_pton.\n\nThis was fixed upstream years ago. While we\u0027re here, let\u0027s switch to the\nOpenBSD copy (because that\u0027s our majority upstream BSD, not because they\nfound and fixed this bug first).\n\nBug: http://b/28035006\nChange-Id: I53dd915a8122bfd7a6d58f01f9902d1586a47e23\n"
    },
    {
      "commit": "37b23cbff5b33cabbe9a5b5c57cb2c70a73e34ab",
      "tree": "f87b0d573adb9d6185837e83e0b6328219903e34",
      "parents": [
        "733c92fa3632c5ac566cdf6f879e4b9e77c11ecb",
        "eafad49bd6a0e6ca63ae0a5577d3ef7a45713107"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 18:08:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 06 18:08:34 2016 +0000"
      },
      "message": "Merge \"Add \u003csys/quota.h\u003e.\""
    },
    {
      "commit": "eafad49bd6a0e6ca63ae0a5577d3ef7a45713107",
      "tree": "495cbef3d47cb818b28a2768a3e9e43ac004dea2",
      "parents": [
        "66606ff84c079e95c03a61cc8bcfb08261a5a173"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 23:01:42 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 11:06:09 2016 -0700"
      },
      "message": "Add \u003csys/quota.h\u003e.\n\nIt turns out that at least the Nexus 9 kernel is built without CONFIG_QUOTA.\nIf we decide we\u0027re going to mandate quota functionality, I\u0027m happy for us to\nbe a part of CTS that ensures that happens, but I don\u0027t want to be first, so\nthere\u0027s not much to test here other than \"will it compile?\". The strace\noutput looks right though.\n\nBug: http://b/27948821\nBug: http://b/27952303\nChange-Id: If667195eee849ed17c8fa9110f6b02907fc8fc04\n"
    },
    {
      "commit": "733c92fa3632c5ac566cdf6f879e4b9e77c11ecb",
      "tree": "fdb8bf80647b66d73ce348cef2f11ce417f5c28e",
      "parents": [
        "492c8723e39369b1ab270ef67fdfce01cd3798c2",
        "3735539fc3bcf21b0d994110f359f9f4d7fd16af"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 17:00:45 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 06 17:00:46 2016 +0000"
      },
      "message": "Merge \"Rename the \u003cgrp.h\u003e/\u003cpwd.h\u003e tests to reflect that they\u0027re no longer in stubs.cpp.\""
    },
    {
      "commit": "492c8723e39369b1ab270ef67fdfce01cd3798c2",
      "tree": "07599e275b023bee775c54dc15bace67a06860ab",
      "parents": [
        "af11ec2e9283c7bc2f28953841573ea7ac31bba4",
        "e4510a2779cba5fff5d09b17fcc288d7ae04660b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 16:47:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 06 16:47:33 2016 +0000"
      },
      "message": "Merge \"Break up the rest of stubs.cpp.\""
    },
    {
      "commit": "3735539fc3bcf21b0d994110f359f9f4d7fd16af",
      "tree": "cf4fb79b57e5db7e2aff2b3e31f30dc21889d0b5",
      "parents": [
        "af11ec2e9283c7bc2f28953841573ea7ac31bba4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 08:38:21 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 06 09:04:17 2016 -0700"
      },
      "message": "Rename the \u003cgrp.h\u003e/\u003cpwd.h\u003e tests to reflect that they\u0027re no longer in stubs.cpp.\n\nBug: http://b/27999086\nChange-Id: I3255ad5861a705beeb9b462e22f79ae1e5a85a79\n"
    },
    {
      "commit": "e4510a2779cba5fff5d09b17fcc288d7ae04660b",
      "tree": "07599e275b023bee775c54dc15bace67a06860ab",
      "parents": [
        "af11ec2e9283c7bc2f28953841573ea7ac31bba4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 08:34:58 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 06 08:34:58 2016 -0700"
      },
      "message": "Break up the rest of stubs.cpp.\n\nBug: http://b/27999086\nChange-Id: Ibcc2c5171d43ebd26b486642052738473f3b7714\n"
    },
    {
      "commit": "af11ec2e9283c7bc2f28953841573ea7ac31bba4",
      "tree": "b0b74dace4e8ebb3345c64c7bc55f66a87404545",
      "parents": [
        "a749dc91c51a9e6609701f0717d13ec324ddfb42",
        "b38347ad8bee0e35ab45f1658c780e25033c28b1"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 06 15:05:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 06 15:05:41 2016 +0000"
      },
      "message": "Merge \"bionic: split out getpwnam and friends\""
    },
    {
      "commit": "b38347ad8bee0e35ab45f1658c780e25033c28b1",
      "tree": "81f36add48738611c1cb54469e33489c0c022e59",
      "parents": [
        "d9bba70c3d55a48eb75f3e41c2e0b92982bc7a59"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 05 09:09:46 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 06 07:26:01 2016 -0700"
      },
      "message": "bionic: split out getpwnam and friends\n\n- added grp_pwd.cpp containing POSIX passwd and group functions,\n  colocated because they share with the Android ID (AID) roots.\n- stubs.cpp contains all the truly empty functions (network and\n  protocol accessors)\n\nBug: 27999086\nChange-Id: I036f9e2dd246f48302cb7c97d23176fa24d19c33\n"
    },
    {
      "commit": "a749dc91c51a9e6609701f0717d13ec324ddfb42",
      "tree": "1172315e88250005be13920878b1f4179a175ef9",
      "parents": [
        "c0e8b064678f5f6024c75817ca5afa4b6b85b8a4",
        "360800d8298d5718ccbc210d0b1e82ea79f1fead"
      ],
      "author": {
        "name": "Pierre Imai",
        "email": "imaipi@google.com",
        "time": "Wed Apr 06 03:01:51 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 06 03:01:51 2016 +0000"
      },
      "message": "Merge \"Reduce the amount of logging in Bionic\u0027s resolver.\""
    },
    {
      "commit": "360800d8298d5718ccbc210d0b1e82ea79f1fead",
      "tree": "1172315e88250005be13920878b1f4179a175ef9",
      "parents": [
        "c0e8b064678f5f6024c75817ca5afa4b6b85b8a4"
      ],
      "author": {
        "name": "Pierre Imai",
        "email": "imaipi@google.com",
        "time": "Wed Apr 06 11:23:47 2016 +0900"
      },
      "committer": {
        "name": "Pierre Imai",
        "email": "imaipi@google.com",
        "time": "Wed Apr 06 11:25:30 2016 +0900"
      },
      "message": "Reduce the amount of logging in Bionic\u0027s resolver.\n\nChange-Id: I250d9a352f1fa0cafef349d0e23f72a9dd8e399d\n"
    },
    {
      "commit": "c0e8b064678f5f6024c75817ca5afa4b6b85b8a4",
      "tree": "97bd399c67534672f8e4f99a37ff3015a25ea34c",
      "parents": [
        "66606ff84c079e95c03a61cc8bcfb08261a5a173",
        "0a2ab0203cc12c9b4b7647b18caf0343af8ca1a4"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Apr 06 00:38:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 06 00:38:23 2016 +0000"
      },
      "message": "Merge \"Do not test ifunc on mips\""
    },
    {
      "commit": "0a2ab0203cc12c9b4b7647b18caf0343af8ca1a4",
      "tree": "97bd399c67534672f8e4f99a37ff3015a25ea34c",
      "parents": [
        "66606ff84c079e95c03a61cc8bcfb08261a5a173"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Apr 05 17:12:01 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Apr 05 17:37:45 2016 -0700"
      },
      "message": "Do not test ifunc on mips\n\nThis commit fixes mips build\n\nBug: http://b/28009632\nChange-Id: I5c657b31947791aea4cc02a2fc4ede6d0ecde851\n"
    },
    {
      "commit": "66606ff84c079e95c03a61cc8bcfb08261a5a173",
      "tree": "30702062c064b058b4f53a9882c2d0a0e861ae76",
      "parents": [
        "d9bba70c3d55a48eb75f3e41c2e0b92982bc7a59",
        "fa4aeed2c60fb97a06e2550481b9ef4d0e100b7e"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Apr 06 00:15:02 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 06 00:15:02 2016 +0000"
      },
      "message": "Merge \"linker: Add unit-test for sleb128_decoder\""
    },
    {
      "commit": "fa4aeed2c60fb97a06e2550481b9ef4d0e100b7e",
      "tree": "cce7c56997a35fe2913053b8039bce381d3c6654",
      "parents": [
        "c9291e1bb51a9bf9fb64e382a094dc205de4287d"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Apr 05 13:29:50 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Apr 05 16:42:17 2016 -0700"
      },
      "message": "linker: Add unit-test for sleb128_decoder\n\nAdd missing test for sleb128_decoder. Also remove\ndependency to static library because it exposes malloc/free\nwhich interfere with libc.so malloc/free causing test to crash.\n\nChange-Id: Iedd3268011df9f67ed58c0b58c71f34e30370b23\n"
    },
    {
      "commit": "d9bba70c3d55a48eb75f3e41c2e0b92982bc7a59",
      "tree": "157fe5d3c01930627c72ba75c39aa50497de0cf2",
      "parents": [
        "95ddb26256db734be7f7efc8cba3362bcececea9",
        "7f72ad4d6c6f4c99726fff423bdbbdca1032fdc2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 23:38:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 05 23:38:38 2016 +0000"
      },
      "message": "Merge \"Add sync_file_range to \u003cfcntl.h\u003e.\""
    },
    {
      "commit": "7f72ad4d6c6f4c99726fff423bdbbdca1032fdc2",
      "tree": "157fe5d3c01930627c72ba75c39aa50497de0cf2",
      "parents": [
        "95ddb26256db734be7f7efc8cba3362bcececea9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 11:56:03 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 12:17:22 2016 -0700"
      },
      "message": "Add sync_file_range to \u003cfcntl.h\u003e.\n\nBug: http://b/27952303\nChange-Id: Idadfacd657ed415abc11684b9471e4e24c2fbf05\n"
    },
    {
      "commit": "95ddb26256db734be7f7efc8cba3362bcececea9",
      "tree": "9da39bd68ce4cc4bbd9f7903bb4fa7e721c388ee",
      "parents": [
        "c9291e1bb51a9bf9fb64e382a094dc205de4287d",
        "55147ada3c93bda85b2d35f72ba4fde1a7745ff6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 18:50:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 05 18:50:09 2016 +0000"
      },
      "message": "Merge \"Add missing prototype for readahead in \u003cfcntl.h\u003e.\""
    },
    {
      "commit": "55147ada3c93bda85b2d35f72ba4fde1a7745ff6",
      "tree": "9da39bd68ce4cc4bbd9f7903bb4fa7e721c388ee",
      "parents": [
        "c9291e1bb51a9bf9fb64e382a094dc205de4287d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 11:06:02 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 11:06:02 2016 -0700"
      },
      "message": "Add missing prototype for readahead in \u003cfcntl.h\u003e.\n\nChange-Id: Icfe85e9cf95c657b495c4e9cd10dec50b0b8f6db\n"
    },
    {
      "commit": "c9291e1bb51a9bf9fb64e382a094dc205de4287d",
      "tree": "c819ca953fefe55ea960033bb8cfde8caece9271",
      "parents": [
        "7897405439630d59b8f2c9fc51239c44bac4fe9e",
        "df143f8576afb0446794d4ccb1fb02aed196c82a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 18:03:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 05 18:03:56 2016 +0000"
      },
      "message": "Merge \"Add POSIX getsubopt(3).\""
    },
    {
      "commit": "7897405439630d59b8f2c9fc51239c44bac4fe9e",
      "tree": "361c96043f628af4836a1e0f9bd95ad6f6eb3943",
      "parents": [
        "14fc307518d231933fde018992f1f063ff53d505",
        "5375bf639856cbeb1b4872553a56b95e641f1404"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 17:01:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 05 17:01:23 2016 +0000"
      },
      "message": "Merge \"Add SysV signal handling\""
    },
    {
      "commit": "14fc307518d231933fde018992f1f063ff53d505",
      "tree": "903b195099a2440125cc275c710a20e2b871aa77",
      "parents": [
        "ce3101f021779446e5bcfa04031850bada7f3ef1",
        "03844d8cdb43c351d2c94eb67242966019f7600d"
      ],
      "author": {
        "name": "Pierre Imai",
        "email": "imaipi@google.com",
        "time": "Tue Apr 05 07:35:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 05 07:35:46 2016 +0000"
      },
      "message": "Merge \"Fix off-by-one error in res_cache.c\""
    },
    {
      "commit": "03844d8cdb43c351d2c94eb67242966019f7600d",
      "tree": "3b14cfa5c9ec93fb225cd3c84a2f4d0e3a1b5ec2",
      "parents": [
        "6b3f0d65f2c706625e5efb495df0f2c6178b965a"
      ],
      "author": {
        "name": "Pierre Imai",
        "email": "imaipi@google.com",
        "time": "Tue Apr 05 15:49:08 2016 +0900"
      },
      "committer": {
        "name": "Pierre Imai",
        "email": "imaipi@google.com",
        "time": "Tue Apr 05 16:19:57 2016 +0900"
      },
      "message": "Fix off-by-one error in res_cache.c\n\nChange-Id: I58264902c123b3bc0d392d17837aa537ca0a3ca2\n"
    },
    {
      "commit": "ce3101f021779446e5bcfa04031850bada7f3ef1",
      "tree": "fa3a74462abb9425fab1f015a78ae0f346334d11",
      "parents": [
        "5b528c08320937ac3685955693c55fb71cb82223",
        "6b3f0d65f2c706625e5efb495df0f2c6178b965a"
      ],
      "author": {
        "name": "Pierre Imai",
        "email": "imaipi@google.com",
        "time": "Tue Apr 05 03:44:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 05 03:44:36 2016 +0000"
      },
      "message": "Merge \"Ignore unreliable DNS servers.\""
    },
    {
      "commit": "6b3f0d65f2c706625e5efb495df0f2c6178b965a",
      "tree": "a28a9ea297b813ebb6647f113305f54ef17e5a93",
      "parents": [
        "e725dc164015d873b64639f0fee9ba5c30175f4c"
      ],
      "author": {
        "name": "Pierre Imai",
        "email": "imaipi@google.com",
        "time": "Mon Feb 22 17:50:41 2016 +0900"
      },
      "committer": {
        "name": "Pierre Imai",
        "email": "imaipi@google.com",
        "time": "Tue Apr 05 11:42:43 2016 +0900"
      },
      "message": "Ignore unreliable DNS servers.\n\nCollect statistics about DNS query success state and delay. Ignore\nservers that have been tried at least five times and have a success rate\nof \u003c 0.25. Retry these servers once every 180s.\n\nBug: 25731675\nChange-Id: I78e24f43e388dca82fb81835e1796f4c7dce8da3\n"
    },
    {
      "commit": "5b528c08320937ac3685955693c55fb71cb82223",
      "tree": "dca536621dccc20a3299de5a407e504d3e8e92d8",
      "parents": [
        "9a30714c87aa1a3dfc632e367ae60b24ee897ce6",
        "5db4b6e5de626eb473e3d9c70eba99749eee20cf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 05 00:36:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 05 00:36:08 2016 +0000"
      },
      "message": "Merge \"Make it harder to use a broken legacy function by accident.\""
    },
    {
      "commit": "df143f8576afb0446794d4ccb1fb02aed196c82a",
      "tree": "098728b018b7869bd8952e3e39894df3280808bc",
      "parents": [
        "2678c90f7d98a962badfe4bb736a26fb21485c7e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 04 17:34:04 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 04 17:34:04 2016 -0700"
      },
      "message": "Add POSIX getsubopt(3).\n\nBug: http://b/27952303\nChange-Id: I8a816477545dadcbd5c055714e76263574446b6f\n"
    },
    {
      "commit": "9a30714c87aa1a3dfc632e367ae60b24ee897ce6",
      "tree": "d473df596644d8170a85f5326324e28e5516584e",
      "parents": [
        "2678c90f7d98a962badfe4bb736a26fb21485c7e",
        "ff624c2c174b3f19e8c6e0c8f782cdd0caa26f74"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Apr 05 00:08:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 05 00:08:05 2016 +0000"
      },
      "message": "Merge \"Format code to calculate thread stack and signal stack.\""
    },
    {
      "commit": "5375bf639856cbeb1b4872553a56b95e641f1404",
      "tree": "b81f0552d30d52629acb95510bd80bcc77c4ab1f",
      "parents": [
        "2678c90f7d98a962badfe4bb736a26fb21485c7e"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Mon Feb 29 12:35:33 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 04 16:33:29 2016 -0700"
      },
      "message": "Add SysV signal handling\n\nImplement the legacy SysV signal handling functions sighold(),\nsigignore(), sigpause(), sigrelse(), and sigset() in terms of the newer\nPOSIX signal APIs.  As of POSIX 2013 the SysV signal APIs are deprecated\nbut still required.\n\nChange-Id: I4ca40e3d706605a7d1a30dc76c78b2b24586387d\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "ff624c2c174b3f19e8c6e0c8f782cdd0caa26f74",
      "tree": "38fa4a1037feb3a24fcdbbd968018ef10416cba8",
      "parents": [
        "eaf50be332f015bd90e45d4f9d111b24cd230f00"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 30 17:48:50 2016 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Apr 04 16:19:39 2016 -0700"
      },
      "message": "Format code to calculate thread stack and signal stack.\n\nThe code to calculate thread stack and signal stack looks weird:\nthe thread stack size and signal stack size are related with\neach other on 32-bit mode, but not on 64-bit mode. So change the\ncode to make the logic more resonable. This doesn\u0027t change anything\nas we have defined SIGSTKSZ to 16K on arm64.\n\nBug: 28005110\n\nChange-Id: I04d2488cfb96ee7e2d894d062c66cef950fec418\n"
    },
    {
      "commit": "5db4b6e5de626eb473e3d9c70eba99749eee20cf",
      "tree": "50599f0f7bd86ca17b22b8626e3e12eb91867f68",
      "parents": [
        "2678c90f7d98a962badfe4bb736a26fb21485c7e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 04 16:15:37 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 04 16:15:37 2016 -0700"
      },
      "message": "Make it harder to use a broken legacy function by accident.\n\nThis function only exists for backwards compatibility, so leave it as it was.\n\nBug: http://b/26944282\nChange-Id: I31973d1402660933103ee2d815649ab9569e4dfc\n"
    },
    {
      "commit": "2678c90f7d98a962badfe4bb736a26fb21485c7e",
      "tree": "6d58cb7f0afe537f44a784619dfa6eacce50d533",
      "parents": [
        "04c7d3d257abb7ef2a0298700677858c9d0938c3",
        "be45b22a515053acbc782c337498f495b23e13cc"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Apr 04 21:14:01 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 04 21:14:01 2016 +0000"
      },
      "message": "Merge \"Update Android.bp with recent Android.mk changes\""
    },
    {
      "commit": "04c7d3d257abb7ef2a0298700677858c9d0938c3",
      "tree": "1b40122e2c85afd49ae685aa4d4154b236193c0f",
      "parents": [
        "e5f79381db04d925a60116910626114965d934dc",
        "c967d892456ae8d578dfc75f241d9af04f31811f"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Apr 04 20:25:21 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 04 20:25:21 2016 +0000"
      },
      "message": "Merge \"Enable ifunc test for arm\""
    },
    {
      "commit": "be45b22a515053acbc782c337498f495b23e13cc",
      "tree": "6a6e7b0da8c0e5d9982d3fdca5e7ac9ba28edcdb",
      "parents": [
        "e5f79381db04d925a60116910626114965d934dc"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Apr 04 13:18:46 2016 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Apr 04 13:20:31 2016 -0700"
      },
      "message": "Update Android.bp with recent Android.mk changes\n\nThis ports Idb3d445e053c44180773f59774df19b324f6817f to Android.bp\n\nChange-Id: Id5cdb450330792810b8eb61b3cab115ef046e55d\n"
    },
    {
      "commit": "e5f79381db04d925a60116910626114965d934dc",
      "tree": "b3a931c82cffea4bff9be0fb956ed1fd29e63981",
      "parents": [
        "6b19f35f6849259cdb0f8002e903cc7ac0d07db7",
        "17fdd028da5569ba6e29c338381b60d2d8a499c8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 04 19:46:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 04 19:46:18 2016 +0000"
      },
      "message": "Merge \"Remove a workaround from stack_protector_test that\u0027s not needed in master.\""
    },
    {
      "commit": "6b19f35f6849259cdb0f8002e903cc7ac0d07db7",
      "tree": "73689aac731821e0cb5efe0f0d7970c2cc5a54c8",
      "parents": [
        "d15837a3b20ac2151481323d6d06e8c0355d3757",
        "afe835d540000d2378e744b764d71406b410761d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 04 18:41:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 04 18:41:05 2016 +0000"
      },
      "message": "Merge \"Move math headers in with the other headers.\""
    },
    {
      "commit": "c967d892456ae8d578dfc75f241d9af04f31811f",
      "tree": "4e99908cc061ba4d35a783b4fe2f0bac029b0f02",
      "parents": [
        "d15837a3b20ac2151481323d6d06e8c0355d3757"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Mar 30 16:44:48 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Apr 04 11:28:41 2016 -0700"
      },
      "message": "Enable ifunc test for arm\n\nBug: http://b/27930475\nChange-Id: I1f9e7c5b9ffabfd77ae6ebd534938aef39ec7987\n"
    },
    {
      "commit": "d15837a3b20ac2151481323d6d06e8c0355d3757",
      "tree": "6370ac1c542eeccd779355b83b1d107cd4575937",
      "parents": [
        "a30c44a3e38d1f743b07306d97cb1e759ee1935e",
        "2ee458830824c66f5713a6982e6beae8f8a1dc37"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Apr 04 16:49:21 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 04 16:49:21 2016 +0000"
      },
      "message": "Merge \"Revert \"[MIPS] Link .dex or .oat code lacking .MIPS.abiflags segment\"\""
    },
    {
      "commit": "a30c44a3e38d1f743b07306d97cb1e759ee1935e",
      "tree": "fa5500215cc91f20139647c2f837a557f23217d5",
      "parents": [
        "2152a8ca3550ff0c9c998bfd4d6ab741758063ec",
        "126ab128824ce98fbc79ce0f19149407bcb82390"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Apr 03 16:20:25 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Apr 03 16:20:26 2016 +0000"
      },
      "message": "Merge \"tests: allow brk to fail with ENOMEM\""
    },
    {
      "commit": "126ab128824ce98fbc79ce0f19149407bcb82390",
      "tree": "fa5500215cc91f20139647c2f837a557f23217d5",
      "parents": [
        "2152a8ca3550ff0c9c998bfd4d6ab741758063ec"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Thu Dec 31 08:04:53 2015 -0500"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Apr 03 15:31:58 2016 +0000"
      },
      "message": "tests: allow brk to fail with ENOMEM\n\nAny caller of brk needs to handle failure by falling back to mmap as\nthere\u0027s no guarantee that other mappings are not placed above the brk\nheap. Since jemalloc starts with mmap in the first place and dlmalloc\nknows how to fall back to mmap, it\u0027s already a legacy API in Android.\n\nForcing it to succeed rules out stronger ASLR implementations where the\nbrk heap might not have any room to grow. It\u0027s also valid for the brk\nimplementation to simply return -1 with errno set to ENOMEM in every\ncase and that\u0027s a good way of finding anything relying on it. It would\nmake sense for it to be an optional kernel feature.\n\nThe brk heap is also not guaranteed to be initially page aligned. PaX\nASLR randomizes the internal bits. It was only mentioned in a comment to\nexplain the design of the test though.\n\nBug: 24233096\nChange-Id: I16e9bc8677e796c73915b830b99b0ce39c02b31d\n"
    },
    {
      "commit": "afe835d540000d2378e744b764d71406b410761d",
      "tree": "e7e2f42e0aa8f049fe431360a4b79b3ec3f8ae9a",
      "parents": [
        "2152a8ca3550ff0c9c998bfd4d6ab741758063ec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 02 08:36:33 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 02 08:36:33 2016 -0700"
      },
      "message": "Move math headers in with the other headers.\n\nKeeping them separate is a pain for the NDK, and doesn\u0027t help the platform.\n\nChange-Id: I96b8beef307d4a956e9c0a899ad9315adc502582\n"
    },
    {
      "commit": "17fdd028da5569ba6e29c338381b60d2d8a499c8",
      "tree": "234c799a3e92860521a62b00d2b83695c88f3af3",
      "parents": [
        "2152a8ca3550ff0c9c998bfd4d6ab741758063ec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 21:02:25 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 21:02:25 2016 -0700"
      },
      "message": "Remove a workaround from stack_protector_test that\u0027s not needed in master.\n\nThe compiler in master doesn\u0027t leave a gap between the buffer and the stack\nguard canary.\n\nBug: http://b/27815668\nChange-Id: Iae6681683881055c2719d661a2179f5305c23135\n"
    },
    {
      "commit": "2152a8ca3550ff0c9c998bfd4d6ab741758063ec",
      "tree": "dba67c4a0127309ae81e4a86a72d3236bbd18256",
      "parents": [
        "1e8958448a94753dec9c070ef011628c0b230d98",
        "6057d184f548a5f17e2c9467228d167243d9736a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 02 04:01:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 02 04:01:54 2016 +0000"
      },
      "message": "Merge \"Fix the stack-protector test for x86/x86-64.\""
    },
    {
      "commit": "6057d184f548a5f17e2c9467228d167243d9736a",
      "tree": "dba67c4a0127309ae81e4a86a72d3236bbd18256",
      "parents": [
        "1e8958448a94753dec9c070ef011628c0b230d98"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 14:51:10 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 20:08:03 2016 -0700"
      },
      "message": "Fix the stack-protector test for x86/x86-64.\n\nBuilt for fugu this was working fine, but built for generic x86/x86-64\nthe compiler was (a) optimizing out all the stack writes and (b) inserting\nenough padding on x86-64 for the canary to be safely out of the way.\n\nWhile here, let\u0027s tighten up this test so we test that it\u0027s sufficient to\nonly overwrite the buffer by one byte...\n\n(cherry-pick of 6f90c1ac59eb4e7811b7b0e408615049c935c0a9.)\n\nBug: http://b/27815668\nChange-Id: I80a646de4b30fd5c78df20fdaa7e3eb163585caf\n"
    },
    {
      "commit": "1e8958448a94753dec9c070ef011628c0b230d98",
      "tree": "2fda3eadc11b3e4b613d2abaccd512e06cd1bfb6",
      "parents": [
        "af39abdef53062c9bbc246371ac49ef5412eeb80",
        "cf73e00ddeb16c428effe45c91c0fadb844e2a61"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 20:30:11 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 01 20:30:11 2016 +0000"
      },
      "message": "Merge \"Ensure only mips is using GCC to build bionic.\""
    },
    {
      "commit": "af39abdef53062c9bbc246371ac49ef5412eeb80",
      "tree": "0b27b0b4122aaaf9e97d95e4aafc380cf3d6c674",
      "parents": [
        "538bdf96231d05ff36f67cad4f3daba1087523e1",
        "36733fc4c10854766cca3b617aae61149895e4b2"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Apr 01 17:56:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 01 17:56:33 2016 +0000"
      },
      "message": "Merge \"Check current pid at libc initialization for 32-bit build.\""
    },
    {
      "commit": "cf73e00ddeb16c428effe45c91c0fadb844e2a61",
      "tree": "5f9f59cfa49851fc8a7439cc457146894efc0d1c",
      "parents": [
        "538bdf96231d05ff36f67cad4f3daba1087523e1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 10:54:27 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 10:54:27 2016 -0700"
      },
      "message": "Ensure only mips is using GCC to build bionic.\n\nMIPS still have ld128 and 16-bit atomics issues with clang, so we can\u0027t\njust remove this yet.\n\nBug: http://b/25291096\nChange-Id: I2645ebf3af04e1a4008d70da780c04240e3d7a85\n"
    },
    {
      "commit": "538bdf96231d05ff36f67cad4f3daba1087523e1",
      "tree": "7892a38afb1db0512bc079c73293ced7346fdbaa",
      "parents": [
        "e9daecf74b276c780d65ded0c340193691dc69e5",
        "cd3abe38ef6c425cfccfc897937fed097f8753c8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 17:26:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 01 17:26:53 2016 +0000"
      },
      "message": "Merge \"Tell GCC that sometimes we have to build deprecated functions.\""
    },
    {
      "commit": "cd3abe38ef6c425cfccfc897937fed097f8753c8",
      "tree": "7892a38afb1db0512bc079c73293ced7346fdbaa",
      "parents": [
        "e9daecf74b276c780d65ded0c340193691dc69e5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 10:25:19 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 10:25:52 2016 -0700"
      },
      "message": "Tell GCC that sometimes we have to build deprecated functions.\n\nWe\u0027re the C library. Nothing could be more deprecated.\n\nbionic/libc/bionic/pthread_cond.cpp:243:10: error: \u0027int pthread_cond_timedwait_relative_np(pthread_cond_t*, pthread_mutex_t*, const timespec*)\u0027 is deprecated (declared at bionic/libc/bionic/pthread_cond.cpp:227): use pthread_cond_timedwait instead [-Werror\u003ddeprecated-declarations]\n   return pthread_cond_timedwait_relative_np(cond_interface, mutex, \u0026ts);\n          ^\nbionic/libc/bionic/pthread_cond.cpp:243:71: error: \u0027int pthread_cond_timedwait_relative_np(pthread_cond_t*, pthread_mutex_t*, const timespec*)\u0027 is deprecated (declared at bionic/libc/bionic/pthread_cond.cpp:227): use pthread_cond_timedwait instead [-Werror\u003ddeprecated-declarations]\n   return pthread_cond_timedwait_relative_np(cond_interface, mutex, \u0026ts);\n                                                                       ^\n\nChange-Id: Idb3d445e053c44180773f59774df19b324f6817f\n"
    },
    {
      "commit": "e9daecf74b276c780d65ded0c340193691dc69e5",
      "tree": "3940fb6183958eaab956868b41fed18253573f7c",
      "parents": [
        "4e764a0f98be37b32bd6b92967e54124e6aeb150",
        "96583dcf95ba51c3ac51ef65c2172be1b2696431"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 16:43:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 01 16:43:42 2016 +0000"
      },
      "message": "Merge \"Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE.\""
    },
    {
      "commit": "4e764a0f98be37b32bd6b92967e54124e6aeb150",
      "tree": "34cacc83c03b9d0df486a3a0b25891001a1829aa",
      "parents": [
        "a30e19da564deda466e3fe79784f51d2fc6adb51",
        "5dd13d09c1788b2731b094d88dd9ed40ae80ef39"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 02:11:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 01 02:11:49 2016 +0000"
      },
      "message": "Merge \"Differentiate the MNTTYPE_* and MNTOPT_* constants.\""
    },
    {
      "commit": "5dd13d09c1788b2731b094d88dd9ed40ae80ef39",
      "tree": "34cacc83c03b9d0df486a3a0b25891001a1829aa",
      "parents": [
        "a30e19da564deda466e3fe79784f51d2fc6adb51"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 31 18:20:01 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 31 18:20:01 2016 -0700"
      },
      "message": "Differentiate the MNTTYPE_* and MNTOPT_* constants.\n\nBug: http://b/27952303\nChange-Id: I926593c16143f76b21a65af7f6e1979d0fb44cac\n"
    },
    {
      "commit": "a30e19da564deda466e3fe79784f51d2fc6adb51",
      "tree": "542594ba6d7ac07a0af0229bcd473d8a325dc699",
      "parents": [
        "eaf50be332f015bd90e45d4f9d111b24cd230f00",
        "1f1a51aecd7c825418bfedcb66772e92de790149"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 01 01:14:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 01 01:14:23 2016 +0000"
      },
      "message": "Merge \"Add a few missing types and constants to headers.\""
    },
    {
      "commit": "1f1a51aecd7c825418bfedcb66772e92de790149",
      "tree": "542594ba6d7ac07a0af0229bcd473d8a325dc699",
      "parents": [
        "eaf50be332f015bd90e45d4f9d111b24cd230f00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 31 17:05:30 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 31 17:05:30 2016 -0700"
      },
      "message": "Add a few missing types and constants to headers.\n\nThis (and other stuff still to come) prevented xfstests from building out\nof the box.\n\nBug: http://b/27952303\nChange-Id: Id38fd37386d43fc351c56dca18785a465e3e6145\n"
    },
    {
      "commit": "36733fc4c10854766cca3b617aae61149895e4b2",
      "tree": "f4a67d81f76b31a9bc117a8f3f041aafc7c29300",
      "parents": [
        "6212e5dfada2ce1cd8b4915389452cba09e75b69"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 29 12:25:12 2016 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 30 16:45:08 2016 -0700"
      },
      "message": "Check current pid at libc initialization for 32-bit build.\n\nAlthough there is a test pthread.pthread_mutex_owner_tid_limit\nto check pid_max, but bionic-unit-tests hangs before reaching\nthat test. So abort at libc initialization if not able to reach\nthe test when running bionic-unit-tests32. It is more friendly\nfor debugging.\n\nBug: 24016357\nChange-Id: Ia70c2e36fd8a3a040d41ea5722c7b48a6134e102\n"
    },
    {
      "commit": "96583dcf95ba51c3ac51ef65c2172be1b2696431",
      "tree": "7f4fca0fcf7d8d2f8c34a05c4f12f2c002cb44c2",
      "parents": [
        "2846ae70fb967269e8fcd2d854d04c9aeb5d01d3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 30 10:33:54 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 30 10:33:54 2016 -0700"
      },
      "message": "Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE.\n\nBug: http://b/27918161\nChange-Id: I21d4dfa4636aa06a93b3c8a215113f66f37f0bc7\n"
    },
    {
      "commit": "eaf50be332f015bd90e45d4f9d111b24cd230f00",
      "tree": "5d9b840e28d57d58198703d2a24fd179fb31a7ff",
      "parents": [
        "a42789f9d246097c6178dabf5ba0fd227e038d70",
        "3299590dfe582c212c2928b7b57427db57859d46"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Mar 30 02:27:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 30 02:27:00 2016 +0000"
      },
      "message": "Merge \"Add a checksum to jmp_buf on mips and mips64.\""
    },
    {
      "commit": "a42789f9d246097c6178dabf5ba0fd227e038d70",
      "tree": "10e9fa45c2dc230a85111bc34bebbdee41cb1a6c",
      "parents": [
        "c03e8ceec233494ae1248247c5a1f4a374e70ae5",
        "686e5f6f69c5c30a09d73e42657cb502a261ad6a"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Mar 30 00:58:30 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 30 00:58:30 2016 +0000"
      },
      "message": "Merge changes from topic \u0027setjmp_checksum_x86\u0027\n\n* changes:\n  Add a checksum to jmp_buf on x86_64.\n  Delete lies from x86_64 setjmp implementation.\n  Add a checksum to jmp_buf on x86.\n"
    },
    {
      "commit": "686e5f6f69c5c30a09d73e42657cb502a261ad6a",
      "tree": "30966d374ffe3ca015a871206329b39e3f9220c9",
      "parents": [
        "c244fcb8a3396f94976a56379cce144c4451c3d4"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Mar 29 14:53:26 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Mar 29 17:28:32 2016 -0700"
      },
      "message": "Add a checksum to jmp_buf on x86_64.\n\nBug: http://b/27856501\nBug: http://b/27417786\nChange-Id: I541f5a7ce4972ef56b3f69e73927ca7df362609a\n"
    },
    {
      "commit": "c244fcb8a3396f94976a56379cce144c4451c3d4",
      "tree": "aaed722b2b2631f1a4d56e567a4eb3eec444487e",
      "parents": [
        "926078539346f5d3cc864c9ba25993e8c6437c07"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Mar 29 14:34:03 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Mar 29 17:28:32 2016 -0700"
      },
      "message": "Delete lies from x86_64 setjmp implementation.\n\nPreviously, the implementation of setjmp on x86_64 claimed that\nsigprocmask would write to two longs\u0027 worth of bytes.\n\nBug: http://b/27856501\nChange-Id: I9f32b40ac773a0cd91a976aace5bfba6e67fb0f8\n"
    },
    {
      "commit": "926078539346f5d3cc864c9ba25993e8c6437c07",
      "tree": "a9735588f49ceeeedb794e18098f466510a63cf6",
      "parents": [
        "19f5f6fcb7f0edc41b2889649620f287458466f0"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Mar 29 14:03:09 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Mar 29 17:28:32 2016 -0700"
      },
      "message": "Add a checksum to jmp_buf on x86.\n\nBug: http://b/27856501\nBug: http://b/27417786\nChange-Id: Id5a0a81fc38e311bff678cbc7dc2219bc0074503\n"
    },
    {
      "commit": "c03e8ceec233494ae1248247c5a1f4a374e70ae5",
      "tree": "f164338d16c405ec5132006f4b6b4f9c55b63396",
      "parents": [
        "8ac6611e7fc8df8ea90f22cc21398ab64f4da16c",
        "78f5eb0498e0bae7f64f749b252aee7e56621b34"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 29 23:44:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 29 23:44:59 2016 +0000"
      },
      "message": "Merge \"Fix test getauxval.arm_has_AT_HWCAP2.\""
    },
    {
      "commit": "8ac6611e7fc8df8ea90f22cc21398ab64f4da16c",
      "tree": "cf1cff4850e94cc577d367338b3eef05bd6616fa",
      "parents": [
        "19f5f6fcb7f0edc41b2889649620f287458466f0",
        "23aae1ce3040229d315ae0ba0b9cac6f5230270b"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Mar 29 23:36:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 29 23:36:41 2016 +0000"
      },
      "message": "Merge \"Update Android.bp with getdomainname\""
    },
    {
      "commit": "78f5eb0498e0bae7f64f749b252aee7e56621b34",
      "tree": "44cf0e5a2e7b49d6d6b8aad09d12ce2739a0c045",
      "parents": [
        "19f5f6fcb7f0edc41b2889649620f287458466f0"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 29 15:41:49 2016 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 29 15:41:49 2016 -0700"
      },
      "message": "Fix test getauxval.arm_has_AT_HWCAP2.\n\nBug: 27874785\nChange-Id: Ibb39087c5353a0cca7783d39498b370e478fe91c\n"
    },
    {
      "commit": "23aae1ce3040229d315ae0ba0b9cac6f5230270b",
      "tree": "cf1cff4850e94cc577d367338b3eef05bd6616fa",
      "parents": [
        "19f5f6fcb7f0edc41b2889649620f287458466f0"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Mar 29 15:21:38 2016 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Mar 29 15:21:38 2016 -0700"
      },
      "message": "Update Android.bp with getdomainname\n\nChange-Id: I32383162acd16430089708fdce8927be43d1bc5a\n"
    },
    {
      "commit": "19f5f6fcb7f0edc41b2889649620f287458466f0",
      "tree": "1fdfc6fb15827e64228d9a8ee7e83c4c7b1e927d",
      "parents": [
        "33a66222fa61e3eac5d9e76d550d104551042233",
        "d88e1f350111b3dfd71c6492321f0503cb5540db"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 28 22:32:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 28 22:32:31 2016 +0000"
      },
      "message": "Merge \"linker: hide the pointer to soinfo\""
    },
    {
      "commit": "d88e1f350111b3dfd71c6492321f0503cb5540db",
      "tree": "5055b3696a4222c5d91df0c35154a60918933df2",
      "parents": [
        "7c59c70200a86387d3c97e9d7f34e2b8dbed88b3"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Mar 24 15:30:30 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 28 13:15:40 2016 -0700"
      },
      "message": "linker: hide the pointer to soinfo\n\nHandle no longer is a pointer to soinfo of\na corresponding library. This is done to\nprevent access to linker internal fields.\n\nBug: http://b/25593965\nChange-Id: I62bff0d0e5b2dc842e6bf0babb30fcc4c000be24\n"
    },
    {
      "commit": "33a66222fa61e3eac5d9e76d550d104551042233",
      "tree": "1d779508c8a209527a5ce25089019ba3e6cf8cda",
      "parents": [
        "8a8e0cf549249fd4040fbfa7f5e4f488db7ac8ad",
        "900a4dc5a8fcabcc85eb17a0d1ee2295cae7b180"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 28 19:33:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 28 19:33:48 2016 +0000"
      },
      "message": "Merge \"Don\u0027t bother insisting on AT_HWCAP2 for 32-bit devices.\""
    },
    {
      "commit": "8a8e0cf549249fd4040fbfa7f5e4f488db7ac8ad",
      "tree": "12ac9dd1a1c64741d649aaa0ce21a7c929cbb147",
      "parents": [
        "7c59c70200a86387d3c97e9d7f34e2b8dbed88b3",
        "d15dfb2ff5835a04c66d328f27939fc4e0362c0f"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Mon Mar 28 19:19:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 28 19:19:15 2016 +0000"
      },
      "message": "Merge \"clock_nanosleep: add CLOCK_THREAD_CPUTIME_ID special case\""
    },
    {
      "commit": "900a4dc5a8fcabcc85eb17a0d1ee2295cae7b180",
      "tree": "4882e4587ca3d37a65a5028dfe0e9d86f6bf3edd",
      "parents": [
        "2846ae70fb967269e8fcd2d854d04c9aeb5d01d3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 28 11:53:12 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 28 11:53:12 2016 -0700"
      },
      "message": "Don\u0027t bother insisting on AT_HWCAP2 for 32-bit devices.\n\nBug: http://b/27874785\nChange-Id: I9dcf345ae1221f665f267cba3ed9279435671b75\n"
    },
    {
      "commit": "d15dfb2ff5835a04c66d328f27939fc4e0362c0f",
      "tree": "12ac9dd1a1c64741d649aaa0ce21a7c929cbb147",
      "parents": [
        "7c59c70200a86387d3c97e9d7f34e2b8dbed88b3"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Sat Mar 26 11:37:55 2016 -0700"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Mon Mar 28 10:29:16 2016 -0700"
      },
      "message": "clock_nanosleep: add CLOCK_THREAD_CPUTIME_ID special case\n\nPOSIX makes \"the CPU-time clock of the calling thread\" (i.e.,\nCLOCK_THREAD_CPUTIME_ID) a special case which returns EINVAL instead of\nENOTSUP.\n\nHowever, the clock_nanosleep syscall treats this clock just like any\nother, and returns -EOPNOTSUPP to indicate an unimplemented nanosleep\nhandler.  So we need to handle this ourselves in userspace.\n\nThis change fixes the LTP clock_nanosleep01 testcase.\n\nChange-Id: If3bed940d276834bcd114d8c17f96197e9384711\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "3299590dfe582c212c2928b7b57427db57859d46",
      "tree": "cd9e5167dff64d7b2691891e07259e954c7c0592",
      "parents": [
        "7c59c70200a86387d3c97e9d7f34e2b8dbed88b3"
      ],
      "author": {
        "name": "Predrag Blagojevic",
        "email": "predrag.blagojevic@imgtec.com",
        "time": "Wed Mar 16 15:49:12 2016 +0100"
      },
      "committer": {
        "name": "Nikola Veljkovic",
        "email": "Nikola.Veljkovic@imgtec.com",
        "time": "Mon Mar 28 14:54:49 2016 +0000"
      },
      "message": "Add a checksum to jmp_buf on mips and mips64.\n\nMake it easier to diagnose applications mucking with the contents of\njmp_buf by checksumming its contents.\n\nBug: http://b/27417786\nChange-Id: I473bc2871dece23a9b9d02481945246160d671c6\n"
    },
    {
      "commit": "7c59c70200a86387d3c97e9d7f34e2b8dbed88b3",
      "tree": "4511d68a15393b800d1d2095341fc9e8500fccd8",
      "parents": [
        "d132099e0597276dea1faa30d674256309c99736",
        "dbf2e192818891919767c184bcf8c515676705a7"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Mar 28 00:27:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 28 00:27:05 2016 +0000"
      },
      "message": "Merge \"fixup x86 setdomainname.S\""
    },
    {
      "commit": "dbf2e192818891919767c184bcf8c515676705a7",
      "tree": "4511d68a15393b800d1d2095341fc9e8500fccd8",
      "parents": [
        "d132099e0597276dea1faa30d674256309c99736"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Mar 27 14:52:58 2016 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Mar 27 14:52:58 2016 -0700"
      },
      "message": "fixup x86 setdomainname.S\n\nBoth be910529322b461148debefd50b9e0d67ae84f8e and\ne2faf07d659b1c824002e50b9cdfa9caae62a31b were submitted about\ntwo days ago. The former changed how the syscalls stubs were\ngenerated, but the latter was submitted using the old stub\nformat.\n\nUse the new stub format for setdomainname.S\n\nChange-Id: I578acd7053f57a275f6831dd2404ef04826c578e\n"
    },
    {
      "commit": "d132099e0597276dea1faa30d674256309c99736",
      "tree": "f82b8feb200ed52bac2ea64d1411169c3c190a72",
      "parents": [
        "d81143df7196509596ede621d635f90421ad152b",
        "3679ade5333bf0727c374431cd4e4fa81ca241af"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Mar 25 22:43:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 25 22:43:01 2016 +0000"
      },
      "message": "Merge \"Add hasmntopt(3)\""
    },
    {
      "commit": "d81143df7196509596ede621d635f90421ad152b",
      "tree": "0e16bb9ea59f262fa880289e8d65bda600809017",
      "parents": [
        "76640d5555a7c79d8025f5f0934afbf9f539e6a7",
        "be910529322b461148debefd50b9e0d67ae84f8e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 25 22:20:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 25 22:20:42 2016 +0000"
      },
      "message": "Merge \"libc: implement kernel vdso syscalls for i386\""
    },
    {
      "commit": "76640d5555a7c79d8025f5f0934afbf9f539e6a7",
      "tree": "87c33dd4be618f2f58aadebd2e8561718c82a926",
      "parents": [
        "2846ae70fb967269e8fcd2d854d04c9aeb5d01d3",
        "e2faf07d659b1c824002e50b9cdfa9caae62a31b"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Mar 25 22:02:06 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 25 22:02:07 2016 +0000"
      },
      "message": "Merge \"Add {get,set}domainname(2)\""
    },
    {
      "commit": "3679ade5333bf0727c374431cd4e4fa81ca241af",
      "tree": "ba9477163e0218483eefbd935a2bc68eac25d908",
      "parents": [
        "e2faf07d659b1c824002e50b9cdfa9caae62a31b"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Mar 04 10:07:35 2016 -0800"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Mar 25 14:16:58 2016 -0700"
      },
      "message": "Add hasmntopt(3)\n\nbionic has the Linux-specific mntent.h but is missing hasmntopt().\n\nChange-Id: I0ab7b83626c969704add4e64b37a6fc715d4a723\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "e2faf07d659b1c824002e50b9cdfa9caae62a31b",
      "tree": "72752c132d778ad698ef51cf7fca23224fcd6361",
      "parents": [
        "e725dc164015d873b64639f0fee9ba5c30175f4c"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Mar 03 08:37:53 2016 -0800"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Mar 25 14:16:58 2016 -0700"
      },
      "message": "Add {get,set}domainname(2)\n\n{get,set}domainname aren\u0027t in POSIX but are widely-implemented\nextensions.\n\nThe Linux kernel provides a setdomainname syscall but not a symmetric\ngetdomainname syscall, since it expects userspace to get the domain name\nfrom uname(2).\n\nChange-Id: I96726c242f4bb646c130b361688328b0b97269a0\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "be910529322b461148debefd50b9e0d67ae84f8e",
      "tree": "67d5538b8f6af5fbc2ce29f1a18886321e6fe4a1",
      "parents": [
        "2846ae70fb967269e8fcd2d854d04c9aeb5d01d3"
      ],
      "author": {
        "name": "Mingwei Shi",
        "email": "mingwei.shi@intel.com",
        "time": "Thu Nov 12 07:02:14 2015 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 25 14:10:05 2016 -0700"
      },
      "message": "libc: implement kernel vdso syscalls for i386\n\nThis patch uses __kernel_vsyscall instead of \"int 0x80\"\nas the syscall entry point. AT_SYSINFO points to\nan adapter to mask the arch specific difference and gives a\nperformance boost on i386 architecture.\n\nChange-ID: Ib340c604d02c6c25714a95793737e3cfdc3fc5d7\nSigned-off-by: Mingwei Shi \u003cmingwei.shi@intel.com\u003e\n"
    },
    {
      "commit": "2846ae70fb967269e8fcd2d854d04c9aeb5d01d3",
      "tree": "e80ca8ef8528f72c74c6d9df87154ee2ac613d48",
      "parents": [
        "61cb584f9fdcbe96c6130ee5dc402fce296bc635",
        "a03c62b469d04c4b38aaa4a02f6ec23254b0feeb"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Mar 25 19:35:01 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 25 19:35:01 2016 +0000"
      },
      "message": "Merge \"epoll_create: reject size \u003c\u003d 0\""
    },
    {
      "commit": "61cb584f9fdcbe96c6130ee5dc402fce296bc635",
      "tree": "3af97c7fbed890b193a79c41516ddd137352223d",
      "parents": [
        "ef276377933e5e406f5e34dd8f45af1c98f89706",
        "fb23fa30465e14b5dbf0e9de2a34c1cbe113e971"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Mar 25 19:34:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 25 19:34:44 2016 +0000"
      },
      "message": "Merge \"clone: check for NULL child stack\""
    },
    {
      "commit": "ef276377933e5e406f5e34dd8f45af1c98f89706",
      "tree": "0a0a6910f0923171bafc7a1f387659d1805bb2e7",
      "parents": [
        "fc501cc54622939cc51499b9af57539f48cbba1a",
        "204990cc83769396f78d6119e142b5344f4ea68f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 25 18:02:42 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 25 18:02:42 2016 +0000"
      },
      "message": "Merge \"Fix x86 __memset_chk.\""
    },
    {
      "commit": "fc501cc54622939cc51499b9af57539f48cbba1a",
      "tree": "3aed536de33c2cf5c2f2cba78ef10e2df735b8b5",
      "parents": [
        "e725dc164015d873b64639f0fee9ba5c30175f4c",
        "d4c91124906b6d73a2be336bbd305cd2678e04b2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 25 17:31:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 25 17:31:54 2016 +0000"
      },
      "message": "Merge \"Fix the AT_HWCAP2 test.\""
    },
    {
      "commit": "d4c91124906b6d73a2be336bbd305cd2678e04b2",
      "tree": "3aed536de33c2cf5c2f2cba78ef10e2df735b8b5",
      "parents": [
        "e725dc164015d873b64639f0fee9ba5c30175f4c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 25 08:29:05 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 25 08:29:05 2016 -0700"
      },
      "message": "Fix the AT_HWCAP2 test.\n\n\"I have none of these capabilities\" is a legitimate response, and\ndistinct from \"I don\u0027t know what my capabilities are\". It\u0027s the latter\nI meant to test for.\n\nBug: http://b/27810985\nChange-Id: Id165423e62390051cbf23fdda54f28d94566cbe7\n"
    },
    {
      "commit": "204990cc83769396f78d6119e142b5344f4ea68f",
      "tree": "c726dbe32b9f98c57c14ed3e48e23f926886e245",
      "parents": [
        "e725dc164015d873b64639f0fee9ba5c30175f4c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 24 22:34:47 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 24 22:34:47 2016 -0700"
      },
      "message": "Fix x86 __memset_chk.\n\nThe stack offsets assumed we\u0027d pushed %ebx. Unlike x86-64 we can\u0027t fall\nthrough, but we can avoid repeating work we\u0027ve already done.\n\nChange-Id: I7e5f9be50983ed6178dd0c0534042da7ea30ad0c\n"
    },
    {
      "commit": "a03c62b469d04c4b38aaa4a02f6ec23254b0feeb",
      "tree": "c1cf4ee3d7436a9cf2917cc49609aa9491529ffd",
      "parents": [
        "fb23fa30465e14b5dbf0e9de2a34c1cbe113e971"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Mar 24 13:41:17 2016 -0700"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Mar 24 16:37:20 2016 -0700"
      },
      "message": "epoll_create: reject size \u003c\u003d 0\n\nEven though the size parameter to epoll_create(2) is (otherwise) unused,\npassing in size \u003c\u003d 0 is explicitly documented as an error.\n\nThis change fixes the LTP epoll01 testcase.\n\nChange-Id: I044a38be823c2fa956b57e77cc66571dfae8a4bb\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "fb23fa30465e14b5dbf0e9de2a34c1cbe113e971",
      "tree": "9b0d9883c85ff042a3a685a20f217debcfeaf089",
      "parents": [
        "e725dc164015d873b64639f0fee9ba5c30175f4c"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Wed Mar 23 17:15:02 2016 -0700"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Mar 24 16:37:20 2016 -0700"
      },
      "message": "clone: check for NULL child stack\n\nThe clone syscall accepts NULL child stacks, interpreting this to mean\nthe child gets a copy of the parent\u0027s stack with copy-on-write\nsemantics.  However clone(2) is explicitly documented to treat this an\nan error.\n\n\"Fortunately\" every architecture\u0027s __bionic_clone implementation pushes\nsomething onto the child stack before making the clone syscall.  So we\nknow fixing this won\u0027t break legacy apps, because any app that tried\nusing a NULL child stack would have died with SIGSEGV.\n\nThis change fixes the LTP clone04 testcase.\n\nChange-Id: I663b34f34bc8dad2aa405c46e4eed4418cccca0d\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "e725dc164015d873b64639f0fee9ba5c30175f4c",
      "tree": "4dae830d5cdbb3176c8820c3cd0fa22634d39b03",
      "parents": [
        "63322aa555d06bc961bfe419ba69471cdab2927b",
        "cc78b252d113229f44550b1158f0fc67439d0184"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 24 03:28:30 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 24 03:28:30 2016 +0000"
      },
      "message": "Merge \"Remove the __USE_GNU guard from pthread_setname_np again.\""
    },
    {
      "commit": "cc78b252d113229f44550b1158f0fc67439d0184",
      "tree": "4dae830d5cdbb3176c8820c3cd0fa22634d39b03",
      "parents": [
        "63322aa555d06bc961bfe419ba69471cdab2927b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 23 20:26:35 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 23 20:26:35 2016 -0700"
      },
      "message": "Remove the __USE_GNU guard from pthread_setname_np again.\n\nCaused build breakage, but not spotted by TreeHugger:\n\n  external/libnfc-nxp/Linux_x86/phDal4Nfc.c:737:5: error: implicit declaration of function \u0027pthread_setname_np\u0027 is invalid in C99 [-Werror,-Wimplicit-function-declaration]\n    pthread_setname_np(pthread_self(), \"reader\");\n    ^\n\nNice file name.\n\nChange-Id: I102e55718babf4e4f2f2c64066c6a83ed3ac86d3\n"
    },
    {
      "commit": "63322aa555d06bc961bfe419ba69471cdab2927b",
      "tree": "5d508f18515b4745ddf3854bb71fdc0926280182",
      "parents": [
        "3c410c855c902f3fe99b4bf24ea8af1b289f120f",
        "725b2a96a70c6570a1fb84562fe46348414752cd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 24 02:47:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 24 02:47:10 2016 +0000"
      },
      "message": "Merge \"Add pthread_getname_np.\""
    },
    {
      "commit": "725b2a96a70c6570a1fb84562fe46348414752cd",
      "tree": "c6e4772eff6ea9ebb881ca579f14e6c4f87fc05d",
      "parents": [
        "68a2f12304e960f2045f3819c48311e7bf4d3126"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 23 11:20:47 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 23 17:40:25 2016 -0700"
      },
      "message": "Add pthread_getname_np.\n\nAlso guard both these GNU extensions with _GNU_SOURCE.\n\nAlso improve the tests to test each case on both the current thread and\nanother thread, since the code paths are totally different.\n\nBug: http://b/27810459\nChange-Id: I72b05bca5c5b6ca8ba4585b8edfb716a1c252f92\n"
    },
    {
      "commit": "3c410c855c902f3fe99b4bf24ea8af1b289f120f",
      "tree": "1adc8dd6b755bef3c176be7b26e0de30647d79a3",
      "parents": [
        "506456c5d1ba281cb01c224679fc86d7a4c99ade",
        "e5c872ffb73ba798a3e2e2a95c1e2caba8c53284"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Mar 24 00:32:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 24 00:32:35 2016 +0000"
      },
      "message": "Merge \"genversion-scripts: fix script name in autogenerated comment\""
    },
    {
      "commit": "e5c872ffb73ba798a3e2e2a95c1e2caba8c53284",
      "tree": "1adc8dd6b755bef3c176be7b26e0de30647d79a3",
      "parents": [
        "506456c5d1ba281cb01c224679fc86d7a4c99ade"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Mar 03 13:10:23 2016 -0800"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Wed Mar 23 16:25:42 2016 -0700"
      },
      "message": "genversion-scripts: fix script name in autogenerated comment\n\nChange-Id: I2a304818cfc54d08a08d2e621e4cf74e7ce465dd\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "506456c5d1ba281cb01c224679fc86d7a4c99ade",
      "tree": "734822ad30c69306319b200c5f621a424d96fbdc",
      "parents": [
        "68a2f12304e960f2045f3819c48311e7bf4d3126",
        "7de1ff2ad63aedda5096d5ee64203703dbdecf17"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 23 18:22:16 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 23 18:22:17 2016 +0000"
      },
      "message": "Merge \"Move relocation_packer off libnativehelper.\""
    },
    {
      "commit": "7de1ff2ad63aedda5096d5ee64203703dbdecf17",
      "tree": "734822ad30c69306319b200c5f621a424d96fbdc",
      "parents": [
        "68a2f12304e960f2045f3819c48311e7bf4d3126"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 22 20:27:39 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 22 20:27:39 2016 -0700"
      },
      "message": "Move relocation_packer off libnativehelper.\n\nAlso remove other bits of makefile cruft.\n\nChange-Id: I8b69822200959368003a8af9d1595bea9182d6d8\n"
    },
    {
      "commit": "68a2f12304e960f2045f3819c48311e7bf4d3126",
      "tree": "c9a2a807a327e1753aca60fff9409dac821733fd",
      "parents": [
        "6d1665c207666112fd712097e389e9a323aafd96",
        "81d2797e33d6f95c0b79e20ae8a04f2a4f3841cc"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 23 02:32:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 23 02:32:41 2016 +0000"
      },
      "message": "Merge \"Fix pthread.pthread_barrier_smoke test.\""
    },
    {
      "commit": "6d1665c207666112fd712097e389e9a323aafd96",
      "tree": "c19eb6837ed584d36e63a9cf10cb15d44280c362",
      "parents": [
        "6212e5dfada2ce1cd8b4915389452cba09e75b69",
        "722072d65abb1b9fa709f5c7ae8afd98ef5ab7af"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 23 02:32:30 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 23 02:32:30 2016 +0000"
      },
      "message": "Merge \"CloseArchive() to free memory when OpenArchive fails.\""
    },
    {
      "commit": "722072d65abb1b9fa709f5c7ae8afd98ef5ab7af",
      "tree": "c19eb6837ed584d36e63a9cf10cb15d44280c362",
      "parents": [
        "6212e5dfada2ce1cd8b4915389452cba09e75b69"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Mar 21 17:10:12 2016 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 22 16:43:24 2016 -0700"
      },
      "message": "CloseArchive() to free memory when OpenArchive fails.\n\nBug: 26962895\nChange-Id: I42418eee320ddae857b42572690316c53f638e85\n"
    },
    {
      "commit": "81d2797e33d6f95c0b79e20ae8a04f2a4f3841cc",
      "tree": "4d38bcb18b0c67079d9c4dc84cae100def3b923e",
      "parents": [
        "6212e5dfada2ce1cd8b4915389452cba09e75b69"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 22 13:45:55 2016 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 22 13:45:55 2016 -0700"
      },
      "message": "Fix pthread.pthread_barrier_smoke test.\n\npthread_barrier_smoke test uses WaitUntilThreadSleep() to wait until\nBarrierTestHelper threads sleep in pthread_barrier_wait(). But this\nis flaky as there a two futex_wait places in pthread_barrier_wait.\nThis patch modifies this test to avoid using WaitUntilThreadSleep().\n\nBug: 27780937\nChange-Id: I4c36b82cce9345d5088f8854b289dc5bf7a08e8c\n"
    }
  ],
  "next": "6212e5dfada2ce1cd8b4915389452cba09e75b69"
}
