)]}'
{
  "log": [
    {
      "commit": "11f715c62ee1464065560a2b78f0c20995e17e3b",
      "tree": "7c6c6da9f06016f8423eb1bbdffe4aeff97d1734",
      "parents": [
        "ef82c28db63c6f333edb7e9d7e7ad1baa656343c"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jun 18 09:41:33 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jun 18 13:19:22 2014 -0700"
      },
      "message": "Hide __atexit and remove __atexit_invalid.\n\nBug: 11156955\nChange-Id: I8c72edee8ecb92b75a282384277253bae19f7455\n"
    },
    {
      "commit": "623b0d05bd924e7fa3c155492695123c87c3a2b1",
      "tree": "8fa47b2bf2fb7abe4b168fb1009108cdd762f6e3",
      "parents": [
        "089c7c921786ff6255526feec96552fc16ada7f4"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed May 14 23:11:05 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu May 15 13:05:21 2014 -0700"
      },
      "message": "Register _cleanup function with atexit\n\n * Register cleanup function with atexit\n   instead of calling it explicitly on\n   exit()\n * abort() no longer calls _cleanup:\n   Flushing stdio buffers on abort is no\n   longer required by POSIX.\n * dlmalloc no longer need to reset cleanup\n   (see above)\n * Upstream findfp.c makebuf.c setvbuf.cexit.c\n   to openbsd versions.\n\nBug: 14415367\nChange-Id: I277058852485a9d3dbb13e5c232db5f9948d78ac\n"
    },
    {
      "commit": "6b56691a678420477595a531b2d2829980eb51c0",
      "tree": "fc538a02922495f757b2d9efdebcfceba0bf0279",
      "parents": [
        "9fb53dd4dbaa7633c234d9da8417827fa3d3c32f"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Apr 29 08:41:29 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon May 05 11:36:57 2014 -0700"
      },
      "message": "Fixes for __cxa_finalize\n\n  * Ability to register atexit handler from atexit handler\n  * Correct way to handle both forms of atexit handler\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d66595\nBug: 4998315\nChange-Id: I39529afaef97b6e1469c21389d54c0d7d175da28\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": "f3c73901cb5ca4de2651151cf2c65b31a729466e",
      "tree": "0a5f3ba73342782ee188f914c8f60f337c2af7d6",
      "parents": [
        "0e351e4011bc98cacc3e37292bfb0e86c3a3bb5b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 18 10:29:16 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 18 10:29:16 2014 -0700"
      },
      "message": "Upgrade our \u003cctype.h\u003e implementation to OpenBSD head.\n\nAdding the perfunctory \u003cctype.h\u003e tests showed that we\u0027d accidentally\ndropped several symbols. This puts everything back in its proper place\nand switches us to upstream head at the same time.\n\nChange-Id: Ib527ad280c9baded81e667fa598698526d93e66f\n"
    },
    {
      "commit": "0e351e4011bc98cacc3e37292bfb0e86c3a3bb5b",
      "tree": "feaca0cf7bb5138cd80d667bff8cad402006bb77",
      "parents": [
        "857b1796738460f5f3cf16bb3c1e156e88171143",
        "779585fb26f6ee25833e3bf1bb86e8578a9289f7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 18 15:52:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 15:52:59 2014 +0000"
      },
      "message": "Merge \"Changes our ctype identifiers to match the BSDs\""
    },
    {
      "commit": "779585fb26f6ee25833e3bf1bb86e8578a9289f7",
      "tree": "a6393793b57a2a2cc8ee78b56bda3a6b1041f773",
      "parents": [
        "073ea10156d62087a67a066527c92a1dbb92d650"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Apr 15 15:44:02 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 18 08:48:34 2014 -0700"
      },
      "message": "Changes our ctype identifiers to match the BSDs\n\nThis is to make it possible to adopt the BSDs\u0027 implementations for a few locale\nAPIs in libc++ rather than writing our own, nearly identical, code.\n\nChange-Id: I482acd4ece83aa4ec9eb0c7acf48f3686794bcc3\n"
    },
    {
      "commit": "4bd97cee28dd815fff54fc97560be60d566c1fa5",
      "tree": "f337de53e57aee78ad4e574c652fdeee679630b6",
      "parents": [
        "26c2bb84dd5cbd9ab43a5f0ebc2635bc3b64be3d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 10 17:48:14 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 16 15:15:52 2014 -0700"
      },
      "message": "Switch to gdtoa.\n\nThis gives us a real strtold for LP64 and fixes various LP64\nbugs.\n\nBug: 13563801\nChange-Id: I277858d718ee746e136b6b6308a495ba50dfa488\n"
    },
    {
      "commit": "5363a45f2b6d4eeb054710d0886bbadea8a15273",
      "tree": "907bc848885d648d631a41c768ca60b7f69bbcdf",
      "parents": [
        "5acd2d40052c55255a346167e504afb884eeb3af"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 08 14:34:12 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 08 14:34:12 2014 -0700"
      },
      "message": "Clean up localeconv(3).\n\nThe OpenBSD doesn\u0027t support C99, and the extent to which we support\nlocales is trivial, so just do it ourselves.\n\nChange-Id: If0a06e627ecc593f7b8ea3e9389365782e49b00e\n"
    },
    {
      "commit": "50282f72bb9be6b49212a3978faec70786e9f97f",
      "tree": "fd30ad0ee980643c3f3ae923fa6d17921d15f747",
      "parents": [
        "a58b3f78e14500e7b10fc845ef0a6a8309664663"
      ],
      "author": {
        "name": "Pavel Chupin",
        "email": "pavel.v.chupin@intel.com",
        "time": "Tue Mar 25 13:43:04 2014 +0400"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Mar 28 11:15:03 2014 +0000"
      },
      "message": "Add lconv declaration and localeconv(3)\n\nlconv is taken from ndk/sources/android/support/include/locale.h and\nmatches\nbsd/glibc upstream.\nKeep old declaration for 32-bits for compatibility.\nlocaleconv.c and deps are taken from openbsd upstream.\nChanged strtod.c accordingly.\n\nChange-Id: I9fcc4d15f5674d192950d80edf26f36006cd31b4\nSigned-off-by: Pavel Chupin \u003cpavel.v.chupin@intel.com\u003e\n"
    },
    {
      "commit": "205c7887add8b8c85434c35158138f16265beb28",
      "tree": "7220cc9b0d62a236ae7e248acd053195cb1a7575",
      "parents": [
        "d16100c1fb8a39215497243ecb12176e9688ef77"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 13 16:17:43 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 13 16:17:43 2014 -0700"
      },
      "message": "Clean up reentrancy cruft.\n\nThe DNS copy of reentrant.h was unused, so remove it.\n\nThe strtod implementation can use the upstream-netbsd reentrant.h and\nget a little closer to what was then upstream. (It\u0027s since been replaced\nby gdtoa, and we\u0027ll have to follow at some point, but for now this doesn\u0027t\nmake anything any worse.)\n\nANDROID_CHANGES is (now) only used in the DNS code, so push the -D\ndown.\n\nThe \u003clocale.h\u003e change prevents an LP32 hack from leaking into LP64.\n\nChange-Id: Idf30b98a59d7ca8f7c6cd6d07020b512057911ef\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": "652289942d0d2543af90c8af9c04d80a2edb481a",
      "tree": "3ea6d3332a690d66cb8fc7ea9efca89b1ce678a5",
      "parents": [
        "ae5c3dd73844e6a9e1a14dbf893eab5142902f18"
      ],
      "author": {
        "name": "Pawit Pornkitprasan",
        "email": "p.pawit@gmail.com",
        "time": "Thu Nov 14 23:50:45 2013 +0700"
      },
      "committer": {
        "name": "Pawit Pornkitprasan",
        "email": "p.pawit@gmail.com",
        "time": "Tue Nov 19 09:49:17 2013 +0700"
      },
      "message": "bionic: call stdio cleanup on exit\n\nAs of 61e699a133a4807fe878a6cb0d7190d7c96e21f8, stdio clean up\nfunctions are no longer registered in atexit and must be called\nmanually via __cleanup.\n\nThe issue this fixes is some static binaries linked against bionic\ncannot output properly when piped or redirected because the buffer\nis not flushed before closing.\n\nThis is done by pulling in exit.c (and other dependencies) from\nnetbsd.\n\nChange-Id: I193e54a6d08900f291550029fe75ce76394d9e22\n"
    },
    {
      "commit": "65ca282ecdcaa8b767256f11c7bbb7b3518d96e7",
      "tree": "a0005b63caf9fbda9a3a00720b8f9a474b09efab",
      "parents": [
        "830de5cb30ba163f9c34fc87f624d6604adc3232"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Tue Oct 08 19:32:36 2013 +0100"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 28 16:24:51 2013 -0700"
      },
      "message": "AArch64: Add support for AArch64 to stdlib/strtod.c\n\nThis patch adds support for AArch64 to strtod.c definitions.\n\nChange-Id: I9491c4371d921c00e73ae169877a9a71225731fb\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "eb847bc8666842a3cfc9c06e8458ad1abebebaf0",
      "tree": "15e070fb706ba7599d5f402a8f934a7399541a6a",
      "parents": [
        "0c17099a71cb5d1b36b7aab66fd7341b3fc9106d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 09 15:50:50 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 09 16:00:17 2013 -0700"
      },
      "message": "Fix x86_64 build, clean up intermediate libraries.\n\nThe x86_64 build was failing because clone.S had a call to __thread_entry which\nwas being added to a different intermediate .a on the way to making libc.so,\nand the linker couldn\u0027t guarantee statically that such a relocation would be\npossible.\n\n  ld: error: out/target/product/generic_x86_64/obj/STATIC_LIBRARIES/libc_common_intermediates/libc_common.a(clone.o): requires dynamic R_X86_64_PC32 reloc against \u0027__thread_entry\u0027 which may overflow at runtime; recompile with -fPIC\n\nThis patch addresses that by ensuring that the caller and callee end up in the\nsame intermediate .a. While I\u0027m here, I\u0027ve tried to clean up some of the mess\nthat led to this situation too. In particular, this removes libc/private/ from\nthe default include path (except for the DNS code), and splits out the DNS\ncode into its own library (since it\u0027s a weird special case of upstream NetBSD\ncode that\u0027s diverged so heavily it\u0027s unlikely ever to get back in sync).\n\nThere\u0027s more cleanup of the DNS situation possible, but this is definitely a\nstep in the right direction, and it\u0027s more than enough to get x86_64 building\ncleanly.\n\nChange-Id: I00425a7245b7a2573df16cc38798187d0729e7c4\n"
    },
    {
      "commit": "5e9b20f7212c23110693a4bd1f122ccac3fece80",
      "tree": "0403b176141a8c3ce111dbe04301c96dfd8e6845",
      "parents": [
        "c933493ac28c40558f369d175da738ba601d8499"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 13 14:30:59 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 13 14:30:59 2013 -0700"
      },
      "message": "Make ctype.h a little less unhygienic.\n\nThis caused trouble for stlport.\n\nChange-Id: Id40787c5a2b7a3a4e12fb557efe549778a01cbbd\n"
    },
    {
      "commit": "61e699a133a4807fe878a6cb0d7190d7c96e21f8",
      "tree": "12dd46e7f8e5f7172a3fe0fd9075fa929cbb1001",
      "parents": [
        "5cde15eb17f4ddc0949c0cbd38a46e6c0bad7019"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 12 14:05:46 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 12 14:14:53 2013 -0700"
      },
      "message": "Clean up abort.\n\n* A dlmalloc usage error shouldn\u0027t call abort(3) because we want to\n  cause a SIGSEGV by writing the address dlmalloc didn\u0027t like to an\n  address the kernel won\u0027t like, so that debuggerd will dump the\n  memory around the address that upset dlmalloc.\n\n* Switch to the simpler FreeBSD/NetBSD style of registering stdio\n  cleanup. Hopefully this will let us simplify more of the stdio\n  implementation.\n\n* Clear the stdio cleanup handler before we abort because of a dlmalloc\n  corruption error. This fixes the reported bug, where we\u0027d hang inside\n  dlmalloc because the stdio cleanup reentered dlmalloc.\n\nBug: 9301265\nChange-Id: Ief31b389455d6876e5a68f0f5429567d37277dbc\n"
    },
    {
      "commit": "0b25f633a23e575c8a1f9547d1af5dc5b0157a1c",
      "tree": "9528feda9457254ba485c9576643f2ed1a18da70",
      "parents": [
        "ed36d95fac5881f78a601e2932f51edfd27c6ba6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 11 18:08:34 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 11 18:08:34 2013 -0700"
      },
      "message": "Switch to current FreeBSD qsort.\n\nChange-Id: Ic46cd0b663dc5fa78c99dd38db0bfe849a25e789\n"
    },
    {
      "commit": "61ba9b526bf62a5a6ab717497d34e2f569fc0116",
      "tree": "a767ff99e72327a460b49ca20d00aae45f041955",
      "parents": [
        "7f67f78ad5c3da689997edd8fbb5afb6e5fc6355"
      ],
      "author": {
        "name": "Chirayu Desai",
        "email": "cdesai@cyanogenmod.org",
        "time": "Sat Feb 16 21:23:27 2013 +0530"
      },
      "committer": {
        "name": "Chirayu Desai",
        "email": "cdesai@cyanogenmod.org",
        "time": "Sat Feb 16 21:23:27 2013 +0530"
      },
      "message": "stdlib: atexit: include \u003csys/cdefs.h\u003e\n\nChange-Id: Ib9eb167710a021e0a2b5c77a06a9338cdc748e6d\n"
    },
    {
      "commit": "42b2c6a5eed5e4ef35315b8cd32d1355f12a69b6",
      "tree": "0fb55a369b620ef79cfa103f67a5184f067dadeb",
      "parents": [
        "d32fdbaf03f688497adbec885e85c0a69f7a4542"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 07 10:14:39 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 07 11:44:21 2013 -0800"
      },
      "message": "Clean up the argc/argv/envp/auxv handling.\n\nThere\u0027s now only one place where we deal with this stuff, it only needs to\nbe parsed once by the dynamic linker (rather than by each recipient), and it\u0027s\nnow easier for us to get hold of auxv data early on.\n\nChange-Id: I6314224257c736547aac2e2a650e66f2ea53bef5\n"
    },
    {
      "commit": "ab44f52202878cdf2bf22457aeae33ec24089556",
      "tree": "2ae72963003e3ada4cbb19acd73475b4164f515a",
      "parents": [
        "e3dbe1e3820d6ab0370566055e9cdc593c5cce48"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 16:05:09 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 16:05:09 2012 -0700"
      },
      "message": "More upstream NetBSD upgrades.\n\nChange-Id: Idb781d37de3b05585271d7d258ecffd5ba87d0b8\n"
    },
    {
      "commit": "a89864a20b818621a1da10e88fda815334062f9f",
      "tree": "7ebc6e1cf123c0f9d8ab50e775039e183990110b",
      "parents": [
        "d3bf954e9ffbdee8d732ccb6ad6143dc31b605fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 17:35:49 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 17:35:49 2012 -0700"
      },
      "message": "Move non-upstream code into the libc/bionic directory.\n\nI\u0027ll need at least one more pass, because there\u0027s some upstream code\nlurking in libc/bionic, but this is still a step in the right direction.\n\nChange-Id: I55927315972da8327ae01c5240ed587db17e8462\n"
    },
    {
      "commit": "31a1060a5a75d4f2aa3c3a5a7b948eb512d53387",
      "tree": "7b7445b27b4503c07d53c1fff9173b7dacf167b8",
      "parents": [
        "cd195eba1f9235b9b9d4dda70142d927b1b9802d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 14:14:21 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 14:14:21 2012 -0700"
      },
      "message": "Upgrade seed48 too.\n\nMissed this in 774c7f54ff375d71106283d42779b0cc5f238f87.\n\nChange-Id: Ic24fd67f003d0e2d192cfb08f96f63024ca817eb\n"
    },
    {
      "commit": "774c7f54ff375d71106283d42779b0cc5f238f87",
      "tree": "3dc911f915d8d120089ca5afd60bb84b6d51e71e",
      "parents": [
        "5b6346f6d5dca4022fe0044dd2807c19ac596788"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 13:11:03 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 01 13:53:41 2012 -0700"
      },
      "message": "Upgrade to the current NetBSD rand implementation.\n\nAlso add basic unit tests.\n\nChange-Id: I7fc7ef61d47c1e8fdf8b8eff67a635220c3afd56\n"
    },
    {
      "commit": "f3cfcd869ded41d25c1f4f4e48e7c374a64f9583",
      "tree": "8024ef0103694c92f553fae4221fc220e1a12b00",
      "parents": [
        "9dfaa63a1c0d1b8e75dd9d7077a8103a19821fa9"
      ],
      "author": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Tue Aug 21 14:13:50 2012 +0200"
      },
      "committer": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Tue Aug 28 10:27:02 2012 +0200"
      },
      "message": "ARM: make CRT_LEGACY_WORKAROUND work as intended\n\nTo properly support legacy ARM shared libraries, libc.so needs\nto export the symbols __dso_handle and atexit, even though\nthese are now supplied by the crt startup code.\n\nThis patch reshuffles the existing CRT_LEGACY_WORKAROUND\nconditionally compiled code slightly so it works as the\noriginal author likely intended.\n\nChange-Id: Id6c0e94dc65b7928324a5f0bad7eba6eb2f464b9\nSigned-off-by: Ard Biesheuvel \u003card.biesheuvel@gmail.com\u003e\n"
    },
    {
      "commit": "2270dfa0c418ab06e89412ea7b4ffe650490bcc9",
      "tree": "533d23fa27577c4b6b34acb9b851e4ec1caea0b6",
      "parents": [
        "643e5722338d303c0b5aac41107432d8fde4081c"
      ],
      "author": {
        "name": "Srinavasa Nagaraju",
        "email": "srinavasa.x.nagaraju@sonyericsson.com",
        "time": "Tue Feb 28 12:08:22 2012 +0900"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Tue Jul 31 12:30:28 2012 +0200"
      },
      "message": "fix __cxa_finalize() implementation to be thread safe.\n\n__cxa_finalize() modifies the access permissions of __atexit\nglobal variable without acquiring  _ATEXIT_LOCK(). Fix it prevent\nany possible races.\n\nChange-Id: I11939d0ebcbf6f360c14163222d40a449d96948e\n"
    },
    {
      "commit": "52d6233296ec84eb5b58fcbf7bc9da4b96a943aa",
      "tree": "b0186ce62c2aedc309501f0bfc641a291d91d3e6",
      "parents": [
        "a7916509a3446afd0e863b03e4204cee73e81555"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 27 17:40:29 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 27 17:43:38 2012 -0700"
      },
      "message": "Report errors to the log, not just stderr.\n\nIn particular this affects assert(3) and __cxa_pure_virtual, both of\nwhich have managed to confuse people this week by apparently aborting\nwithout reason. (Because stderr goes nowhere, normally.)\n\nBug: 6852995\nBug: 6840813\nChange-Id: I7f5d17d5ddda439e217b7932096702dc013b9142\n"
    },
    {
      "commit": "b489666086265eb756f11fd224137c7e3a03a707",
      "tree": "f6eaf3b51b9edc6e81033ee4b5d089815a25ba20",
      "parents": [
        "d0909a874a0b4e2de1468021942c75712a4463fa",
        "1c0a0381dfb3648ffadef9537ec9383d63d62473"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Thu Jun 23 05:28:13 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 23 05:28:13 2011 -0700"
      },
      "message": "am 1c0a0381: Merge \"Enable functional DSO object destruction\"\n\n* commit \u00271c0a0381dfb3648ffadef9537ec9383d63d62473\u0027:\n  Enable functional DSO object destruction\n"
    },
    {
      "commit": "39640842823ba4cd42bd11514c0da39aa939519f",
      "tree": "c2cddf3319145716533bc9d12ad1d6bb5c047f59",
      "parents": [
        "4d9b75a9b08c19cef81b22f889edba61257fb356"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Mon Jun 20 10:29:50 2011 -0700"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Mon Jun 20 14:44:44 2011 -0700"
      },
      "message": "Enable functional DSO object destruction\n\nUnfortunately, legacy .so files for ARM don\u0027t have a correct crtbegin file.\nConsequently, we have to grandfather the old __dso_handle behaviour.\nAdd some ifdefs for ARM to allow it to use the old code until we can work\nout a transition.\n\nChange-Id: I6a28f368267d792c94e1d985d8344023bc632f6f\nAuthor: H.J. Lu \u003chongjiu.lu@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "144a5d3c86acdebeb3af53c03325a85d44b06679",
      "tree": "d074badefa119906bef5c39c127cc0e5a3d8a459",
      "parents": [
        "015610e64eb728dd031c6b1730b70460d9d298b8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Jan 09 09:50:10 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 17 11:32:11 2011 -0800"
      },
      "message": "Bug 3330205 Thread safety for bignum powers of 5\n\nChange-Id: I739a06f9037a9fb643276f61601f0f3e192581b8\n"
    },
    {
      "commit": "0546fd7ee0803d958e9aa722ada82fb5c0064db0",
      "tree": "77a1d1162d3da9f960fa08c83098c64c24c32afa",
      "parents": [
        "be5755969d70668bbab0e0c0ed75ebd867189723"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Dec 20 16:03:07 2010 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Dec 20 16:03:07 2010 +0100"
      },
      "message": "libc: remove obsolete sha1hash.c source file\n\nThe source file is not part of the C library build, so the Android.mk\nis unaffected. In other words, this source file was never compiled.\n\nChange-Id: Idec3d5b6ec30dc9ee38296d12dc6e522997df29a\n"
    },
    {
      "commit": "51ae972502b2a67f2fddf1cd4b2b46b4299fda99",
      "tree": "bd4613690dcbbd3dd0ebb2a87efe422e2a4daf1e",
      "parents": [
        "fd1cf2c42ec2bf057908328bdab77c978607bb46",
        "958214aa998d9378e7d70c7c08ffab4c5f9d3fde"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Oct 21 09:54:49 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 09:54:49 2010 -0700"
      },
      "message": "am 958214aa: am 8ad63d74: Merge \"stdlib: strtod: Hide internal symbol __dtoa\"\n\nMerge commit \u0027958214aa998d9378e7d70c7c08ffab4c5f9d3fde\u0027\n\n* commit \u0027958214aa998d9378e7d70c7c08ffab4c5f9d3fde\u0027:\n  stdlib: strtod: Hide internal symbol __dtoa\n"
    },
    {
      "commit": "958214aa998d9378e7d70c7c08ffab4c5f9d3fde",
      "tree": "ea6254ce728beee5ada38deb2cffb76de19aea8f",
      "parents": [
        "1a6939d27b1cc53d506d6583fa2bc2d90c9c7fc4",
        "8ad63d745d4ec1edea0bbd04fd0644983ad77bf5"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Oct 19 15:22:22 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 19 15:22:22 2010 -0700"
      },
      "message": "am 8ad63d74: Merge \"stdlib: strtod: Hide internal symbol __dtoa\"\n\nMerge commit \u00278ad63d745d4ec1edea0bbd04fd0644983ad77bf5\u0027 into gingerbread-plus-aosp\n\n* commit \u00278ad63d745d4ec1edea0bbd04fd0644983ad77bf5\u0027:\n  stdlib: strtod: Hide internal symbol __dtoa\n"
    },
    {
      "commit": "cec75a765fbadc49668b0f72d885233cc95a0db7",
      "tree": "e29d6b480baba14f7e33c0de0350860c497899e7",
      "parents": [
        "f67e5211e045af1b12f646448a5a35f96ba5e8f1"
      ],
      "author": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Fri Oct 15 01:35:08 2010 +0800"
      },
      "committer": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Fri Oct 15 01:39:27 2010 +0800"
      },
      "message": "stdlib: strtod: Hide internal symbol __dtoa\n\nChange-Id: Iaaec7ea4d04c859fe98ad3331fd71e7d000c826b\n"
    },
    {
      "commit": "cb43ffeb10e7276714df5ccda304e14a15430e5f",
      "tree": "bcdb6199e028ab9cb704b403b882246eb28ffbd7",
      "parents": [
        "55cb28032df7ca0febaef54086679cac243761c6",
        "cb0f5ed8111d4305cf6798aefdb4f9623570c83a"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 23 12:41:50 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 23 12:41:50 2010 -0700"
      },
      "message": "am cb0f5ed8: am 50ace4fe: Remove compiler warnings when building Bionic.\n\nMerge commit \u0027cb0f5ed8111d4305cf6798aefdb4f9623570c83a\u0027\n\n* commit \u0027cb0f5ed8111d4305cf6798aefdb4f9623570c83a\u0027:\n  Remove compiler warnings when building Bionic.\n"
    },
    {
      "commit": "50ace4fec5e8cb5afcbc656a4556fa528adfd760",
      "tree": "04647e039a457f69ba48a8301bebdd605fda7fca",
      "parents": [
        "6a9b888d7c4b246f6f66360789c72b754ff85021"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 16 16:36:41 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 22 17:51:41 2010 -0700"
      },
      "message": "Remove compiler warnings when building Bionic.\n\nAlso add missing declarations to misc. functions.\nFix clearerr() implementation (previous was broken).\nHandle feature test macros like _POSIX_C_SOURCE properly.\n\nChange-Id: Icdc973a6b9d550a166fc2545f727ea837fe800c4\n"
    },
    {
      "commit": "70465614e14a87f547cdd1b82b0b270b87d215c1",
      "tree": "9768fde6180a592e54da1a27c75274e710e48240",
      "parents": [
        "c0141a2bdd43015bb0b9c20a9c04f00ce3a0d2b2"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Wed Jun 16 14:51:52 2010 +0100"
      },
      "committer": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Wed Jun 16 14:51:52 2010 +0100"
      },
      "message": "Just link fixes for b 2763938.\n\nAdded wcsxfrm.c and wmemcmp.c to the src files in Android.mk and removed wcsxfrm from wchar.c\n\nChange-Id: Iab9b45cf78c27880d2941c360340a7af6b8964fe\n"
    },
    {
      "commit": "3527fd6f0df794207215790321824b7844cc712d",
      "tree": "bf295d17cdd7dfccd75ec314e02f93d3e1cd125a",
      "parents": [
        "da3019b55305ce51b1b483d8727641e791ce0941"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 14 17:18:35 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 15 07:04:41 2010 -0700"
      },
      "message": "wchar.h: improve wchar_t support in Bionic\n\nChange-Id: Iffd41046fd0933c66542abf7627a1569522dfcb2\n"
    },
    {
      "commit": "f450fa5f991af3c0814f96265cb3b2aafdce2309",
      "tree": "1f0e549863606fb8e11215061ad5dde0f37b50cd",
      "parents": [
        "5ef5272be985dfdeafa86077c306f6b64d334240",
        "0be7eda75a14815aaa3e5cd5d5d4e5d25dc35d1c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 03 15:33:05 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 03 15:33:05 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: If02d33af51017dbd85e91c79ac2e848eda6cf253\n"
    },
    {
      "commit": "e734769276045c0cb89d4620fdd4ef35a0e6c335",
      "tree": "8b7cdc163f1dce70efb9f5221e6e0b845a07c368",
      "parents": [
        "1698d9ebfc7e27271852a1fdf305a2ac37b3ebe4"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 18:32:52 2010 -0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 29 07:29:06 2010 -0700"
      },
      "message": "improve readability of stdlib: fix indentation and remove trailing spaces\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n\nChange-Id: I7dd90a0816b5376ffc1de4499d56935e0bd574a1\n"
    },
    {
      "commit": "1d168621a524e3937cd4e2a1cdec18a230b89a35",
      "tree": "313c8fd8c40432a78b6b99bc4c66175e56be4fef",
      "parents": [
        "d04672513351af4eb302692e0f39fd5bd17191cb",
        "acdb052030d6e537e51d8b42e07b2a9e71e6ee42"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 31 14:24:25 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 31 14:24:25 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I950e9aca87cbb0c35099b1d53cff6378bd0f26f4\n"
    },
    {
      "commit": "acdb052030d6e537e51d8b42e07b2a9e71e6ee42",
      "tree": "c42e974950bbe7d89eac29f62381d8d7e759f69b",
      "parents": [
        "4ad72f89b12fe0157074a253190f6aa2cbfe15ac"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sun Mar 28 21:18:56 2010 -0300"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sun Mar 28 21:18:56 2010 -0300"
      },
      "message": "stdlib: optimize bsearch()\n\n... by checking most probable condition first (elements do differ)\n\nChange-Id: I424eab9c32a6d9eb82b686ca04025ec8c9097035\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "8132626b71b319c71c7c4710f0c57c417badf8c0",
      "tree": "7059fd80bf872989900e78aff21f6671d1463812",
      "parents": [
        "92e712f60dae8f099004c439291362efd02f6889"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 04 11:51:42 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Mar 09 15:27:50 2010 -0800"
      },
      "message": "Fix strtod security bug.\n\nTo avoid introducing NULL checks everytime a Bigint computation\nis performed, introduce a special value (BIGINT_INVALID) and only\ncheck for it when absolutely needed (which means when the code\nneeds to access the Bigint\u0027s internal structure fields).\n\nChange-Id: Ie3954523b0985b6a8cb62340802d8dcf63cbf16f\n"
    },
    {
      "commit": "278d960aae1b2f0b8a3fa0c8056ba4aded96b133",
      "tree": "0d71be143a13f28587a96cf4ec62a39293223815",
      "parents": [
        "44358b9fed375e7f452b22380e100bc0b536fea2",
        "f197147a787d7415e6e0a1bad15566836c55befb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 04 04:31:23 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:31:23 2009 -0800"
      },
      "message": "am f197147a: am ca07064c: am 5f53a182: Revert \"Add qsort_r() implementation to the C library.\"\n\nMerge commit \u0027f197147a787d7415e6e0a1bad15566836c55befb\u0027\n\n* commit \u0027f197147a787d7415e6e0a1bad15566836c55befb\u0027:\n  Revert \"Add qsort_r() implementation to the C library.\"\n"
    },
    {
      "commit": "44358b9fed375e7f452b22380e100bc0b536fea2",
      "tree": "f2a59fb57a020c0489accdaff63d59cce1d2cd48",
      "parents": [
        "4cf30fb534df6a87e94966b3beb4979e4b4ed9b7",
        "be71c8142d4225dd9af4742ec050f30fcbc2aa5e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Dec 04 04:29:36 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:29:36 2009 -0800"
      },
      "message": "am be71c814: am 20b3097d: am 754c178a: Add qsort_r() implementation to the C library.\n\nMerge commit \u0027be71c8142d4225dd9af4742ec050f30fcbc2aa5e\u0027\n\n* commit \u0027be71c8142d4225dd9af4742ec050f30fcbc2aa5e\u0027:\n  Add qsort_r() implementation to the C library.\n"
    },
    {
      "commit": "5f53a18204ec991f5a77872806eeaa185936aa8c",
      "tree": "72403af0ef4438c5d8974622bb9b98602879a7d8",
      "parents": [
        "754c178ae551aedcbbfd3bfd1c1c3b710d9ad989"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 03 16:14:40 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 03 16:14:40 2009 -0800"
      },
      "message": "Revert \"Add qsort_r() implementation to the C library.\"\n\nThis reverts commit 754c178ae551aedcbbfd3bfd1c1c3b710d9ad989.\n\nTurns out we don\u0027t need it afterall (needed a stable sort anyways).\nSo, we\u0027ll make that change in the dev branch instead.\n"
    },
    {
      "commit": "754c178ae551aedcbbfd3bfd1c1c3b710d9ad989",
      "tree": "8dc0298a0c8bcbd93b92668e7b888a608e26d229",
      "parents": [
        "e1e684920f3bea04f7cccee9f2d7ecd8b9a1ba47"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 02 17:38:41 2009 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 03 11:40:15 2009 -0800"
      },
      "message": "Add qsort_r() implementation to the C library.\n\nNOTE: This replaces qsort.c with the FreeBSD version. While\n      the patch changes the source, it should not alter the\n      implementation that should use the exact same algorithm.\n"
    },
    {
      "commit": "03c643b493d0d6e4385fe5a33d33d2cb945493d2",
      "tree": "409dfcce50223b11168fb23383bfb9618ab65878",
      "parents": [
        "b152dde4cafffb3b37ca60c589f71110ca988c79"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Nov 10 12:15:33 2009 -0800"
      },
      "committer": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Nov 10 12:15:33 2009 -0800"
      },
      "message": "Add stdlib functions mbstowcs() and wcstombs().\n\nAs with the other wchar functions in Bionic, these are really\nminimally functional stubs.\n\nChange-Id: I805bc5642e7bc22d9d730cfc18f9fb4a5f164416\n"
    },
    {
      "commit": "0ba91ed3ca9e7340a2c55303034c3378967e2327",
      "tree": "a0d9e37c871decea29efca95bd0b6c292b4bfa93",
      "parents": [
        "8169573c8744ee3a484ea74bd5e06a8a4f708e37"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 20 11:42:52 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 20 11:42:52 2009 +0200"
      },
      "message": "Fix __eabi_atexit() implementation, as well as a bug in the BSD-originated __cxa_finalize() implementation\nThis patch uses \"#if ANDROID\" instead of \"#if 1\" in the __cxa_finalize() fix\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": "d37527501c85edcb3a6a7c8a0b6297d52d434897",
      "tree": "f005d945ce90569b8e63cf42294ab42dddab52c2",
      "parents": [
        "e5cc1f386b167b9f7bfdebc7219e89aa9b71e4b2"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:55 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:55 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@127101\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"
    }
  ]
}
