)]}'
{
  "log": [
    {
      "commit": "462abab12b074c62c0999859e65d5a32ebb41951",
      "tree": "c0979cfcae24863834ccc28821bd7d1483bac732",
      "parents": [
        "72dc1c22dc6a92dea925398c9e3880364ab29c1c"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jun 13 16:51:24 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jun 16 10:12:37 2014 -0700"
      },
      "message": "Removes getdtablesize(3) from LP64.\n\ngetdtablesize(3) was removed fro POSIX 2004. Keep the symbol around in LP32 for\nbinary compatibility, but remove the declaration from unistd.h.\n\nBug: 13935372\nChange-Id: I1f96cd290bf9176f922dad58bd5a7ab2cae7ef0f\n"
    },
    {
      "commit": "b27a840f4b520bfa095db99b0a2e5205634b0003",
      "tree": "c27682ed0b5e301cbe0aa49dfd6ada3e1bef9eae",
      "parents": [
        "0ada9388e74693d990bdbb4af92c33bae8b34d4b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 10 20:47:49 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 11 16:32:10 2014 -0700"
      },
      "message": "Add __pure2 to a few more functions, most notably gettid and pthread_self.\n\nChange-Id: I7eee9f26f45130038af09d8285782b07f70a996f\n"
    },
    {
      "commit": "b4e099c6f741835b11ecb6f8fd0861b1892ff182",
      "tree": "3c3e26ef1fa83438fd42aa06ace4b9a553c75c11",
      "parents": [
        "d4fbb1a8617285ab1d29324308aa016377fc36f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 29 16:04:53 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 29 16:43:01 2014 -0700"
      },
      "message": "Remove issetugid.\n\nBug: 14569474\nChange-Id: I752c77ed53c724f144f0b618443eb95e87f2929a\n"
    },
    {
      "commit": "a7821b7121933b361554b28a2f9455783a330591",
      "tree": "6e8942ec57b238f5d414b37fb34dbe298a82f19b",
      "parents": [
        "8e85b4f00e8816f22bf5b5f20b1f978432f2ae08"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed May 21 20:33:28 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue May 27 12:47:54 2014 -0700"
      },
      "message": "Use __typeof__() instead of typeof()\n\ntypeof() is a gcc builtin and is not always available (such as clang when\n-std\u003dc*). Both gcc and clang always expose __typeof__(), so just use that.\n\nChange-Id: I75e2a990acc35f6f39b2c353f6548100ec03c67f\n"
    },
    {
      "commit": "58d9e280d459225aa8dc4533e883182b08215f7d",
      "tree": "2c2771dfb1bf95012d13688f8f9142652ba0f9f8",
      "parents": [
        "635edbdf93a127da7db77d9cd174615734b4fb85"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 22 17:41:00 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 22 17:41:00 2014 -0700"
      },
      "message": "Switch to the upstream OpenBSD getenv/putenv/setenv implementation.\n\nThis fixes all the bugs found by the new tests.\n\nChange-Id: Id5a5f9f39a0620208bafa053f871a044725b4795\n"
    },
    {
      "commit": "0133944b09d1c0a35041f7a41eb6bfb660144f4f",
      "tree": "0cb37ddb83c7cf6363d917791d76420ad6f6e1c1",
      "parents": [
        "e65055af112780623f372aca6a1f78d2b2acb34f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 20 18:04:58 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 21 14:30:18 2014 -0800"
      },
      "message": "Clean up our OpenBSD usage.\n\nAlso undo some of the mess where we have OpenBSD \u003cstdio.h\u003e but a mix of\ndifferent BSD\u0027s implementations.\n\nIn this first pass, I\u0027ve only moved easy OpenBSD stuff.\n\nChange-Id: Iae67b02cde6dba9d8d06fedeb53efbfdac0a8cf6\n"
    },
    {
      "commit": "a6ecba4d233d7b769a05ee81ae908c9105352624",
      "tree": "496b3cbe11b5f4037703f3855f7c95704a451d30",
      "parents": [
        "71e4466b100359f36a29c8c0277888df6081a265"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 10 18:37:02 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 11 10:24:40 2014 -0800"
      },
      "message": "Clean up cacheflush.\n\nNo cacheflush for LP64; use the GCC builtin instead. Clean up the\n32-bit MIPS implementation now we no longer need to worry about\nold versions of GCC.\n\nBug: 12924756\nChange-Id: Ie23955b3ec194e226c4b2bce35b11d5e061f4753\n"
    },
    {
      "commit": "ab61eb366ac48addf2bca6093a34455193f5c8df",
      "tree": "335fe463aa773ac8484c40e955fec90f126c9e4f",
      "parents": [
        "39bc7ecd45700e9edac0b29d33cc211383ebb107"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 20 16:09:06 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 20 16:24:16 2013 -0800"
      },
      "message": "Switch to upstream sleep(3) and usleep(3).\n\nAlso fix the signature of usleep, and the definition of useconds_t which\nshould be unsigned, as the \u0027u\u0027 in its name implies.\n\nThis patch also cleans up the existing FreeBSD hacks by moving the libm\nstuff from \u003csys/cdefs.h\u003e to a libm-private header, and adding comments\nabout the hacks we use to build FreeBSD source.\n\nChange-Id: Ibe5067a380502df94a0a3a7901969b35411085b6\n"
    },
    {
      "commit": "cac7b9d6ec1a09814bc028e2f768db732f018891",
      "tree": "3278eba969b89888065d93f36be63eb68f463242",
      "parents": [
        "ec40edc9188aebe5207e47c0a66e89e1ed368bd6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 23 09:48:29 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 23 09:48:29 2013 -0700"
      },
      "message": "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls.\n\n(aarch64 kernels only have the newer system calls.)\n\nAlso expose the new functionality that\u0027s exposed by glibc in our header files.\n\nChange-Id: I45d2d168a03f88723d1f7fbf634701006a4843c5\n"
    },
    {
      "commit": "f8fcfbc85a3ce3e195626b90736d3a484331494b",
      "tree": "5742644f2305f27b65ae7d3a4d07a7614c36af2a",
      "parents": [
        "f0ed9bf2537e861ae75e6ab71efb4b4722ad0eee"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 22 13:28:46 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 22 16:31:01 2013 -0700"
      },
      "message": "Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls.\n\nModern architectures only get the *at(2) system calls. For example,\naarch64 doesn\u0027t have open(2), and expects userspace to use openat(2)\ninstead.\n\nChange-Id: I87b4ed79790cb8a80844f5544ac1a13fda26c7b5\n"
    },
    {
      "commit": "b036b5ca36c1e12b075909b3eca6eab73ee611cf",
      "tree": "c3c2056a4e3868618d473047b2519aa91c3233c2",
      "parents": [
        "92f3cc50c8d884d1eb3496ebfba7d3916fc711e8"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Oct 09 20:16:34 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Oct 09 20:17:03 2013 -0700"
      },
      "message": "FORTIFY_SOURCE: fortify read()\n\nChange-Id: Ic7de163fe121db13e00560adb257331bc709814d\n"
    },
    {
      "commit": "8d2532763981d132b02df157e4cc363c39330090",
      "tree": "371945ae89af3fa167593a3a07f33862c3698ffe",
      "parents": [
        "777ebe86677f6fd88c87995652146b2ead19a95f"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Oct 09 16:44:30 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Oct 09 16:46:25 2013 -0700"
      },
      "message": "Revert \"FORTIFY_SOURCE: fortify read()\"\n\nThis change reverts\n* fb3f956d075676c0438f2ee2bf3a5be659dfc04b.\n* 65c99de2cb7a569ea17ca35e2f8f1e033421864b\n\nChange-Id: Id5774eeede41130579115cf67a72ee914f2b47d5\n"
    },
    {
      "commit": "65c99de2cb7a569ea17ca35e2f8f1e033421864b",
      "tree": "ed12e2385af1f3a3fc350805f19b7c2948443374",
      "parents": [
        "777a4ee6771e6fe3362ef4f24244a44fcd0aabe4"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Oct 09 13:44:38 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Oct 09 13:44:38 2013 -0700"
      },
      "message": "FORTIFY_SOURCE: fortify read()\n\nChange-Id: I3d7b4ec86d04efb865117ce7629a2e26917f3331\n"
    },
    {
      "commit": "b4f7616fd618875768b8fffc122b58bdb84a9969",
      "tree": "7a76517ef594dd73dfe18c388483e504fccb0a3d",
      "parents": [
        "f8e71bac14a4bc52cc95c56adfe042c3938279b5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 19 16:27:24 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 19 16:27:24 2013 -0700"
      },
      "message": "Ensure we have the off64_t variant of every function that takes an off_t.\n\nChange-Id: Ib2eee0cf13162be3b62559b84e90c6dcf5aab1c3\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": "6524d3cad7a1adfc709ace7e983afb9789fed888",
      "tree": "a8a95bac07cf511c84de00c50dd7add3a7f2e1a4",
      "parents": [
        "9c1912c4bf5eb0edc07bfd333226c4e0b7a629eb"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 01 09:46:45 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 01 10:10:55 2013 -0800"
      },
      "message": "unistd.h: don\u0027t include sys/capability.h\n\nDon\u0027t pull in unnecessary header files. AFAIK, I\u0027ve fixed all\nthe code which didn\u0027t include the correct header files.\n\nChange-Id: If0b7bba74e77cb24a0cf9ce8968aa07400855e58\n"
    },
    {
      "commit": "7c0dd555c09c880b71c7c4039993d1d029add109",
      "tree": "8196bd0651e4a5b7edefd952696f7e8d97dcfa27",
      "parents": [
        "c0e9ddd002f6084c29c26236d741d64d01713c15"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 26 13:27:15 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 26 13:27:15 2013 -0800"
      },
      "message": "libc: create sys/capability.h\n\nPer \"man capset\", sys/capability.h is the appropriate header file\nfor the capget / capset definition, not unistd.h. Fixed.\n\nAs a short term hack, continue to include sys/capability.h in\nunistd.h, until we can fix all the code which uses capget / capset.\n\nChange-Id: I6e7cf55955d761ca785a14c5e4b7a44125d8fc15\n"
    },
    {
      "commit": "1ad10a566e042676c95a0bdbf3cbc48e99ddafb2",
      "tree": "113ce6b3d9940da27f19e77d9234feeafa082671",
      "parents": [
        "8b4e8a937be2e7ac94e52d596813095ef16c9ec8"
      ],
      "author": {
        "name": "Irina Tirdea",
        "email": "irina.tirdea@intel.com",
        "time": "Wed Aug 29 11:48:35 2012 +0300"
      },
      "committer": {
        "name": "Irina Tirdea",
        "email": "irina.tirdea@intel.com",
        "time": "Mon Sep 03 01:38:34 2012 +0300"
      },
      "message": "Add getsid system call to bionic\n\nAdd getsid() system call to bionic for\nall architectures. This is needed for various tools\n(e.g. perf).\n\nAdding the getsid system call was done in 3 steps:\n() add getsid system call (function name and syscall\nnumber) to libc/SYSCALLS.TXT\n() generate all necessary headers by calling\nlibc/tools/gensyscalls.py. This patch is adding\nthe generated files since the build system\ndoes not call gensyscalls.py.\n() add the system call signature to libc/include/unistd.h\n\nChange-Id: Id69a257e13ec02e1a44085a6b217a3f19ab025b1\nSigned-off-by: Irina Tirdea \u003cirina.tirdea@intel.com\u003e\n"
    },
    {
      "commit": "f0ec06ba609a15cf9343aabd5b2486f9a8af9adb",
      "tree": "63612c38daa434ed182266d38a630914e6882933",
      "parents": [
        "e54cc75f5907684dfd7b1df89b39b4d8375e23a3"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Apr 13 14:56:25 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Apr 13 15:45:42 2012 -0700"
      },
      "message": "Add faccessat to syscall list\n\nChange-Id: I427a18811089cb280769ac8da3ed8adc00a65a10\n"
    },
    {
      "commit": "b083bb57f5cae6b1fa3fd756a2720a3de806da2b",
      "tree": "918c37c39340083d7737e56cea44903f54470555",
      "parents": [
        "9062a2369107eadb2b45973adc3246cba35640e6"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Thu May 26 02:46:41 2011 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Thu May 26 02:46:41 2011 +0200"
      },
      "message": "libc: Fix prctl() declaration.\n\nThis change fixes the prctl() declaration to match GLibc, and allow us\nto build gcc-4.6 for Android (among other things). Note that this does\nnot change the source and binary interfaces.\n\nChange-Id: I3900c957f0da8b3548cbe9da8c41d50099dc19d6\n"
    },
    {
      "commit": "95d751feacdb58d3fbc36f3f21a895a3ec2f065b",
      "tree": "fc598e3e60c32a6bb576e224d27f37905769f0e8",
      "parents": [
        "4a7f31fad74417696ce740b1f5c14e4de0740e33"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 16 16:47:14 2010 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 16 17:04:41 2010 +0100"
      },
      "message": "libc: Add ftruncate64 and improve 64-bit parameter syscall handling.\n\nThis patch improves the handling of 64-bit parameters in syscalls on ARM.\nThe ARM EABI mandates that 64-bit quantities be passed in even/odd register\npairs, which requires special treatment.\n\nThis allows us to simplify our implementations of pread() and pwrite()\nand remove the C stubs for pread64() and pwrite64().\n\nAlso add ftruncate64() to \u003cunistd.h\u003e\n\nChange-Id: I407e2fd223ba0093dd2d0b04c6152fadfc9ce3ef\n\nBug 3107933\n"
    },
    {
      "commit": "72e64e08697cc2b3d66397c8b6d34965dd2a7338",
      "tree": "8b2e1e6d6954232282b576d0ea1abfc42cf9b758",
      "parents": [
        "c1974ee144156233c9257aed4bd84a482ec5ffcb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Nov 24 13:10:49 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Nov 24 13:14:50 2010 -0800"
      },
      "message": "Add support for pread64/pwrite64\n\n64-bit pread() and pwrite() is needed for ZipFileRO to be able to read\nludicrously large ZIP files just in case someone is crazy enough to do\nit.\n\nAlso fix a license header that was apparently mangled.\n\nChange-Id: I6819ef8b36e46b63b40749c95717b1ecf9307033\n"
    },
    {
      "commit": "364462ea2ee025043a6a2d951961a95c20867e45",
      "tree": "b6b1169b58d2145dfa28343527a44c7ecaec85a3",
      "parents": [
        "8c447658415ffbeaeb12feb0c56bc892984eb420",
        "1aeeeae166920f871c1e4ecd960bb92dcaef0896"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Oct 11 18:59:30 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 11 18:59:30 2010 -0700"
      },
      "message": "am 1aeeeae1: am b8d2233e: Merge \"libc: tag missing functions in system headers.\" into gingerbread\n\nMerge commit \u00271aeeeae166920f871c1e4ecd960bb92dcaef0896\u0027\n\n* commit \u00271aeeeae166920f871c1e4ecd960bb92dcaef0896\u0027:\n  libc: tag missing functions in system headers.\n"
    },
    {
      "commit": "bb5581ad6eec40041dab4e961149f7a8a3a83497",
      "tree": "5e8c1e583da643c37143adff205c6d794a0850c5",
      "parents": [
        "af00228b705b53165c132a22b30c2d6cbb9acd13"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sat Oct 09 17:56:55 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sat Oct 09 17:56:55 2010 +0200"
      },
      "message": "libc: tag missing functions in system headers.\n\nThis matches recent changes in the NDK header.\nWe enclose missing functions in #if 0 .. #endif blocks\nwith a clear \"MISSING\" in comments in order to locate\nthem later.\n\nChange-Id: I87b3a62e777897e75c9243360fb0a82bcc53d9fb\n"
    },
    {
      "commit": "6f39e611f36738a9d3468357c3aac15b8227d13c",
      "tree": "d34a0b8df0d9d8ed78522c28962881e03cf382c6",
      "parents": [
        "25abeb155cc89ea88843e4d45c1cac433aed32a8",
        "914528cdc90dced0c07055d4d986e68adc8da60c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 28 12:48:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 12:48:15 2010 -0700"
      },
      "message": "am 914528cd: am 223ddfcf: Merge \"libc: Add missing pipe2() declaration and implementation.\" into gingerbread\n\nMerge commit \u0027914528cdc90dced0c07055d4d986e68adc8da60c\u0027\n\n* commit \u0027914528cdc90dced0c07055d4d986e68adc8da60c\u0027:\n  libc: Add missing pipe2() declaration and implementation.\n"
    },
    {
      "commit": "275cd48511daabe4591caa49c3ad0df34a6889ff",
      "tree": "7fa40917d92ff25cbfe6e4f4d4cbe01bd9af588e",
      "parents": [
        "b9e49ad56e5776ace7c6eab2e997d5b7acb16792"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Sep 27 17:33:08 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Sep 27 17:33:08 2010 +0200"
      },
      "message": "libc: Add missing pipe2() declaration and implementation.\n\nChange-Id: Iacb914bd6ac5adc60c5671e6fef680ede21f9b0c\n"
    },
    {
      "commit": "2304a0bf86f224efdd67e38f34c97f35c5cf3c56",
      "tree": "ce28314e9e002cf08826eeb721f3c19e1f8c33f8",
      "parents": [
        "caaf7ecd1c93e03b81bbe3fbf479969d0562de74"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Wed Aug 11 11:28:26 2010 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Wed Aug 11 11:28:26 2010 -0500"
      },
      "message": "Fix pwrite to take a const void* instead of void* for the buffer.\n\nChange-Id: I10b315946b8f8f7e34825410dfef37e0220edbee\n"
    },
    {
      "commit": "63673645c4da1cf97938d5018d7d373837563174",
      "tree": "adc1ed82a091c2d38b2682a3acbac00b12b46308",
      "parents": [
        "1a48b588c6de8ae43903768adf53b32545f69986"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Fri Aug 06 11:45:43 2010 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Fri Aug 06 11:47:29 2010 -0700"
      },
      "message": "libc: make lseek64 proto be glibc compatible (loff_t -\u003e off64_t)\n\nChange-Id: Ib79b99be9ca8d4b1f95ceeba416b6abc04187c3c\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "da3019b55305ce51b1b483d8727641e791ce0941",
      "tree": "c9bd76c757d8689bc2367bb0fdf318fbe3c7d060",
      "parents": [
        "ecb6d4133477fef90c2fa23a40637d3c62681ee0"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 11 14:37:34 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 11 14:40:02 2010 -0700"
      },
      "message": "libc: add missing truncate() declaration\n\nChange-Id: Icb3601bbc9365b75b05ff443a39192f9cd3cbfb7\n"
    },
    {
      "commit": "fc10b24accd082fb33c8f92ff8b92481c22fe3dc",
      "tree": "edadb43992d3ff9334ff7e1f257f13073d25ebd6",
      "parents": [
        "8c59d96e243ba1a05d7d9ab7a14d1a00e20bad4a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 13 17:48:34 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 16:52:35 2010 -0800"
      },
      "message": "Add implementation of fdprintf, clearenv, and stubs for ttyname_r, *usershell\n\nChange-Id:\tI5fe7e8b6ee5edbb49e707c3b6737a58563781fa3\n"
    },
    {
      "commit": "99d7907611725e23b6fad3ae7acff4926504e687",
      "tree": "74eb2d8ded9708c4768aab30022cc6307bc39c1e",
      "parents": [
        "278d960aae1b2f0b8a3fa0c8056ba4aded96b133"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 14 17:07:19 2009 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 14 17:07:19 2009 -0800"
      },
      "message": "Fix usleep(3) return type to be POSIX-compliant.\n\nPOSIX usleep(3) returns 0 on successful completion, -1 otherwise:\n  http://www.opengroup.org/onlinepubs/007908799/xsh/usleep.html\n\nThis was found by an external user porting native code:\n  http://groups.google.com/group/android-porting/browse_thread/thread/674848f001db0292\n"
    },
    {
      "commit": "cf399f77b83b03cd83da784aa27ef1df71cca78d",
      "tree": "f29e31bbe3fdb1b980862c1a651f42e6f586dc24",
      "parents": [
        "44e55ba8ebd059206bedefba18708af4774db671"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 05 13:19:05 2009 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 05 13:19:05 2009 -0700"
      },
      "message": "Add a GNU-compatible TEMP_FAILURE_RETRY.\n\nI wondered about #ifndef, but the other macros in here don\u0027t use it.\n\nI also wondered about __GNUC__, since this macro uses two GCC extensions.\n"
    },
    {
      "commit": "1dc9e472e19acfe6dc7f41e429236e7eef7ceda1",
      "tree": "3be0c520fae17689bbf5584e1136fb820caef26f",
      "parents": [
        "1767f908af327fa388b1c66883760ad851267013"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "1767f908af327fa388b1c66883760ad851267013",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "a799b53f10e5a6fd51fef4436cfb7ec99836a516"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "9f65adf2ba3bb15feb8b7a7b3eef788df3fd270e",
      "tree": "c06064fc9022ef63a40f83a91292103784f49780",
      "parents": [
        "d37527501c85edcb3a6a7c8a0b6297d52d434897"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:43:56 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:43:56 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@130745\n"
    },
    {
      "commit": "4e468ed2eb86a2406e14f1eca82072ee501d05fd",
      "tree": "4e05b3c66eef86531e464521a3bf96a1864d4bf5",
      "parents": [
        "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349",
      "tree": "defd1cc07d16ad2f3b21154114e092d11c94c5bb",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
