)]}'
{
  "log": [
    {
      "commit": "2c678e6644a0ac7bfdfb8f199ac2cd0d4ea1153f",
      "tree": "65f48180347c969cf7b95eb73958656142bde268",
      "parents": [
        "5890ec3e229cbe115308e103111fec471f2319b7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Feb 18 17:37:52 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Feb 18 17:37:52 2015 -0800"
      },
      "message": "Parameterize use of clang in libc_ndk.\n\nWe still have issues with clang coverage in static libraries, so we\nneed to make sure we follow suit with the rest of libc for now.\n\nBug: 17574078\nChange-Id: I2ab58a84b1caa0d8d08415d240c35adec5b1e150\n"
    },
    {
      "commit": "5890ec3e229cbe115308e103111fec471f2319b7",
      "tree": "5e86f2e854024b8fcd0496119fb0caf4b0df7f81",
      "parents": [
        "21ba1d4ce43b1619e0d0a8248f6249810cabe374",
        "a6395e1fd0ccc818ed6424797690b12f8b690755"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Feb 18 01:05:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 18 01:05:48 2015 +0000"
      },
      "message": "Merge \"Update NDK compatlib for 4.1.2.\""
    },
    {
      "commit": "21ba1d4ce43b1619e0d0a8248f6249810cabe374",
      "tree": "ff71dda7ec4193daf9055a5c7ce75c4c54d1747e",
      "parents": [
        "0e61c2c0ea201e157d0d3d3c04564588bcfb7c66",
        "9a9ea3a28099602fe22e36638a44fa36df80fe8e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Feb 18 01:05:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 18 01:05:44 2015 +0000"
      },
      "message": "Merge \"Update the NDK compatlib for 4.4.4 and ToT.\""
    },
    {
      "commit": "a6395e1fd0ccc818ed6424797690b12f8b690755",
      "tree": "5e86f2e854024b8fcd0496119fb0caf4b0df7f81",
      "parents": [
        "9a9ea3a28099602fe22e36638a44fa36df80fe8e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Feb 12 16:35:09 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 17 17:02:42 2015 -0800"
      },
      "message": "Update NDK compatlib for 4.1.2.\n\nThe replacement new failures present in newer versions are present\nhere as well, with the following new issues:\n\nXPASS std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp\n\nThis is from the -NaN formatting fix in bionic. We previously had this\nwrong, and the upstream test is also wrong. There\u0027s currently an XFAIL\nfor Android in this test because I haven\u0027t fixed the upstream test\nyet. After that is done, I\u0027ll need to teach the test runner how to\nXFAIL older Android versions...\n\nFAIL std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp\n    dtor.pass.cpp:39: int main(): assertion \"globalMemCounter.checkDeleteArrayCalledEq(1)\" failed\n\nHaven\u0027t investigated this one yet. http://b/19412688\n\nNote that this also needs the libgcc link ordering to be fixed in the\nbuild system, as we\u0027ll otherwise depend on libgcc symbols from libc\nthat may or may not have been there.\n\nThe build fix can\u0027t be submitted because the proper link order causes\nthe libgcc unwinder to be used instead of the EHABI one:\nhttp://b/18471342\n\nBug: 18471532\nChange-Id: Icf560485a9b8f5ebbe01e4458703e62ec94df5e1\n"
    },
    {
      "commit": "9a9ea3a28099602fe22e36638a44fa36df80fe8e",
      "tree": "ff71dda7ec4193daf9055a5c7ce75c4c54d1747e",
      "parents": [
        "54b61b7ca7d7c9c7474e2beb35d20a9ab635529f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Feb 09 17:45:22 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 17 17:02:34 2015 -0800"
      },
      "message": "Update the NDK compatlib for 4.4.4 and ToT.\n\nNow passes all libc++ tests for these targets, with the exception of\nthe usual failing replacement new tests since libc uses new/delete for\nthings. I don\u0027t know if we can ever really fix these.\n\nBug: 18471532\nChange-Id: Ibc0a15f26b0e4613249b5e15ecf3cf80e523467c\n"
    },
    {
      "commit": "0e61c2c0ea201e157d0d3d3c04564588bcfb7c66",
      "tree": "ea6359d64b68187a34a9fd3a3f6b8544056a4770",
      "parents": [
        "b5c23796872dee26d7fa88f0a41801dcc6090d99",
        "784de4e50a1161d78757402c149d85368bd49c29"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 17 23:56:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 17 23:56:29 2015 +0000"
      },
      "message": "Merge \"Revert \"Move use of __warnattr to __deprecated.\"\""
    },
    {
      "commit": "784de4e50a1161d78757402c149d85368bd49c29",
      "tree": "b845b7e6adc69d65e8b96e31fd25c1cf98d56493",
      "parents": [
        "4645c4f62df49d1ece5aabb7c9fa44ca34d30272"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 17 23:54:40 2015 +0000"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 17 23:54:40 2015 +0000"
      },
      "message": "Revert \"Move use of __warnattr to __deprecated.\"\n\nThis reverts commit 4645c4f62df49d1ece5aabb7c9fa44ca34d30272.\n\nChange-Id: I6c1062d54a4e2c4f41ce7a403e4e7840e6339146\n"
    },
    {
      "commit": "b5c23796872dee26d7fa88f0a41801dcc6090d99",
      "tree": "3158b6d4d1a41e43170653860a0e44d54f979442",
      "parents": [
        "54b61b7ca7d7c9c7474e2beb35d20a9ab635529f",
        "4645c4f62df49d1ece5aabb7c9fa44ca34d30272"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 17 23:10:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 17 23:10:31 2015 +0000"
      },
      "message": "Merge \"Move use of __warnattr to __deprecated.\""
    },
    {
      "commit": "4645c4f62df49d1ece5aabb7c9fa44ca34d30272",
      "tree": "49f40a240870fdbd7f481215b82217c95a5b9536",
      "parents": [
        "fb48c68221afb1f9e7c63a15a20cca0857d1b9f9"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 17 12:39:39 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 17 14:14:45 2015 -0800"
      },
      "message": "Move use of __warnattr to __deprecated.\n\nclang don\u0027t support warning attribute. Replacing warning attriubte with\ndeprecated attribute can achieve the same behavior whether compiled by\ngcc or clang.\n\nBug: 19340053\nChange-Id: I064432b81cf55212458edbc749eb72dc15a810fb\n"
    },
    {
      "commit": "54b61b7ca7d7c9c7474e2beb35d20a9ab635529f",
      "tree": "ea6359d64b68187a34a9fd3a3f6b8544056a4770",
      "parents": [
        "89dad68efb07ef0868c2ac35737a4b2c83aea326",
        "56b2b2916b72eb21352c7aed529e0deeb5582072"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Feb 17 21:41:41 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 17 21:41:41 2015 +0000"
      },
      "message": "Merge \"Accuracy tests for libm\""
    },
    {
      "commit": "89dad68efb07ef0868c2ac35737a4b2c83aea326",
      "tree": "bc62f4b48733cd0e7f64341255a5422125c7c5e1",
      "parents": [
        "c20851380cf5466a8bc422e7c26d3868a95423a9",
        "62533de98e6dded91aba701d8b6339e77fbc8121"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 17 21:29:21 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 17 21:29:27 2015 +0000"
      },
      "message": "Merge \"Change getgrent error declaration message to proper style.\""
    },
    {
      "commit": "c20851380cf5466a8bc422e7c26d3868a95423a9",
      "tree": "066ba2b362e6289e3b5d7bb8ca912a58ab9c5be7",
      "parents": [
        "fb48c68221afb1f9e7c63a15a20cca0857d1b9f9",
        "be6a44566a7085470b96bc41d371e37b5b12ff87"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 17 21:20:39 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 17 21:20:39 2015 +0000"
      },
      "message": "Merge \"Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX.\""
    },
    {
      "commit": "62533de98e6dded91aba701d8b6339e77fbc8121",
      "tree": "a4598661889aba4fb984d6aa5630677d1e5e41e8",
      "parents": [
        "fb48c68221afb1f9e7c63a15a20cca0857d1b9f9"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 17 11:33:42 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 17 11:33:42 2015 -0800"
      },
      "message": "Change getgrent error declaration message to proper style.\n\nBug: 19340053\nChange-Id: I9c47a2016f356d171a5f2082acb8391d81e019b2\n"
    },
    {
      "commit": "be6a44566a7085470b96bc41d371e37b5b12ff87",
      "tree": "066ba2b362e6289e3b5d7bb8ca912a58ab9c5be7",
      "parents": [
        "fb48c68221afb1f9e7c63a15a20cca0857d1b9f9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 17 09:55:58 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 17 09:55:58 2015 -0800"
      },
      "message": "Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX.\n\nChange-Id: I656f613166bd604f35b31e5ec042a5230c6b82b8\n"
    },
    {
      "commit": "fb48c68221afb1f9e7c63a15a20cca0857d1b9f9",
      "tree": "b845b7e6adc69d65e8b96e31fd25c1cf98d56493",
      "parents": [
        "40d06b25ac86260e9c1701540420c9634bab8bad",
        "41ef902379ba24bd8a3ca6d7733b8376efb55ebd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 17 17:54:39 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 17 17:54:40 2015 +0000"
      },
      "message": "Merge \"Fix memchr overflow.\""
    },
    {
      "commit": "40d06b25ac86260e9c1701540420c9634bab8bad",
      "tree": "44aea2c92120e8f22ef528d6eeb60d6a2c0a9a80",
      "parents": [
        "dd5c92d4b0cb6c43002112ab50c1df73d06ab2aa",
        "92b9c6ff3ea5bdadf33feb05e06703fa35f34497"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 17 17:09:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 17 17:09:35 2015 +0000"
      },
      "message": "Merge \"POSIX says flock is in \u003csys/file.h\u003e, not \u003cunistd.h\u003e.\""
    },
    {
      "commit": "92b9c6ff3ea5bdadf33feb05e06703fa35f34497",
      "tree": "44aea2c92120e8f22ef528d6eeb60d6a2c0a9a80",
      "parents": [
        "dd5c92d4b0cb6c43002112ab50c1df73d06ab2aa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 16 12:19:46 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 17 09:08:24 2015 -0800"
      },
      "message": "POSIX says flock is in \u003csys/file.h\u003e, not \u003cunistd.h\u003e.\n\nBug: 19392265\nChange-Id: I14d0b56883f0354e13db04a1d140b8f60dae08d7\n"
    },
    {
      "commit": "dd5c92d4b0cb6c43002112ab50c1df73d06ab2aa",
      "tree": "14e658d45b2e519c75c66a9c4823689a5f0e7430",
      "parents": [
        "4181cc691e36546c556274d46d389d7e0cb9cfab",
        "e1f9ddaf0d314186da8b2a86e5a438f6ff204030"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Feb 15 00:18:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Feb 15 00:18:23 2015 +0000"
      },
      "message": "Merge \"Regression test for NDK bug 80199.\""
    },
    {
      "commit": "e1f9ddaf0d314186da8b2a86e5a438f6ff204030",
      "tree": "14e658d45b2e519c75c66a9c4823689a5f0e7430",
      "parents": [
        "4181cc691e36546c556274d46d389d7e0cb9cfab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Feb 14 14:11:50 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Feb 14 14:11:50 2015 -0800"
      },
      "message": "Regression test for NDK bug 80199.\n\nBionic never had this bug, but since the proposed fix is to remove the NDK\u0027s\nbroken code, we should add a regression test here.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d80199\nChange-Id: I4de21b5da9913cef990bc4d05a7e27562a71a02b\n"
    },
    {
      "commit": "41ef902379ba24bd8a3ca6d7733b8376efb55ebd",
      "tree": "855ac7e3fa276bfb55594e4efb28c7c29cf28f3f",
      "parents": [
        "f9fb52ab309c97d5b2ef4f8e1daff3eed4cf4024"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Feb 14 13:21:22 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Feb 14 13:21:22 2015 -0800"
      },
      "message": "Fix memchr overflow.\n\nThe overflow\u0027s actually in the generic C implementation of memchr.\n\nWhile I\u0027m here, let\u0027s switch our generic memrchr to the OpenBSD version too.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d147048\nChange-Id: I296ae06a1ee196d2c77c95a22f11ee4d658962da\n"
    },
    {
      "commit": "4181cc691e36546c556274d46d389d7e0cb9cfab",
      "tree": "d6b4e27def9336d108b2a7f93b97770576912202",
      "parents": [
        "b81a871cbb2d99168bdb8380b6142139135f418f",
        "c9d09431b982b44ebec5b1ca0913e80f13aba809"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sat Feb 14 02:37:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 14 02:37:19 2015 +0000"
      },
      "message": "Merge \"Declare getgrent/setgrent/endgrent as missing.\""
    },
    {
      "commit": "b81a871cbb2d99168bdb8380b6142139135f418f",
      "tree": "4cc0220ec0ff22f3039a5ee9ef5a2e550a16330f",
      "parents": [
        "150403caa8135bef5d5df37e288276ac4f95a234",
        "c6292ea39cce054175e4f9f797c05aeb8da0ac4b"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Feb 14 00:38:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 14 00:38:04 2015 +0000"
      },
      "message": "Merge changes I88827aa0,Ib0b0987a\n\n* changes:\n  Fix: DT_DEBUG was acting as DT_REL on mips64\n  Add missing SHT_LOOS/SHT_HIOS values\n"
    },
    {
      "commit": "c6292ea39cce054175e4f9f797c05aeb8da0ac4b",
      "tree": "c639d29d529bac1e041a38a993b8da3c503a3a90",
      "parents": [
        "13ed3f0af15ebd5b10aa44f8f51a5bba1b3bd9fc"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Feb 13 16:29:50 2015 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Feb 13 16:34:50 2015 -0800"
      },
      "message": "Fix: DT_DEBUG was acting as DT_REL on mips64\n\nChange-Id: I88827aa07d75d06d606c987e6270fcca3ae6216f\n"
    },
    {
      "commit": "13ed3f0af15ebd5b10aa44f8f51a5bba1b3bd9fc",
      "tree": "a335508504e78d5ac8de7a89468bee8b14f14910",
      "parents": [
        "f9fb52ab309c97d5b2ef4f8e1daff3eed4cf4024"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Feb 13 16:25:43 2015 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Feb 13 16:34:38 2015 -0800"
      },
      "message": "Add missing SHT_LOOS/SHT_HIOS values\n\nChange-Id: Ib0b0987a7e85af7863c6ef894263b5980e32344d\n"
    },
    {
      "commit": "c9d09431b982b44ebec5b1ca0913e80f13aba809",
      "tree": "3551ff1188cc8bdc991be0b91b44dc4341cd463f",
      "parents": [
        "ee17e8800418a74e21dba11658234363cf6f6032"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Feb 13 10:52:35 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Feb 13 10:52:35 2015 -0800"
      },
      "message": "Declare getgrent/setgrent/endgrent as missing.\n\nBug: 19340053\nChange-Id: I42bfeda95e6f262e2e74ab47336ea346c2de7e4a\n"
    },
    {
      "commit": "150403caa8135bef5d5df37e288276ac4f95a234",
      "tree": "27aeb6b9af0e2cee7200e1683a9650f013b49396",
      "parents": [
        "f9fb52ab309c97d5b2ef4f8e1daff3eed4cf4024",
        "e09ab2cc2ff41ce7519c143d448371ddd62afc59"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 13 18:38:02 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 13 18:38:03 2015 +0000"
      },
      "message": "Merge \"Make .note.android.ident section type SH_NOTE\""
    },
    {
      "commit": "56b2b2916b72eb21352c7aed529e0deeb5582072",
      "tree": "1299d64a93aec1d48f3abe304a8db75668a9dad1",
      "parents": [
        "f9fb52ab309c97d5b2ef4f8e1daff3eed4cf4024"
      ],
      "author": {
        "name": "Jingwei Zhang",
        "email": "jingwei.zhang@intel.com",
        "time": "Tue Sep 02 21:39:14 2014 +0800"
      },
      "committer": {
        "name": "Mingwei Shi",
        "email": "mingwei.shi@intel.com",
        "time": "Sat Feb 14 00:56:46 2015 +0800"
      },
      "message": "Accuracy tests for libm\n\nThis patch adds more tests for math functions to address coverage\nissue of math functions discussed in:\nhttps://android-review.googlesource.com/#/c/49653/\nhttps://android-review.googlesource.com/#/c/94780/\n\nThese are data sets used in regression tests for the Intel the math library (libm). They were collected over a long period of testing various libm implementations.\nThe data sets contain function specific data (special and corner cases such as +/-0, maximum/minimum normalized numbers, +/-infinity, QNaN/SNaN, maximum/minimum denormal numbers, arguments that would produce close to overflow/underflow results, known hard-to-round cases, etc), implementation specific data (arguments close to table look-up values for different polynomial approximations, worst cases for range reduction algorithms) and other data with interesting bit patterns.\nThe reference values are computed with Maple and were converted into hexadecimal format.\n\nChange-Id: I7177c282937369eae98f25d02134e4fc3beadde8\nSigned-off-by: Jingwei Zhang \u003cjingwei.zhang@intel.com\u003e\nSigned-off-by: Mingwei Shi \u003cmingwei.shi@intel.com\u003e\n"
    },
    {
      "commit": "e09ab2cc2ff41ce7519c143d448371ddd62afc59",
      "tree": "27aeb6b9af0e2cee7200e1683a9650f013b49396",
      "parents": [
        "f9fb52ab309c97d5b2ef4f8e1daff3eed4cf4024"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 12 17:03:22 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 12 21:37:20 2015 -0800"
      },
      "message": "Make .note.android.ident section type SH_NOTE\n\nThe .note.android.ident section is only used by GDB, which doesn\u0027t\ncare what section type the section is, but it would be convenient\nfor readelf -n to be able to find the section too.\n\nThe old way of getting the .note.android.ident section to be of type\nSH_NOTE involved compiling from .c to .s using gcc, running sed to\nchange progbits to note, and then compiling from .s to .o using gcc.\nSince crtbrand.c only contains a section containing data, a\ncrtbrand.S can be checked in that will compile on all platforms,\navoiding the need for sed.\n\nAlso add crtbrand.o to crtbegin_so.o so that libraries also get\nthe note, and to the crt workaround in arm libc.so.\n\nChange-Id: Ica71942a6af4553b56978ceaa288b3f4c15ebfa2\n"
    },
    {
      "commit": "f9fb52ab309c97d5b2ef4f8e1daff3eed4cf4024",
      "tree": "9f6169baeeda517a227f7ff832199d0a3a2c0d41",
      "parents": [
        "362d677924a5f92190884ff225fe64820ad5d997",
        "5d064464f139cc0b5fed57e3c439d441ad946fe9"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Feb 12 20:52:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 12 20:52:57 2015 +0000"
      },
      "message": "Merge \"bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait\""
    },
    {
      "commit": "362d677924a5f92190884ff225fe64820ad5d997",
      "tree": "1f4045f37791b309a2da42336abd02a61153ee91",
      "parents": [
        "0046c39f9ed6d7335f06e4d866df5ae0e7b4d485",
        "24958ae4efd70d5ef36d93d2d2bcca38ad340395"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 12 18:16:47 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 12 18:16:48 2015 +0000"
      },
      "message": "Merge \"Remove no-op sed step when compiling crtbrand.o\""
    },
    {
      "commit": "5d064464f139cc0b5fed57e3c439d441ad946fe9",
      "tree": "829ce81f18288c5ee0c85df128e727073bdbae75",
      "parents": [
        "0046c39f9ed6d7335f06e4d866df5ae0e7b4d485"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Feb 10 08:34:35 2015 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Feb 12 09:43:58 2015 -0800"
      },
      "message": "bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait\n\nThis test reports the overhead of sem_post to sem_wake for a low thread count\nand a high thread count.\n\nChange-Id: Ic30dcc8a78d754979117446bf3a28b7575cabac7\n"
    },
    {
      "commit": "24958ae4efd70d5ef36d93d2d2bcca38ad340395",
      "tree": "1f4045f37791b309a2da42336abd02a61153ee91",
      "parents": [
        "0046c39f9ed6d7335f06e4d866df5ae0e7b4d485"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 11 17:40:45 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 11 17:40:45 2015 -0800"
      },
      "message": "Remove no-op sed step when compiling crtbrand.o\n\ncrtbrand.c was compiled to a .s file, run through a sed script\nto translate a %progbits to %note, and the compiled to .o.\nHowever, when the sed command was copied from the original source\nit was not updated to use the new name of the section (.note.ABI-tag\nto .note.android.ident), so it didn\u0027t modify the file.  Since the\nsection has been generated with type %progbits instead of %note for\ntwo years, just delete the whole sed step.\n\nChange-Id: Id78582e9b43b628afec4eed22a088283132f0742\n"
    },
    {
      "commit": "0046c39f9ed6d7335f06e4d866df5ae0e7b4d485",
      "tree": "5a6649de9beffb59a694cd614b0125fd1b80a5b8",
      "parents": [
        "ddae78fba1ef7291d6a84bce11b0b8fff46f3547",
        "3d535d23121c2656e6c82342fcf215cdc4ca385d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 11 21:07:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 11 21:07:46 2015 +0000"
      },
      "message": "Merge \"[MIPS] Fix Mips64 build of libm\""
    },
    {
      "commit": "3d535d23121c2656e6c82342fcf215cdc4ca385d",
      "tree": "5a6649de9beffb59a694cd614b0125fd1b80a5b8",
      "parents": [
        "ddae78fba1ef7291d6a84bce11b0b8fff46f3547"
      ],
      "author": {
        "name": "Duane Sand",
        "email": "duane.sand@imgtec.com",
        "time": "Wed Feb 11 12:51:42 2015 -0800"
      },
      "committer": {
        "name": "Duane Sand",
        "email": "duane.sand@imgtec.com",
        "time": "Wed Feb 11 12:51:42 2015 -0800"
      },
      "message": "[MIPS] Fix Mips64 build of libm\n\nChange-Id: Ib742b408d4f21d5ec8d455a3fea7c08165c7f321\n"
    },
    {
      "commit": "ddae78fba1ef7291d6a84bce11b0b8fff46f3547",
      "tree": "5090dec3999355a83e0561047cc57a42cce40c57",
      "parents": [
        "ee17e8800418a74e21dba11658234363cf6f6032",
        "7f925097e8a741bb23f91c45ffcbd74688c9e231"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 10 23:34:18 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 10 23:34:19 2015 +0000"
      },
      "message": "Merge \"Fix our ftw tests.\""
    },
    {
      "commit": "7f925097e8a741bb23f91c45ffcbd74688c9e231",
      "tree": "5090dec3999355a83e0561047cc57a42cce40c57",
      "parents": [
        "ee17e8800418a74e21dba11658234363cf6f6032"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 10 14:15:33 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 10 14:15:33 2015 -0800"
      },
      "message": "Fix our ftw tests.\n\nSELinux denies access to some files in /sys, so we can\u0027t just trawl\nthrough that asserting general truths. Instead, create a small known\ntree.\n\nSadly neither ftw nor nftw takes user callback data, otherwise it would\nbe nice to assert that we visit all the expected nodes.\n\nBug: 19252748\nChange-Id: Ib5309c38aaef53e6030281191a265a8d5a619044\n"
    },
    {
      "commit": "ee17e8800418a74e21dba11658234363cf6f6032",
      "tree": "f4840cc90508c3f1b282042124a3884e2bc80430",
      "parents": [
        "a57fd419bc56add6752cd9fa6f53fe2b43dff019",
        "2d8f9b5aea90b57cd01c0a07cfff032092b4672e"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 10 17:51:33 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 10 17:51:33 2015 +0000"
      },
      "message": "Merge \"Define MAXHOSTNAMELEN explicitly in source files.\""
    },
    {
      "commit": "a57fd419bc56add6752cd9fa6f53fe2b43dff019",
      "tree": "1e25a6444beeee8f72e5e6ed3d5bd2866cc7c959",
      "parents": [
        "6d99da0477f8589df01307067823c3925e40bd91",
        "7e50fb2a681c858ec7d85ff92e97794f41fd1f08"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Feb 10 15:16:33 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 10 15:16:34 2015 +0000"
      },
      "message": "Merge \"bionic: benchmarks: Add BM_semaphore_sem_post\""
    },
    {
      "commit": "2d8f9b5aea90b57cd01c0a07cfff032092b4672e",
      "tree": "5e0c6af872e20d46e99e1b47a6378360915b70bf",
      "parents": [
        "a4fc89badf4ef4d42df0927340c6f0d02167a3d6"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Feb 09 13:58:28 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Feb 09 19:56:47 2015 -0800"
      },
      "message": "Define MAXHOSTNAMELEN explicitly in source files.\n\nBug: 19093777\nBug: 19092844\nChange-Id: I0778507ca2d5c008abb9a6d6315d0909263a8817\n"
    },
    {
      "commit": "7e50fb2a681c858ec7d85ff92e97794f41fd1f08",
      "tree": "1e25a6444beeee8f72e5e6ed3d5bd2866cc7c959",
      "parents": [
        "6d99da0477f8589df01307067823c3925e40bd91"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Feb 09 08:18:10 2015 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Feb 09 17:05:20 2015 -0800"
      },
      "message": "bionic: benchmarks: Add BM_semaphore_sem_post\n\nThis test tries its best to report the producer side underlying futex\nwake syscall overhead wthin sem_post. It does not measure the time it\ntakes for the wakeup to propagate to the consumer. It suffers from\nclock_gettime syscall overhead, so subtract that. Lock the CPU speed\nfor consistent results as we may not reach \u003e50% cpu utilization.\n\nChange-Id: I02fa9dab2e6ac27202f0290115150bd3c8de00f2\n"
    },
    {
      "commit": "6d99da0477f8589df01307067823c3925e40bd91",
      "tree": "194647ff6f46d1d2ee2b3a161319cb35d3d95a95",
      "parents": [
        "e375ecaa39213ec01464dac9d0ffebaac70b4e9d",
        "d40d1a08cd3174e87bd806c999b8b5639a31723a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Feb 10 00:31:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 10 00:31:06 2015 +0000"
      },
      "message": "Merge \"Cleanup the libm makefile.\""
    },
    {
      "commit": "e375ecaa39213ec01464dac9d0ffebaac70b4e9d",
      "tree": "1d0e274a6739befc3a27df4d135ea4b4740c20f5",
      "parents": [
        "a4fc89badf4ef4d42df0927340c6f0d02167a3d6",
        "e5f816c01780220880ee59a29f727c48b51365d3"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 10 00:10:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 10 00:10:45 2015 +0000"
      },
      "message": "Merge \"Switch pthread_cond_t to \u003cstdatomic.h\u003e.\""
    },
    {
      "commit": "e5f816c01780220880ee59a29f727c48b51365d3",
      "tree": "37454e7d27774bde02d5d28aee3d1aad3cbb6d73",
      "parents": [
        "7f17aea2fc21aaf657824a023a4b7582fb74a2d9"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Jan 29 12:13:33 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Feb 09 15:54:22 2015 -0800"
      },
      "message": "Switch pthread_cond_t to \u003cstdatomic.h\u003e.\n\nBug: 17574458\nChange-Id: Ic7f79861df4fe751cfa6c6b20b71123cc31e7114\n"
    },
    {
      "commit": "d40d1a08cd3174e87bd806c999b8b5639a31723a",
      "tree": "0a8e6b6c3bf365208c5bc774fc9de7e9d7edd997",
      "parents": [
        "d687905f11102a7f6bad461b6f501dc870c59999"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jan 22 17:16:33 2015 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Feb 09 14:09:49 2015 -0800"
      },
      "message": "Cleanup the libm makefile.\n\nChange-Id: I3d95f75da24ee3b064a9cce67586b0e6f32272d8\n"
    },
    {
      "commit": "a4fc89badf4ef4d42df0927340c6f0d02167a3d6",
      "tree": "b8324fc632e9562d0d5c10128a37dac26b1403ea",
      "parents": [
        "f69139e105ef32199afdf35027e9dfc48ad215d7",
        "5e52226f02b7199fa7870a6195b3e5c0efb1c8d3"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Feb 09 19:46:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 09 19:46:46 2015 +0000"
      },
      "message": "Merge \"Stop including \u003clinux/param.h\u003e in \u003csys/param.h\u003e.\""
    },
    {
      "commit": "f69139e105ef32199afdf35027e9dfc48ad215d7",
      "tree": "1375249c0a061b08f801e1ff4242d85913be4b30",
      "parents": [
        "d687905f11102a7f6bad461b6f501dc870c59999",
        "421608550dff76d12886021250919cbebf419bd8"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 09 18:57:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 09 18:57:51 2015 +0000"
      },
      "message": "Merge \"Remove stray log line.\""
    },
    {
      "commit": "421608550dff76d12886021250919cbebf419bd8",
      "tree": "1375249c0a061b08f801e1ff4242d85913be4b30",
      "parents": [
        "d687905f11102a7f6bad461b6f501dc870c59999"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 09 17:59:22 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 09 18:01:45 2015 +0000"
      },
      "message": "Remove stray log line.\n\nChange-Id: Id948ae37a91dadd9d40e91de97f18774bdccfc78\n"
    },
    {
      "commit": "d687905f11102a7f6bad461b6f501dc870c59999",
      "tree": "5ed0a1c3bfd63ba3e2168383b90a515bb9241613",
      "parents": [
        "bc64d1d1fd12a0b43bcfe3f88698f29185ab63e0",
        "05d26211d8d310a30de05b06ce5807198e948f9d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Feb 07 02:18:39 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 07 02:18:39 2015 +0000"
      },
      "message": "Merge \"Display errors instead of running infinitely.\""
    },
    {
      "commit": "05d26211d8d310a30de05b06ce5807198e948f9d",
      "tree": "158296a58bce7975a9dcba039e7db99cbd28ba55",
      "parents": [
        "bda85a12392b10555dc03ac377c8450b8f0790d6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Feb 03 15:16:03 2015 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Feb 06 18:05:58 2015 -0800"
      },
      "message": "Display errors instead of running infinitely.\n\nWhen there is an error detected, the code runs forever and then times\nout without any indication of what happened. Change it so that error\nmessages are printed and the test fails.\n\nChange-Id: Id3160fc2f394984de0157356594fd8b40de66b4a\n"
    },
    {
      "commit": "bc64d1d1fd12a0b43bcfe3f88698f29185ab63e0",
      "tree": "74776eb715fe50e9d6747ba4ab096b5ad24c6310",
      "parents": [
        "44e88db185cc65b49373dd76d8ed27264b7299ed",
        "d7db594b8d1dab36b711bd887a9dd21675c87243"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Fri Feb 06 23:25:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 06 23:25:29 2015 +0000"
      },
      "message": "Merge \"Switch kernel header parsing to python libclang\""
    },
    {
      "commit": "d7db594b8d1dab36b711bd887a9dd21675c87243",
      "tree": "214b4e6e4510386ffc05c9a43dd3c153c6cf89a0",
      "parents": [
        "11829be3e1a9e9e2271ba64a78c327bde6e044eb"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Wed Jan 28 10:07:51 2015 -0800"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Fri Feb 06 14:48:41 2015 -0800"
      },
      "message": "Switch kernel header parsing to python libclang\n\nReplace the tokenizer in cpp.py with libclang.\n\nBug: 18937958\nChange-Id: I27630904c6d2849418cd5ca3d3c612ec3078686d\n"
    },
    {
      "commit": "44e88db185cc65b49373dd76d8ed27264b7299ed",
      "tree": "03ec9aa6aa8e30da41b9f007532f2d2f53c3066e",
      "parents": [
        "bda85a12392b10555dc03ac377c8450b8f0790d6",
        "91b403cef62a5f1c727c3ed7395ea83852c4a2ab"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 06 22:45:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 06 22:45:59 2015 +0000"
      },
      "message": "Merge \"Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs\""
    },
    {
      "commit": "91b403cef62a5f1c727c3ed7395ea83852c4a2ab",
      "tree": "d521eae49865dfdf00bbbb625ca1c52fef6862ef",
      "parents": [
        "5b869c0bbf8a2924ab69d86a98e9a25558d33494"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 06 14:16:17 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 06 14:16:17 2015 -0800"
      },
      "message": "Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs\n\nChange-Id: If61d6faae5d91c3bbe198e733e5922cd877ba353\n"
    },
    {
      "commit": "bda85a12392b10555dc03ac377c8450b8f0790d6",
      "tree": "6c1d92644e9ab12b98a3d0d30233d3d545624186",
      "parents": [
        "9dfb00c1d48545a2627c2aded62d3a79749351fb",
        "ead08148bdfe880f40c457d923e6456044196fc7"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Feb 05 21:55:18 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 05 21:55:19 2015 +0000"
      },
      "message": "Merge \"Add path separator in bionic-unit-tests program path.\""
    },
    {
      "commit": "9dfb00c1d48545a2627c2aded62d3a79749351fb",
      "tree": "0611ed61180c6983dd9818cc8bf01bbc3dec3ef4",
      "parents": [
        "9a9b635745dc776dcfeec51d68b85ca7e8cdbe7d",
        "6e54c3e519892ca13f15bdcea0d431befbadac25"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 05 20:21:35 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 05 20:21:35 2015 +0000"
      },
      "message": "Merge \"Use the libcxxabi __cxa_demangle.\""
    },
    {
      "commit": "9a9b635745dc776dcfeec51d68b85ca7e8cdbe7d",
      "tree": "75061f2474fe40a2ef5ec96a0c739d14e9021100",
      "parents": [
        "63826658f4bcfff4f3a87fe651f22cc9b35fe8b9",
        "aba6f712d46577c45a89fd0626dc251885d7989d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 05 20:05:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 05 20:05:46 2015 +0000"
      },
      "message": "Merge \"Apparently, logd does need the NULs.\""
    },
    {
      "commit": "6e54c3e519892ca13f15bdcea0d431befbadac25",
      "tree": "914bdd8c31ba4d8cd205fefb8f0b95669a425189",
      "parents": [
        "8e5f9bc8a46872e3f0ac4799558fdfd5999f9c20"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 05 12:05:34 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 05 12:05:34 2015 -0800"
      },
      "message": "Use the libcxxabi __cxa_demangle.\n\nBug: 18930951\nChange-Id: If2ea3633ac6dfd4ec975c0f16bdf3dd58e05c614\n"
    },
    {
      "commit": "aba6f712d46577c45a89fd0626dc251885d7989d",
      "tree": "6ad501467d7673592127f5ea3dded7bdd8432159",
      "parents": [
        "8e5f9bc8a46872e3f0ac4799558fdfd5999f9c20"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 05 12:02:04 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 05 12:02:04 2015 -0800"
      },
      "message": "Apparently, logd does need the NULs.\n\nChange-Id: I04b834e65c26c5821b952f78a0de7f92527cbdba\n"
    },
    {
      "commit": "ead08148bdfe880f40c457d923e6456044196fc7",
      "tree": "d73b76c768a74ae50657fae0e8ff4d007eeea7a3",
      "parents": [
        "63826658f4bcfff4f3a87fe651f22cc9b35fe8b9"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 04 20:53:56 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Feb 05 10:39:37 2015 -0800"
      },
      "message": "Add path separator in bionic-unit-tests program path.\n\nBug: 19220800\nChange-Id: I4245b1270363544cd5f083fe7ea7d9b11b46cdc0\n"
    },
    {
      "commit": "63826658f4bcfff4f3a87fe651f22cc9b35fe8b9",
      "tree": "37591f6b07b53d1f7ead6d39c5f0b3bd525b9685",
      "parents": [
        "8e5f9bc8a46872e3f0ac4799558fdfd5999f9c20",
        "1d4c780a2e1fe81cf3ea35ba0641dd14744c142a"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Feb 05 04:21:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 05 04:21:03 2015 +0000"
      },
      "message": "Merge \"Add signal handling in bionic gtest main.\""
    },
    {
      "commit": "1d4c780a2e1fe81cf3ea35ba0641dd14744c142a",
      "tree": "78c5b30ec799b75808f6a5f7fce3f9ddee11678a",
      "parents": [
        "d80ec66121b5af96c6b3d07ba34353b3d517f5b3"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Feb 02 19:14:05 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 04 19:06:07 2015 -0800"
      },
      "message": "Add signal handling in bionic gtest main.\n\nThe two bugs are very closely related and code amount is very small,\nSo I think they may be fixed in one change.\n\nBug: 19128558\nBug: 19129994\nChange-Id: I44a35398e64dfca7e9676428cb8f4026e8f6e488\n"
    },
    {
      "commit": "8e5f9bc8a46872e3f0ac4799558fdfd5999f9c20",
      "tree": "964ed2ef336355c85bac214c037e1732366c9383",
      "parents": [
        "da2c0a708ed6c0091f3f89fd8838292579dad800",
        "8e5538193915885ea859ac90a72b46ab04440cea"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Feb 05 02:23:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 05 02:23:34 2015 +0000"
      },
      "message": "Merge \"linker: Use load_bias to adjust search address in elf_addr_lookup\""
    },
    {
      "commit": "da2c0a708ed6c0091f3f89fd8838292579dad800",
      "tree": "366ffdc2136629ea65b5086c3b3a1bbd3a582c14",
      "parents": [
        "17976019a13a94ae428849bfe297f8e531f95013",
        "5b869c0bbf8a2924ab69d86a98e9a25558d33494"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 05 01:57:27 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 05 01:57:28 2015 +0000"
      },
      "message": "Merge changes Ib87855e8,I4b46ae20,I66364a5c,Id3fcf680\n\n* changes:\n  Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures\n  Fix typo in cpu variant makefile depenendency for arm64\n  Remove libc_static_common_src_files\n  Share LP32 makefile settings between arches\n"
    },
    {
      "commit": "5b869c0bbf8a2924ab69d86a98e9a25558d33494",
      "tree": "dd21061e073d1d6ea6549a353d63c7499cb0281f",
      "parents": [
        "a6b6ed5fe9dd247684de5f35a0367be65876339e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:40:29 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:40:29 2015 -0800"
      },
      "message": "Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures\n\nLOCAL_LDFLAGS_\u003carch\u003e was being set for arm64, mips64, and x86_64.\nUse LOCAL_LDFLAGS_64 instead.\n\nChange-Id: Ib87855e8a7783f82461b707fffa7f1663e6be9c8\n"
    },
    {
      "commit": "a6b6ed5fe9dd247684de5f35a0367be65876339e",
      "tree": "11f454fb3950406c1f4f36e5229e39ff08977ee5",
      "parents": [
        "7dc502d01292f3303a5252ce20f80f621f4f15f5"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:38:27 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:38:27 2015 -0800"
      },
      "message": "Fix typo in cpu variant makefile depenendency for arm64\n\ncpu_variank_mk -\u003e cpu_variant_mk\n\nChange-Id: I4b46ae20de72ed2dc8820d62ac35ddc6b915a195\n"
    },
    {
      "commit": "7dc502d01292f3303a5252ce20f80f621f4f15f5",
      "tree": "9190e89158198acffd7c69aa18fbdb3df8c78ce9",
      "parents": [
        "1742a32aea4108a8a967e8da2131de30c8808658"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:37:23 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:37:23 2015 -0800"
      },
      "message": "Remove libc_static_common_src_files\n\nlibc_static_common_src_files is never set after\nc3f114037dbf028896310609fd28cf2b3da99c4d, remove the remaining\nreferences to it.\n\nChange-Id: I66364a5c1b031ad69d608f6f44244049192944f6\n"
    },
    {
      "commit": "1742a32aea4108a8a967e8da2131de30c8808658",
      "tree": "2410fb404c8fad86685f79e1b867a37025744889",
      "parents": [
        "94335cc8e2f32638d9e38741ddabfd19a38e0840"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:35:49 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 04 17:35:49 2015 -0800"
      },
      "message": "Share LP32 makefile settings between arches\n\nAdd \u003cvar\u003e_32 to patch-up-arch-specific-flags, and move the LP32\ncruft varaibles from the 32-bit arch specific makefiles into the\ntop level Android.mk.\n\nChange-Id: Id3fcf6805d4af048c2524c94b1295416ebe7d057\n"
    },
    {
      "commit": "8e5538193915885ea859ac90a72b46ab04440cea",
      "tree": "efa5bd0494d5afffd61b90ece4233f7ff178e7e7",
      "parents": [
        "86d9896273e81941d16034fdbf781a3f2bf94b81"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris.dearman",
        "time": "Wed Nov 13 17:22:33 2013 -0800"
      },
      "committer": {
        "name": "Duane Sand",
        "email": "duane.sand@imgtec.com",
        "time": "Wed Feb 04 17:16:27 2015 -0800"
      },
      "message": "linker: Use load_bias to adjust search address in elf_addr_lookup\n\nload_bias is the delta between a symbols address in memory and the value\ncontained in the symbol table.\n\nChange-Id: I35c87b69025b64f7e4a1418ca766618f4533fb3e\n"
    },
    {
      "commit": "17976019a13a94ae428849bfe297f8e531f95013",
      "tree": "4d285c2535666d3a8bbf928700371a1ba7e2c54b",
      "parents": [
        "2151f09fbfc2f6084366587df10132e93f4d818c",
        "f4fe6937aa5ac5a424b63bc68c5a953aaf46e1c6"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Feb 05 01:14:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 05 01:14:32 2015 +0000"
      },
      "message": "Merge \"Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test.\""
    },
    {
      "commit": "5e52226f02b7199fa7870a6195b3e5c0efb1c8d3",
      "tree": "856fdb508a5b889b4bbf6bace6223bb5c5af6ab9",
      "parents": [
        "d80ec66121b5af96c6b3d07ba34353b3d517f5b3"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 03 18:40:44 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 04 14:59:58 2015 -0800"
      },
      "message": "Stop including \u003clinux/param.h\u003e in \u003csys/param.h\u003e.\n\nBug: 19092844\nChange-Id: I1a4a0c84a196a187ea32e58491de744cf3c0f404\n"
    },
    {
      "commit": "f4fe6937aa5ac5a424b63bc68c5a953aaf46e1c6",
      "tree": "cb4065d1b47a960be80b5ecd6c8a62a7e6634d97",
      "parents": [
        "d80ec66121b5af96c6b3d07ba34353b3d517f5b3"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 03 17:52:32 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 04 12:27:06 2015 -0800"
      },
      "message": "Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test.\n\nBug: 19220800\nChange-Id: Ie75c640183c4a41a499556fefb4f824a134a5fb1\n"
    },
    {
      "commit": "2151f09fbfc2f6084366587df10132e93f4d818c",
      "tree": "dd50aaceae69033b9a8211e94180cb54cabafcb2",
      "parents": [
        "7e1b3d3e68f7430322a88be06f6b53c358fd14bf",
        "bdd845247282fb1c3ac12184eebb90adc6c7ff41"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Feb 04 16:33:01 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 04 16:33:01 2015 +0000"
      },
      "message": "Merge \"Set INCLUDE_UNI_CORE_DATA\u003d1 when rebuilding ICU4C time zone data.\""
    },
    {
      "commit": "bdd845247282fb1c3ac12184eebb90adc6c7ff41",
      "tree": "dd50aaceae69033b9a8211e94180cb54cabafcb2",
      "parents": [
        "7e1b3d3e68f7430322a88be06f6b53c358fd14bf"
      ],
      "author": {
        "name": "Fredrik Roubert",
        "email": "roubert@google.com",
        "time": "Wed Feb 04 17:17:34 2015 +0100"
      },
      "committer": {
        "name": "Fredrik Roubert",
        "email": "roubert@google.com",
        "time": "Wed Feb 04 17:17:34 2015 +0100"
      },
      "message": "Set INCLUDE_UNI_CORE_DATA\u003d1 when rebuilding ICU4C time zone data.\n\nThis is now necessary to build .dat files that are useable for ICU4J as\nwell, and will need to be used for any future updates of the .dat file:\n\nhttps://android.googlesource.com/platform/external/icu/+/6b52738\n\nChange-Id: Ifa3a7469a66ab932db20876697e45814f0c5ddc3\n"
    },
    {
      "commit": "7e1b3d3e68f7430322a88be06f6b53c358fd14bf",
      "tree": "23217666a93d70b2a3b24876ace448b2b3207e68",
      "parents": [
        "11829be3e1a9e9e2271ba64a78c327bde6e044eb",
        "a3d97da4c5c96f2c224485928154bad111cd635f"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 04 02:42:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 04 02:42:16 2015 +0000"
      },
      "message": "Merge \"Switch sem_t from bionic atomics to stdatomic.h.\""
    },
    {
      "commit": "a3d97da4c5c96f2c224485928154bad111cd635f",
      "tree": "4aeb0ed6daa210dc79e9a48e210de9aeafa9601f",
      "parents": [
        "7f17aea2fc21aaf657824a023a4b7582fb74a2d9"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Jan 30 12:30:08 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 03 16:35:57 2015 -0800"
      },
      "message": "Switch sem_t from bionic atomics to stdatomic.h.\n\nBug: 17572887\nChange-Id: If66851ba9b831cdd698b9f1303289bb14448bd03\n"
    },
    {
      "commit": "11829be3e1a9e9e2271ba64a78c327bde6e044eb",
      "tree": "08724ca11c005312e09599a78077483c613c8525",
      "parents": [
        "f00f484cb59c1d599242daecbf833397aa3ba5d8",
        "140f3678f0f21eeda5916e9b8de87b93fd660a61"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 03 22:28:55 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 03 22:28:56 2015 +0000"
      },
      "message": "Merge \"Add test about pthread_mutex_t owner tid limit.\""
    },
    {
      "commit": "140f3678f0f21eeda5916e9b8de87b93fd660a61",
      "tree": "4115c771e910e8969cb093fa124df987259bad3c",
      "parents": [
        "86fc96f73311f43980df770f4ff8022f1e9b296a"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 03 10:32:00 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 03 12:20:46 2015 -0800"
      },
      "message": "Add test about pthread_mutex_t owner tid limit.\n\nBug: 19216648\nChange-Id: I7b12955bdcad31c13bf8ec2740ff88ba15223ec0\n"
    },
    {
      "commit": "f00f484cb59c1d599242daecbf833397aa3ba5d8",
      "tree": "ad09d82701fd1d9cdf44231d8b8789007aa5d8d9",
      "parents": [
        "d57bf449fe6c2dcf35d90d6e4098038ac8a24ecb",
        "00490ae3f351e07ed4cc2a94b11cba6a22f37311"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 03 20:17:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 03 20:17:33 2015 +0000"
      },
      "message": "Merge \"Ensure raw fchmod/fchmodat syscalls are hidden.\""
    },
    {
      "commit": "00490ae3f351e07ed4cc2a94b11cba6a22f37311",
      "tree": "ad09d82701fd1d9cdf44231d8b8789007aa5d8d9",
      "parents": [
        "d57bf449fe6c2dcf35d90d6e4098038ac8a24ecb"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 03 11:27:25 2015 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 03 12:10:30 2015 -0800"
      },
      "message": "Ensure raw fchmod/fchmodat syscalls are hidden.\n\nIn https://android-review.googlesource.com/#/c/127908/5/libc/SYSCALLS.TXT@116\nElliott said:\n\n  for LP64 these will be hidden. for LP32 we were cowards and left\n  them all public for compatibility (though i don\u0027t think we ever\n  dremeled to see whether it was needed). we don\u0027t have an easy\n  way to recognize additions, though, so we can\u0027t prevent adding\n  new turds.\n\nAdd a mechanism to prevent the adding of new turds, and use that\nmechanism on the fchmod/fchmodat system calls.\n\nBug: 19233951\nChange-Id: I98f98345970b631a379f348df57858f9fc3d57c0\n"
    },
    {
      "commit": "d57bf449fe6c2dcf35d90d6e4098038ac8a24ecb",
      "tree": "9e4fc6f141d8aecad2a9bceae60bb1e45cb0556a",
      "parents": [
        "c5999c1e0382c40286cc631c6a53e7781bc03154",
        "86fc96f73311f43980df770f4ff8022f1e9b296a"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Feb 03 02:42:53 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 03 02:42:53 2015 +0000"
      },
      "message": "Merge \"Switch pthread_mutex_t from bionic atomics to \u003cstdatomic.h\u003e.\""
    },
    {
      "commit": "c5999c1e0382c40286cc631c6a53e7781bc03154",
      "tree": "25781b6ac59895b9efe94af24ee439ef04b308aa",
      "parents": [
        "d80ec66121b5af96c6b3d07ba34353b3d517f5b3",
        "1ed337dbdfd419db0365f4457b96fe129d21db90"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 03 01:21:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 03 01:21:17 2015 +0000"
      },
      "message": "Merge \"Clean up SEEK_SET definitions.\""
    },
    {
      "commit": "86fc96f73311f43980df770f4ff8022f1e9b296a",
      "tree": "0eb94839231c5c19cd7b4bf0954083ba670d62bd",
      "parents": [
        "6a3ff01cd4f063556cf25706ddc9dff82c351aba"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Jan 29 21:50:48 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Feb 02 15:00:01 2015 -0800"
      },
      "message": "Switch pthread_mutex_t from bionic atomics to \u003cstdatomic.h\u003e.\n\nBug: 17574456\nChange-Id: I5ce3d3dc07e804e9ce55c42920f47531b56e04de\n"
    },
    {
      "commit": "d80ec66121b5af96c6b3d07ba34353b3d517f5b3",
      "tree": "ac55af52647bb32468e477945a1da988778e9436",
      "parents": [
        "c57b5c5094f915ff975a256e086d58e2e7cfedf1",
        "3cbc6c627fe57c9a9783c52d148078f8d52f7b96"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Feb 02 22:03:41 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 02 22:03:41 2015 +0000"
      },
      "message": "Merge \"Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support\""
    },
    {
      "commit": "1ed337dbdfd419db0365f4457b96fe129d21db90",
      "tree": "e6048080c31d0a46d3270b6faa0267f23cd8620b",
      "parents": [
        "c57b5c5094f915ff975a256e086d58e2e7cfedf1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 14:02:09 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 14:02:09 2015 -0800"
      },
      "message": "Clean up SEEK_SET definitions.\n\nIf we lose the #ifndef, the compiler will tell us if the definitions\nof SEEK_SET and friends ever get out of sync.\n\nChange-Id: I357cabec7c9cd451c604342344f210bba20fb6bc\n"
    },
    {
      "commit": "3cbc6c627fe57c9a9783c52d148078f8d52f7b96",
      "tree": "ea5b0dc49aaa16f25e2262cd5560070ae65923b9",
      "parents": [
        "21cdd22f035efd50902b7780fc6ea53bd1684357"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Jan 31 19:57:46 2015 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Feb 02 13:17:17 2015 -0800"
      },
      "message": "Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support\n\nMany libc functions have an option to not follow symbolic\nlinks. This is useful to avoid security sensitive code\nfrom inadvertantly following attacker supplied symlinks\nand taking inappropriate action on files it shouldn\u0027t.\nFor example, open() has O_NOFOLLOW, chown() has\nlchown(), stat() has lstat(), etc.\n\nThere is no such equivalent function for chmod(), such as lchmod().\nTo address this, POSIX introduced fchmodat(AT_SYMLINK_NOFOLLOW),\nwhich is intended to provide a way to perform a chmod operation\nwhich doesn\u0027t follow symlinks.\n\nCurrently, the Linux kernel doesn\u0027t implement AT_SYMLINK_NOFOLLOW.\nIn GLIBC, attempting to use the AT_SYMLINK_NOFOLLOW flag causes\nfchmodat to return ENOTSUP. Details are in \"man fchmodat\".\n\nBionic currently differs from GLIBC in that AT_SYMLINK_NOFOLLOW\nis silently ignored and treated as if the flag wasn\u0027t present.\n\nThis patch provides a userspace implementation of\nAT_SYMLINK_NOFOLLOW for bionic. Using open(O_PATH | O_NOFOLLOW),\nwe can provide a way to atomically change the permissions on\nfiles without worrying about race conditions.\n\nAs part of this change, we add support for fchmod on O_PATH\nfile descriptors, because it\u0027s relatively straight forward\nand could be useful in the future.\n\nThe basic idea behind this implementation comes from\nhttps://sourceware.org/bugzilla/show_bug.cgi?id\u003d14578 , specifically\ncomment #10.\n\nChange-Id: I1eba0cdb2c509d9193ceecf28f13118188a3cfa7\n"
    },
    {
      "commit": "c57b5c5094f915ff975a256e086d58e2e7cfedf1",
      "tree": "17cf4429a372a25be930c13bafb58fce4b21cc94",
      "parents": [
        "530aaeccd875f708918f59cd5ff8b076c156adab",
        "42084a265329538a9e696e41971fb5d6abe3c14f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 20:36:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 02 20:36:29 2015 +0000"
      },
      "message": "Merge \"Small logging cleanup.\""
    },
    {
      "commit": "42084a265329538a9e696e41971fb5d6abe3c14f",
      "tree": "17cf4429a372a25be930c13bafb58fce4b21cc94",
      "parents": [
        "530aaeccd875f708918f59cd5ff8b076c156adab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 12:24:46 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 12:24:46 2015 -0800"
      },
      "message": "Small logging cleanup.\n\nDon\u0027t send the trailing NUL bytes to the logger, call strlen if we already\nknow the length, or cast more specifically than we need to.\n\nChange-Id: I68c9388a22bddea49120a1022dda8db8991360c1\n"
    },
    {
      "commit": "530aaeccd875f708918f59cd5ff8b076c156adab",
      "tree": "347d607af94281c14bf9215fb9d9a9cfcbd24d2e",
      "parents": [
        "7f0f30c6e20c1bf04bec05077eef2d779e7a32df",
        "d036e94bb39a551768dc756a79366e6378fe95e3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 19:25:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 02 19:25:58 2015 +0000"
      },
      "message": "Merge \"Explicitly check that the reason fortify tests abort is fortify.\""
    },
    {
      "commit": "d036e94bb39a551768dc756a79366e6378fe95e3",
      "tree": "347d607af94281c14bf9215fb9d9a9cfcbd24d2e",
      "parents": [
        "7f0f30c6e20c1bf04bec05077eef2d779e7a32df"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 11:18:58 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 11:18:58 2015 -0800"
      },
      "message": "Explicitly check that the reason fortify tests abort is fortify.\n\nChange-Id: I95291e2febf7b497c1d9f37fd7fa9acdd21e86a4\n"
    },
    {
      "commit": "7f0f30c6e20c1bf04bec05077eef2d779e7a32df",
      "tree": "98bd3d7bf1fd1f9d2b438985f9973e46529d83a5",
      "parents": [
        "d514d9bbae354da72fcb43349f0157378e52004d",
        "30fbf5f44c3d2f2f2d11f92e106294c41497af5f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 18:23:28 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 02 18:23:28 2015 +0000"
      },
      "message": "Merge \"Fix clang build.\""
    },
    {
      "commit": "30fbf5f44c3d2f2f2d11f92e106294c41497af5f",
      "tree": "d2b928d1dc06ec9ae567168c3c07e112196e944d",
      "parents": [
        "5940f98a35d64f9ca249536bb8cdcdbfe43e9bc3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 10:21:39 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 10:21:39 2015 -0800"
      },
      "message": "Fix clang build.\n\nChange-Id: I863137b5d35602267b4ef3a74399cf394c9994d6\n"
    },
    {
      "commit": "d514d9bbae354da72fcb43349f0157378e52004d",
      "tree": "a1e7348276e994ed4dd13793e57f1ff3965de6e5",
      "parents": [
        "5940f98a35d64f9ca249536bb8cdcdbfe43e9bc3",
        "0662c3e5b33840e19f4c14b85bf619c33b3a0d0f"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Feb 02 17:52:47 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 02 17:52:48 2015 +0000"
      },
      "message": "Merge \"Fixes to the update-tzdata.py tool\""
    },
    {
      "commit": "5940f98a35d64f9ca249536bb8cdcdbfe43e9bc3",
      "tree": "b4dadb078646cbb46dd62a14c623b7e0d06619e3",
      "parents": [
        "ffbda83b302e3c3970135013d2bb92402e040fe5",
        "4674e3899afcc6b3ac8a48cdb716695d5489d26b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 17:51:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 02 17:51:50 2015 +0000"
      },
      "message": "Merge \"Fortify poll and ppoll.\""
    },
    {
      "commit": "0662c3e5b33840e19f4c14b85bf619c33b3a0d0f",
      "tree": "56f88dd74729e8f6c3bcba8c42dd460be7ccbf05",
      "parents": [
        "ffbda83b302e3c3970135013d2bb92402e040fe5"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Feb 02 16:50:05 2015 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Feb 02 17:42:41 2015 +0000"
      },
      "message": "Fixes to the update-tzdata.py tool\n\nWe build one too many times. Creating a missing directory\nis sufficient.\n\nThe tz2icu needs some files in the CWD. Added symlinks.\n\nBug: 19230091\nChange-Id: I58f9817af68b229f48139e56503f50a2b6dbb4fe\n"
    },
    {
      "commit": "4674e3899afcc6b3ac8a48cdb716695d5489d26b",
      "tree": "b4dadb078646cbb46dd62a14c623b7e0d06619e3",
      "parents": [
        "ffbda83b302e3c3970135013d2bb92402e040fe5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 09:15:19 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 09:15:19 2015 -0800"
      },
      "message": "Fortify poll and ppoll.\n\nAnd remove the test for FD_ZERO fortification, which never made much\nsense anyway.\n\nChange-Id: Id1009c5298d461fa4722189e8ecaf22f0c529536\n"
    },
    {
      "commit": "ffbda83b302e3c3970135013d2bb92402e040fe5",
      "tree": "e9238d0b952a25bda4091c7a4d1a197a9c181b5c",
      "parents": [
        "21cdd22f035efd50902b7780fc6ea53bd1684357",
        "b6e3e800d26d8ca05aca65e529cc31a180fb58d4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 02 05:56:26 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 02 05:56:27 2015 +0000"
      },
      "message": "Merge \"Add the fortify tests back into the glibc tests.\""
    },
    {
      "commit": "b6e3e800d26d8ca05aca65e529cc31a180fb58d4",
      "tree": "e9238d0b952a25bda4091c7a4d1a197a9c181b5c",
      "parents": [
        "21cdd22f035efd50902b7780fc6ea53bd1684357"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Jan 31 21:32:10 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Jan 31 21:32:10 2015 -0800"
      },
      "message": "Add the fortify tests back into the glibc tests.\n\nChange-Id: I4426d0c7c1bfe3b0028a674f72d1c3b9d883d6af\n"
    },
    {
      "commit": "21cdd22f035efd50902b7780fc6ea53bd1684357",
      "tree": "e876b8453d44420a576256e8813e71f5c2c94919",
      "parents": [
        "09c3382433ae94ada45780312a2a9fd082ad1478",
        "cb0e70389ee1c4a957a842deb601666f1930d4ee"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Jan 31 04:37:10 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jan 31 04:37:11 2015 +0000"
      },
      "message": "Merge \"Include \u003cmalloc.h\u003e for struct mallinfo.\""
    },
    {
      "commit": "cb0e70389ee1c4a957a842deb601666f1930d4ee",
      "tree": "e876b8453d44420a576256e8813e71f5c2c94919",
      "parents": [
        "09c3382433ae94ada45780312a2a9fd082ad1478"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 30 20:33:31 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 30 20:33:31 2015 -0800"
      },
      "message": "Include \u003cmalloc.h\u003e for struct mallinfo.\n\nGCC doesn\u0027t seem to care, but clang does.\n\nChange-Id: I9884820339a9e6f142862928c357f1a538184ae0\n"
    },
    {
      "commit": "09c3382433ae94ada45780312a2a9fd082ad1478",
      "tree": "2d0caa14b5caa0f708357952d92a81a855b1ced5",
      "parents": [
        "94335cc8e2f32638d9e38741ddabfd19a38e0840",
        "5038b19cef207b526f9993951e4a04c8df91ce1d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Jan 31 04:18:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jan 31 04:18:10 2015 +0000"
      },
      "message": "Merge \"Break two incorrect transitive includes.\""
    }
  ],
  "next": "94335cc8e2f32638d9e38741ddabfd19a38e0840"
}
