)]}'
{
  "log": [
    {
      "commit": "4916706cfe590eb06c9b5bd4bd402ce056034d51",
      "tree": "75e0434f53123a7f34ffb405b84899bbacc80b38",
      "parents": [
        "50a9630cc26cbc1e38e3ddc589f04fa5cd91697b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 17:24:00 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 19:55:23 2014 -0700"
      },
      "message": "Fix linkage of grantpt(3).\n\nAlso clean up the implementation of all the pty functions, add tests,\nand fix the stub implementations of ttyname(3) and ttyname_r(3).\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d58888\nChange-Id: I0fb36438cd1abf8d4e87c29415f03db9ba13c3c2\n"
    },
    {
      "commit": "91570ce987ef93f9ba2fa663a5fee1bd2525a2ba",
      "tree": "6d79ac1618f8415982041faf046378f8b684a12e",
      "parents": [
        "f0f8cd1ff3e7f7124cab8a687370b51df4ec93de"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 10 12:34:23 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 10 12:34:23 2014 -0700"
      },
      "message": "Slim down static binaries by avoiding stdio.\n\nIt\u0027s okay for a program to choose to drag in stdio, but it\u0027s unfortunate\nif even the minimal \"int main() { return 42; }\" drags in stdio...\n\nThis brings the minimal static binary on ARM down from 78KiB to 46KiB.\n\nGiven that we don\u0027t have a separate -lpthread it\u0027s not obvious to me that\nwe can shave this down any further. I\u0027m not sure whether this is a worthwhile\nchange for that reason. (And the fact that dynamic binaries, the usual case,\nare unaffected either way.)\n\nChange-Id: I02f91dcff37d14354314a30b72fed2563f431c88\n"
    },
    {
      "commit": "eb664e24c074b88539b743668109d8b4eaa925bd",
      "tree": "20bd4bb4f2a733dcec384fa7c959c77661f156ba",
      "parents": [
        "dbcba8f5f9a59fac3d22dfc17a14d3d5cfb4f4b0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 13 10:44:07 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 13 10:44:07 2014 -0700"
      },
      "message": "Add getmntent_r to our collection of \u003cmntent.h\u003e compatibility stubs.\n\nThis helps build \u0027external/flo\u0027 out of the box.\n\nBug: 14841211\nChange-Id: I30dde77239cceaf1f5743163744eb3604d27a266\n"
    },
    {
      "commit": "c768874c667794bee278b9fbf207b5ca5df4e7a6",
      "tree": "9c2ea42770011f6f3bf80238f5ca394c2c8c6b5f",
      "parents": [
        "790890fd5c896a098142e0783b10fa8246462249"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri May 09 21:50:53 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri May 09 22:29:23 2014 +0100"
      },
      "message": "Align struct passwd definition with other variations of libc\n\nAdd pg_gecos (\"real name\") field to struct passwd.\n\nBug: 14679430\nBug: 12875898\nChange-Id: I833ec2c46f6a6259b7232a8e3f7942968ef0b50d\n"
    },
    {
      "commit": "0e44bc3baeb1677e5fbdda87a737b9c508c95132",
      "tree": "1470737507c2d3924297e61e463edc18a191cc8e",
      "parents": [
        "b26e4944e2a5bf4b7e33fa38fb17a3b76c7fe0f7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 24 15:55:31 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 24 15:55:31 2014 -0800"
      },
      "message": "Remove \u003casm/page.h\u003e.\n\nIf we have PAGE_SIZE/PAGESIZE, POSIX says they should be in \u003climits.h\u003e.\n\nChange-Id: I3c2d574ea2aea81f524874a156361411a4ffa18e\n"
    },
    {
      "commit": "4e9cb032d1eab7ceaef47f4d5104d2c42d556ce2",
      "tree": "b56bcbacd448e4f54a61c7e6722b5f1ac153a643",
      "parents": [
        "33c3e8d3b2312be3a3eb9d2632c4a570969e1624"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Thu Jan 09 14:06:20 2014 -0800"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Fri Jan 10 01:24:34 2014 +0000"
      },
      "message": "Add extra libc stubs for mntent related functions.\n\nThis adds stubs for setmntent() and endmntent().\n\nChange-Id: I6ccaa044145405cd7226c1c54a25d435c96a2308\n"
    },
    {
      "commit": "567a8de3ca5b4c4f033bfbcdd339a3fd59a76227",
      "tree": "1a7f98471fcdec66ad6a8a9e8805aaf2f4e7556f",
      "parents": [
        "972885499255a9368e96332f9da0d28b2436d042"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 24 17:14:55 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 24 17:14:55 2013 -0700"
      },
      "message": "Start moving 32-bit cruft somewhere it won\u0027t pollute 64-bit.\n\nChange-Id: I03a6a50a5243f29e50fb58a3cf8b5e7198640baa\n"
    },
    {
      "commit": "9ae59c02ca68da5bb45152c85c4cab6fd6f7aba2",
      "tree": "8f0e68c1325835e1add3d2a04de74440bc2c2b36",
      "parents": [
        "a259472ca076ee230523e63502999be13a3f72d2"
      ],
      "author": {
        "name": "Bernhard Rosenkraenzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Wed Sep 18 23:29:08 2013 +0200"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 19 11:55:36 2013 -0700"
      },
      "message": "Declare __page_shift and __page_size with C linkage.\n\n__page_shift and __page_size were accidentally declared in unistd.h with\nC linkage - their implementation needs to use the same linkage.\n\nGoing forward, though, let\u0027s stop the inlining madness and let\u0027s kill\nthe non-standard __getpageshift(). This patch takes getpagesize(3) out\nof line and removes __getpageshift but fixes __page_shift and __page_size\nfor backwards binary compatibility.\n\nChange-Id: I35ed66a08989ced1db422eb03e4d154a5d6b5bda\nSigned-off-by: Bernhard Rosenkraenzer \u003cBernhard.Rosenkranzer@linaro.org\u003e\n"
    },
    {
      "commit": "8f2a5a0b40fc82126c691d5c30131d908772aab7",
      "tree": "0b29a5dc82395c076387edb5af9ca271a91264c0",
      "parents": [
        "e23ed8c6441389a79c6504295184f7249e01a197"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 15 15:30:25 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 15 16:12:58 2013 -0700"
      },
      "message": "Clean up internal libc logging.\n\nWe only need one logging API, and I prefer the one that does no\nallocation and is thus safe to use in any context.\n\nAlso use O_CLOEXEC when opening the /dev/log files.\n\nMove everything logging-related into one header file.\n\nChange-Id: Ic1e3ea8e9b910dc29df351bff6c0aa4db26fbb58\n"
    },
    {
      "commit": "3e898476c7230b60a0f76968e64ff25f475b48c0",
      "tree": "0f876aeb565b7e7ac627a6305a355c40173912f2",
      "parents": [
        "fcaf4e9f9b735e053469c7ecbf63584e10fd67a7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 12 16:40:24 2013 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 12 15:27:18 2013 -0800"
      },
      "message": "Revert \"Revert \"More pthreads cleanup.\"\"\n\nThis reverts commit 6f94de3ca49e4ea147b1c59e5818fa175846518f\n\n(Doesn\u0027t try to increase the number of TLS slots; that leads to\nan inability to boot. Adds more tests.)\n\nChange-Id: Ia7d25ba3995219ed6e686463dbba80c95cc831ca\n"
    },
    {
      "commit": "6f94de3ca49e4ea147b1c59e5818fa175846518f",
      "tree": "9a2c45004114f53c4cf1f9468a58fe54c58320fa",
      "parents": [
        "2a1bb4e64677b9abbc17173c79768ed494565047"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 12 06:06:22 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 12 06:06:22 2013 +0000"
      },
      "message": "Revert \"More pthreads cleanup.\"\n\nThis reverts commit 2a1bb4e64677b9abbc17173c79768ed494565047\n\nChange-Id: Ia443d0748015c8e9fc3121e40e68258616767b51\n"
    },
    {
      "commit": "2a1bb4e64677b9abbc17173c79768ed494565047",
      "tree": "3e843fd4277f2bdc502511bd5e4ee539887c14f1",
      "parents": [
        "2d3e72336e76180fb00822386da4f14203d117ce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 12:34:03 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 14:56:39 2013 -0800"
      },
      "message": "More pthreads cleanup.\n\nPOSIX says pthread_create returns EAGAIN, not ENOMEM.\n\nAlso pull pthread_attr_t functions into their own file.\n\nAlso pull pthread_setname_np into its own file.\n\nAlso remove unnecessary #includes from pthread_key.cpp.\n\nAlso account for those pthread keys used internally by bionic,\nso they don\u0027t count against the number of keys available to user\ncode. (They do with glibc, but glibc\u0027s limit is the much more\ngenerous 1024.)\n\nAlso factor out the common errno-restoring idiom to reduce gotos.\n\nBug: 6702535\nChange-Id: I555e66efffcf2c1b5a2873569e91489156efca42\n"
    },
    {
      "commit": "1e980b6bc8315d00a07312b25486531247abd98c",
      "tree": "539f2c0c63fca27d5eb6ba184d658bb0e11a32d9",
      "parents": [
        "e4ca88d9fa8757e4fb4056fcafa5bc15b406a2fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 17 18:36:06 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 18 22:20:06 2013 -0800"
      },
      "message": "Fix the duplication in the debugging code.\n\nWe had two copies of the backtrace code, and two copies of the\nlibcorkscrew /proc/pid/maps code. This patch gets us down to one.\n\nWe also had hacks so we could log in the malloc debugging code.\nThis patch pulls the non-allocating \"printf\" code out of the\ndynamic linker so everyone can share.\n\nThis patch also makes the leak diagnostics easier to read, and\nmakes it possible to paste them directly into the \u0027stack\u0027 tool (by\nusing relative PCs).\n\nThis patch also fixes the stdio standard stream leak that was\ncausing a leak warning every time tf_daemon ran.\n\nBug: 7291287\nChange-Id: I66e4083ac2c5606c8d2737cb45c8ac8a32c7cfe8\n"
    },
    {
      "commit": "6fa26e21bc69e777222148fc0441fb461ba95c6a",
      "tree": "1f0dead904c49cb71318baf9ef031701cd802e73",
      "parents": [
        "4e457759893a6a6ab4f84a5aea231d0a11c7bb13"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 16:04:56 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 16:04:56 2012 -0700"
      },
      "message": "Clean up warnings in stubs.cpp.\n\nChange-Id: Ie0792846de7cf5f5c72737494bf78ab8dcb8cc3e\n"
    },
    {
      "commit": "8a05a01de75d78a45d646115b20b2a3e3c12ba9e",
      "tree": "5cefd13caf66aede2241cca2b8cc9200a11edd86",
      "parents": [
        "2a54e5ecd0a96398e8d7d9b1629ecf8fb1633a2b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 13 14:31:50 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 13 15:25:09 2012 -0700"
      },
      "message": "Print out shared app gids correctly\n\nFor applications that share resources across users such as\nforward-locked applications, print out their group name correctly.\n\nChange-Id: I06ee0b67e4325cfa415ffd7a03e301700399a66d\n"
    },
    {
      "commit": "2a54e5ecd0a96398e8d7d9b1629ecf8fb1633a2b",
      "tree": "0fa9a13009d0f9e215921fa3bc58b8b8b23d158c",
      "parents": [
        "fa36875df423af968d053c584c0de18a2448516b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 13 10:52:52 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 13 15:25:09 2012 -0700"
      },
      "message": "Add tests for Android-specific stubs\n\nAlso fix problem with multi-user IDs that the home directory was\nreturned as \"/data\" instead of \"/\" unlike all the other uids.\n\nChange-Id: I914d22052e5a86552989f8969b85aadbc748c65d\n"
    },
    {
      "commit": "c4d1fecc105063e68a5090a6900b63d1b9a24287",
      "tree": "93dad687b245a981d3c47ede05b43345b86202fe",
      "parents": [
        "9dfaa63a1c0d1b8e75dd9d7077a8103a19821fa9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 28 14:15:04 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 29 12:08:13 2012 -0700"
      },
      "message": "Clean up warnings in the malloc_debug_* files.\n\nAlso clean up cpplint.py-detected lint.\n\nChange-Id: Ia18e89c4c6878764f8d7ed34b8247e7a8d8fe88b\n"
    },
    {
      "commit": "de727caee24df86c3052508aa213f7165168913a",
      "tree": "1c8a574f381c460f2a3708d0a7aa281bba61a7f5",
      "parents": [
        "222eec2ecfc4afcbd5cf0f08e16f69f6c3c424fa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 15:45:36 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 13 16:10:19 2012 -0700"
      },
      "message": "Clean up warnings in stubs.cpp.\n\nSwitch to C++ to get extra warnings, and format the code Google style.\n\nChange-Id: Ifc0131bf297a6ee8a8a6b8d049a02518b0b1a4b7\n"
    }
  ]
}
