)]}'
{
  "log": [
    {
      "commit": "88f06cd84a70f8a5212cb03272ec2c7cf0017afa",
      "tree": "4ff0a88177cd5fb2ca9c0e6df9a331cea7ecad1c",
      "parents": [
        "ee7b077abf1d99503b986489ad93374a057cb354"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 18 17:13:41 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 18 17:13:41 2010 -0700"
      },
      "message": "Use private futexes for pthread_mutex_t.\n\nThis does not change the implementation of conditional variables\nsince we\u0027re waiting for other system components to properly use\npthread_condattr_init/setpshared before that.\n\nAlso remove an obsolete x86 source file.\n\nChange-Id: Ia3e3fbac35b87a534fb04d4381c3c66b975bc8f7\n"
    },
    {
      "commit": "ee7b077abf1d99503b986489ad93374a057cb354",
      "tree": "2f424373469e9e040312951e59a9627cb17d6a8d",
      "parents": [
        "40e6b822866ee59f7823000384321bb899416cb1"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 18 14:07:42 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 18 14:07:42 2010 -0700"
      },
      "message": "Add pthread_condattr_init/destroy/setpshared/getpshared\n\nNote that this does not change the implementation of conditional variables\nwhich still use shared futexes, independent on the flags being selected.\n\nThis will be fixed in a later patch, once our system is modified to use\npthread_condattr_setpshared(attr, PTHREAD_PROCESS_SHARED) properly.\n\nChange-Id: I935de50964cd41f97a13dbfd6626d3407b0406c3\n"
    },
    {
      "commit": "40e6b822866ee59f7823000384321bb899416cb1",
      "tree": "743a554912d9f7efdac1d217c31b0fc49b2fc21f",
      "parents": [
        "8641833b62e3b319796dc80ea16eb1592c05edf6"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Mar 17 11:25:46 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Mar 17 11:25:46 2010 -0700"
      },
      "message": "Fix indentation in pthread mutex implementation.\n\nThis is preliminary work to simplify later changes to support\nprivate futexes.\n\nChange-Id: I06750936a93747a5e3f5a10228cbdc29e39c528c\n"
    },
    {
      "commit": "8641833b62e3b319796dc80ea16eb1592c05edf6",
      "tree": "f0b9b778513da0e049ce1b4c706ae5000848d7c1",
      "parents": [
        "ba9c6f0989ae94778ba2b9f597adc827c9dc81e8"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Mar 11 14:47:47 2010 -0800"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Mar 11 14:47:47 2010 -0800"
      },
      "message": "Revert \"bionic: pthread: use private futexes by default for mutexes and condvars\"\n\nThis reverts commit ba9c6f0989ae94778ba2b9f597adc827c9dc81e8.\n"
    },
    {
      "commit": "ba9c6f0989ae94778ba2b9f597adc827c9dc81e8",
      "tree": "2376f2a87f6ac304bd93beca7c8139b890a6227f",
      "parents": [
        "1cfbda826ce66e9bd1507a31b7e6df62e0dbcc6e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Mar 10 16:44:08 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 11 11:48:38 2010 -0800"
      },
      "message": "bionic: pthread: use private futexes by default for mutexes and condvars\n\nPrivate futexes are a recent kernel addition: faster futexes that cannot be\nshared between processes. This patch uses them by default, unless the PROCESS_SHARED\nattribute flag is used when creating a mutex and/or conditional variable.\n\nAlso introduces pthread_condattr_init/destroy/setpshared/getpshared.\n\nChange-Id: I3a0e2116f467072b046524cb5babc00e41057a53\n"
    },
    {
      "commit": "1cfbda826ce66e9bd1507a31b7e6df62e0dbcc6e",
      "tree": "f0b9b778513da0e049ce1b4c706ae5000848d7c1",
      "parents": [
        "92e712f60dae8f099004c439291362efd02f6889",
        "ecede4022283650ee4c4ed117a792d6db0b929fd"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 10 18:14:25 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 10 18:14:25 2010 -0800"
      },
      "message": "Merge \"Only use NEON memcpy if __ARM_NEON__ is defined\""
    },
    {
      "commit": "ecede4022283650ee4c4ed117a792d6db0b929fd",
      "tree": "20082d00d0ec7d9c6e02327ddcf91ab81b702465",
      "parents": [
        "d7ed1ae98249af8a58ce97784a29f048d77789a9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Mar 09 16:23:51 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Mar 09 16:23:51 2010 -0800"
      },
      "message": "Only use NEON memcpy if __ARM_NEON__ is defined\n\nChange-Id: I32e6b9385d46efeec15dee8e395a82eef24ba3ea\n"
    },
    {
      "commit": "92e712f60dae8f099004c439291362efd02f6889",
      "tree": "470c169003761ecd1b8e03bc1ff84ff4514c0a69",
      "parents": [
        "55cd975f3467f8803a997061b4a60c91393d7528",
        "d378c68d74cb4fdac450650fe816c9d649c8edaf"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Mar 09 11:13:35 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 09 11:13:35 2010 -0800"
      },
      "message": "Merge \"Fix spurious DNS lookups in the C library.\""
    },
    {
      "commit": "55cd975f3467f8803a997061b4a60c91393d7528",
      "tree": "d663e6e175696c79db19bed5afbc480297d4625a",
      "parents": [
        "d7ed1ae98249af8a58ce97784a29f048d77789a9"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 08 18:04:02 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 08 18:04:02 2010 -0800"
      },
      "message": "Add an empty CleanSpec.mk\n\nChange-Id: Id233ea6f854253776f57e64196e262c5a057e654\n"
    },
    {
      "commit": "d378c68d74cb4fdac450650fe816c9d649c8edaf",
      "tree": "0d5c15b4606982f26009bdc5c572415ac9dd18d3",
      "parents": [
        "d7ed1ae98249af8a58ce97784a29f048d77789a9"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 08 15:13:04 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 08 15:22:13 2010 -0800"
      },
      "message": "Fix spurious DNS lookups in the C library.\n\nThe problem was that the \u0027defdname\u0027 field of res_state structure\nwas not properly initialized in __res_vinit(). This field is used\nto store the default domain name, which is normally build from\ncalling gethostname() (see line 549 of res_init.c).\n\nUnfortunately, in the typical Android case, gethostname() returns\nan error (the hostname is configured) and a random stack string is\nused later to build the DNS search list (see lines 556+ in res_init.c)\n\nFor the sake of illustration, let\u0027s say the search list is set to\na random value like \u0027xWLK\u0027.\n\nThe end result is that when trying to result an unknown domain name\n(e.g. \u0027www.ptn\u0027), the query fails then the resolver tries to make a\nnew query with the DNS search list path(s) appended (e.g. \u0027www.ptn.xWLK\u0027).\n\nThe patch simply initializes \u0027defdname\u0027 to an empty string to avoid\nthis when the net.dns.search system property is not set.\n\nAlso contains whitespace/formatting fixes\n"
    },
    {
      "commit": "d7ed1ae98249af8a58ce97784a29f048d77789a9",
      "tree": "0effedac191d00aadd7ceb7887a7eab62b95bfb7",
      "parents": [
        "cb58a8221c678299a6be9403136c6f348bd9dbdc"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Mar 05 14:17:35 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Mar 05 14:17:35 2010 -0800"
      },
      "message": "Fix timezone management in the C library\n\nDefine \u0027timezone\u0027 and \u0027daylight\u0027 global variables that are already\ndefined in \u003ctime.h\u003e\n\nProperly update the \u0027tm_gmtoff\u0027 field in \u0027struct tm\u0027 values.\n"
    },
    {
      "commit": "cb58a8221c678299a6be9403136c6f348bd9dbdc",
      "tree": "45e4640d831de5cd34cee001ec042216a3876003",
      "parents": [
        "2e5491b8f29fefa6324bc49befaa8f2ef4c80c9a",
        "f199d2d503133fe744f78c414184936658a64663"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 03 18:02:33 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 03 18:02:33 2010 -0800"
      },
      "message": "Merge \"QUalcomm H.264 encoder support.\""
    },
    {
      "commit": "f199d2d503133fe744f78c414184936658a64663",
      "tree": "45e4640d831de5cd34cee001ec042216a3876003",
      "parents": [
        "9f6915631b918a56e0e6be958fb14d274cbab322"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 03 16:26:26 2010 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 03 17:16:48 2010 -0800"
      },
      "message": "QUalcomm H.264 encoder support.\n"
    },
    {
      "commit": "2e5491b8f29fefa6324bc49befaa8f2ef4c80c9a",
      "tree": "5d3b311f885dd053f4b816f69e8961ee21c37938",
      "parents": [
        "9f6915631b918a56e0e6be958fb14d274cbab322",
        "71fbeecdbd7bcf2282e4b032ceb2f6ead13dc9cb"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Wed Mar 03 11:07:09 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 03 11:07:09 2010 -0800"
      },
      "message": "am 71fbeecd: (-s ours) am fd5b1bb8: Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.\n\nMerge commit \u002771fbeecdbd7bcf2282e4b032ceb2f6ead13dc9cb\u0027\n\n* commit \u002771fbeecdbd7bcf2282e4b032ceb2f6ead13dc9cb\u0027:\n  Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.\n"
    },
    {
      "commit": "71fbeecdbd7bcf2282e4b032ceb2f6ead13dc9cb",
      "tree": "614c8284cd1c609dcc2ebc540ccd77b2a7ff5481",
      "parents": [
        "f197147a787d7415e6e0a1bad15566836c55befb",
        "fd5b1bb85d0a971fd8469112a157380c4d3a146f"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Wed Mar 03 10:51:34 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 03 10:51:34 2010 -0800"
      },
      "message": "am fd5b1bb8: Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.\n\nMerge commit \u0027fd5b1bb85d0a971fd8469112a157380c4d3a146f\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027fd5b1bb85d0a971fd8469112a157380c4d3a146f\u0027:\n  Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.\n"
    },
    {
      "commit": "fd5b1bb85d0a971fd8469112a157380c4d3a146f",
      "tree": "e11bd80576f8ee1625f13d4a81808621e9dde557",
      "parents": [
        "ca07064c9ebd8523ed88fa09e97feaaafb7e9c15"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Nov 10 12:15:33 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Mar 03 10:25:29 2010 -0800"
      },
      "message": "Add stdlib functions mbstowcs() and wcstombs(). DO NOT MERGE.\n\nAs with the other wchar functions in Bionic, these are really\nminimally functional stubs.\n"
    },
    {
      "commit": "9f6915631b918a56e0e6be958fb14d274cbab322",
      "tree": "5d3b311f885dd053f4b816f69e8961ee21c37938",
      "parents": [
        "bd9a90c443ee4582d2be1a68c6f3a2928d130ce4"
      ],
      "author": {
        "name": "Mike Chan",
        "email": "mike@android.com",
        "time": "Tue Mar 02 10:55:58 2010 -0800"
      },
      "committer": {
        "name": "Mike Chan",
        "email": "mike@android.com",
        "time": "Tue Mar 02 18:18:04 2010 -0800"
      },
      "message": "bonic: libc: cpuacct support for setuid functions\n\nAny of the setuid functions now updates /acct/uid/ with its own tid\nbefore changing users. This is so we can properly account for cpu time\nper uid.\n\nChange-Id: I34186cf4d5228cac8439e582a9e26c01ef3011e4\nSigned-off-by: Mike Chan \u003cmike@android.com\u003e\n"
    },
    {
      "commit": "bd9a90c443ee4582d2be1a68c6f3a2928d130ce4",
      "tree": "bef82e19e97c17d7fededb5ebaf156dd960e31e3",
      "parents": [
        "eb9d5ed3477ef8cd9ccfa424ea585541ea3af84a"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Mar 02 16:10:21 2010 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Mar 02 16:10:34 2010 -0800"
      },
      "message": "libc: kernel: update pmem header with cache flush ioctl\n\nChange-Id: Ied08844035d4526175dcdcb7f219f9f90c4679d2\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "eb9d5ed3477ef8cd9ccfa424ea585541ea3af84a",
      "tree": "57860bc44d54d743b05f8a7680267170af3f3069",
      "parents": [
        "8f8b5310d2c3fe8782377bd66b65ed14dc6511a4"
      ],
      "author": {
        "name": "Andrei Popescu",
        "email": "andreip@google.com",
        "time": "Thu Feb 25 13:27:46 2010 +0000"
      },
      "committer": {
        "name": "Andrei Popescu",
        "email": "andreip@google.com",
        "time": "Tue Mar 02 11:43:24 2010 +0000"
      },
      "message": "add sigaltstack syscall\n"
    },
    {
      "commit": "8f8b5310d2c3fe8782377bd66b65ed14dc6511a4",
      "tree": "1cd0c6e85535467a0ffd973991aef7bccb499473",
      "parents": [
        "1f6f49396335d88c577c16304b1989d0d1468e5c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 01 11:30:40 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 01 11:30:40 2010 -0800"
      },
      "message": "Fix pthread_sigmask() to return correct error values.\n\nBefore that, it returned -1 on error and set errno (not Posix)\nAfter the patch, it returns the error code and leaves errno untouched.\n"
    },
    {
      "commit": "1f6f49396335d88c577c16304b1989d0d1468e5c",
      "tree": "0e297b5d5a05f05ea338ec073c40d58f91d9b528",
      "parents": [
        "75c5e25ae3615c34f4bcc7dcbe9b29e548e26b9c",
        "9ab75d4cc803e91b7f1b656ffbe2ad32c52a86f9"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@google.com",
        "time": "Wed Feb 24 10:04:09 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 24 10:04:09 2010 -0800"
      },
      "message": "Merge \"Implement support for RFC 3484 (address selection/sorting) in bionic.  (The Java changes required not to mess up the ordering from bionic will arrive in a later commit.) In particular, this will give us more correct behavior when on a 6to4 network, in that IPv4 will usually be preferred over 6to4.\""
    },
    {
      "commit": "9ab75d4cc803e91b7f1b656ffbe2ad32c52a86f9",
      "tree": "7f0451638ba549b39cb81ae45e570e7a0534de9e",
      "parents": [
        "b55462328f7f7468bb8c0cb44ad1069af30415a3"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Thu Feb 11 15:44:55 2010 +0100"
      },
      "committer": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Wed Feb 24 11:49:17 2010 +0100"
      },
      "message": "Implement support for RFC 3484 (address selection/sorting) in bionic.  (The\nJava changes required not to mess up the ordering from bionic will arrive in a\nlater commit.) In particular, this will give us more correct behavior when on a\n6to4 network, in that IPv4 will usually be preferred over 6to4.\n\nMost of RFC 3484 is implemented -- what\u0027s not is rule 3 (avoid deprecated\naddresses), 4 (prefer home addresses) and 7 (prefer native transport) as they\nrequire low-level access to the kernel routing table via netlink. (glibc also\nstarted out this way, and these rules are primarily useful in pretty obscure\ncircumstances, so we should be fine for the time being.)\n\nAlso, rule 9 (use longest matching prefix) has been modified so it does not try\nto sort IPv4 addresses; given current IPv4 addressing practice these rules are\npretty much meaningless. Finally, I\u0027ve added support for Teredo as a separate\nlabel, with slightly lower preference than 6to4. (Vista puts the preference\nbelow IPv4 by default. glibc puts the preference together with non-tunneled\nIPv6.)\n\nNote that this patch removes support for the \"sortlist\" directive in\nresolv.conf; I\u0027ve never seen it in actual use, it\u0027s irrelevant for Android\n(since we don\u0027t use resolv.conf anyway), and it\u0027s not clear how it would be\nimplemented alongside RFC 3484.\n"
    },
    {
      "commit": "75c5e25ae3615c34f4bcc7dcbe9b29e548e26b9c",
      "tree": "a5e9210444c3974d51c8e24d2ad0b6c256c0cbf6",
      "parents": [
        "b55462328f7f7468bb8c0cb44ad1069af30415a3"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Feb 23 15:55:29 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Feb 23 15:55:29 2010 -0800"
      },
      "message": "bionic: syscalls: Add ioprio_set/ioprio_get syscall wrappers\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "b55462328f7f7468bb8c0cb44ad1069af30415a3",
      "tree": "291cf73e304ef6840de39e4732d0d8488955f22b",
      "parents": [
        "f31fceaae66dcc1f71f930ed8f2a777b80fe415f",
        "75fba6888a1e5738f8255f3511c4ad40cbcc0eda"
      ],
      "author": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Wed Feb 17 13:43:15 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 17 13:43:15 2010 -0800"
      },
      "message": "Merge \"Merge memory checking functionality from sandbox\""
    },
    {
      "commit": "75fba6888a1e5738f8255f3511c4ad40cbcc0eda",
      "tree": "de49c9233770c63324539012655792937875a5c2",
      "parents": [
        "5c734644eebf8d01be1e86cbe20a111a5c5a2738"
      ],
      "author": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Fri Feb 12 08:59:58 2010 -0800"
      },
      "committer": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Tue Feb 16 11:43:18 2010 -0800"
      },
      "message": "Merge memory checking functionality from sandbox\n\nChange-Id: I304c789a752c9f4af4944ca14b9bf1e7644da15a\n"
    },
    {
      "commit": "f31fceaae66dcc1f71f930ed8f2a777b80fe415f",
      "tree": "1e57e65461a35fe2ed96dc6a434666c37c936aff",
      "parents": [
        "4f920f685bb4af8400c70383eecf347a35353778",
        "2e1a03c16fae7bfd5f5e6955985bc46baf93ba84"
      ],
      "author": {
        "name": "Niko Catania",
        "email": "niko@google.com",
        "time": "Fri Feb 12 13:46:31 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 12 13:46:31 2010 -0800"
      },
      "message": "Merge \"Changed __get_h_errno linkage to \"C\".\""
    },
    {
      "commit": "4f920f685bb4af8400c70383eecf347a35353778",
      "tree": "b48d0f32e745f252a4ad5781e8da60f45415f7de",
      "parents": [
        "294dd0b86b1484aec7549663aff5b19c98a4b7fd"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Feb 12 12:50:32 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Feb 12 12:50:32 2010 -0800"
      },
      "message": "Fix sem_post() behaviour to wake up multiple waiting threads.\n"
    },
    {
      "commit": "294dd0b86b1484aec7549663aff5b19c98a4b7fd",
      "tree": "9a54351833b806c3f31f0b8400c10bd746938254",
      "parents": [
        "1dcf07a84c93a0095875f2d2087bfe7bfb66a413"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Feb 12 12:18:37 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Feb 12 12:18:37 2010 -0800"
      },
      "message": "Fix sem_trywait() implementation + update changelog.\n"
    },
    {
      "commit": "2e1a03c16fae7bfd5f5e6955985bc46baf93ba84",
      "tree": "1d1fb60a88933d2d75d3410d8b12b95521e4f94e",
      "parents": [
        "5c734644eebf8d01be1e86cbe20a111a5c5a2738"
      ],
      "author": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Fri Feb 12 11:33:53 2010 -0800"
      },
      "committer": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Fri Feb 12 11:37:25 2010 -0800"
      },
      "message": "Changed __get_h_errno linkage to \"C\".\n\nBug:2441631\n"
    },
    {
      "commit": "1dcf07a84c93a0095875f2d2087bfe7bfb66a413",
      "tree": "21d5731774d25a54186f8e60230e20c99f459de0",
      "parents": [
        "5c734644eebf8d01be1e86cbe20a111a5c5a2738"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Feb 12 11:35:38 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Feb 12 11:35:38 2010 -0800"
      },
      "message": "Fix android_id_from_name to accept \"app_0\" as a valid ID.\n\nThis fixes getpwnam and getpwgrp which returned NULL for \"app_0\".\n\"app_0\" corresponds to uid/gid 10000 and is perfectly valid.\n"
    },
    {
      "commit": "5c734644eebf8d01be1e86cbe20a111a5c5a2738",
      "tree": "5e442dc0157ec487f51a65f85f87fe2bd66fd0cf",
      "parents": [
        "e100f52f4ad1b70762bbcc5ad9828bd258917ee5"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jan 20 12:36:51 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Feb 11 10:46:48 2010 -0800"
      },
      "message": "Fix debug output in the dynamic linker.\n\nThis provides a mini-printf implementation that reduces the\nsize of the dynamic linker by 25 KB, by preventing the drag of\nformatting-related routines from the C library.\n\nAlso allow traces to be sent to the log, instead of stdout.\n\nNOTE: You now need to modify Android.mk to enable/disable debug\n      output.\n"
    },
    {
      "commit": "e100f52f4ad1b70762bbcc5ad9828bd258917ee5",
      "tree": "084f45cde2c5f3650370130e37a063af2ed1b968",
      "parents": [
        "16f7d16f9f0273bed58f5e8c74eb0ee11eaa8037"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Feb 10 15:19:37 2010 -0800"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Feb 10 19:14:35 2010 -0800"
      },
      "message": "bionic/linker: rename ba_prelink to ba_nonprelink\n\n-- fixes b/2432550\n-- ba_prelink is used to manage non-prelinked libraries, hence ba_nonprelink is\n   a more appropriate name for it\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "16f7d16f9f0273bed58f5e8c74eb0ee11eaa8037",
      "tree": "071921aedb913150ef86d6840869371ff922aab1",
      "parents": [
        "53691d7df295eed54742365db1180367e26770f5",
        "49f0a8f23bba188466c6ee3652858ef4da228c6f"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@google.com",
        "time": "Tue Feb 09 14:50:57 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 09 14:50:57 2010 -0800"
      },
      "message": "Merge \"Fix \u003csys/epoll.h\u003e and \u003csys/system_properties.h\u003e to include proper C++ inclusion guards\""
    },
    {
      "commit": "49f0a8f23bba188466c6ee3652858ef4da228c6f",
      "tree": "fd0c67133f0ad6e856a7a56a1f27333131ef40e3",
      "parents": [
        "cdcc2648baa3ad62c497fbc87c36de590f9f9f97"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Feb 09 14:05:43 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Feb 09 14:05:43 2010 -0800"
      },
      "message": "Fix \u003csys/epoll.h\u003e and \u003csys/system_properties.h\u003e to include proper C++ inclusion guards\n"
    },
    {
      "commit": "53691d7df295eed54742365db1180367e26770f5",
      "tree": "333d80e8c341173b306dc0601e7381365304144e",
      "parents": [
        "34e6991c976f5253bbbd2a1ff4464b71949c9e49",
        "58060c50bc4228a7d0253338cae0437211759959"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Feb 09 09:32:25 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 09 09:32:25 2010 -0800"
      },
      "message": "am 58060c50: am ee424e23: bionic: update processed kernel header a1026.h\n\nMerge commit \u002758060c50bc4228a7d0253338cae0437211759959\u0027\n\n* commit \u002758060c50bc4228a7d0253338cae0437211759959\u0027:\n  bionic: update processed kernel header a1026.h\n"
    },
    {
      "commit": "58060c50bc4228a7d0253338cae0437211759959",
      "tree": "c09d3f125218b6fad0f6b43d7b148e83bcab0a81",
      "parents": [
        "1db874720a58ff7e3684116d59ad08bc73db26d9",
        "ee424e23c10c051ee4760177c85f6003ff20108c"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Feb 09 09:25:57 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 09 09:25:57 2010 -0800"
      },
      "message": "am ee424e23: bionic: update processed kernel header a1026.h\n\nMerge commit \u0027ee424e23c10c051ee4760177c85f6003ff20108c\u0027 into eclair-plus-aosp\n\n* commit \u0027ee424e23c10c051ee4760177c85f6003ff20108c\u0027:\n  bionic: update processed kernel header a1026.h\n"
    },
    {
      "commit": "ee424e23c10c051ee4760177c85f6003ff20108c",
      "tree": "543cae97b7a2e63aaa79de067c19ff2b78063eea",
      "parents": [
        "ba8bfedd04824eea944236ffc885f866c5e9c651"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Feb 08 15:57:09 2010 -0800"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Feb 08 15:57:09 2010 -0800"
      },
      "message": "bionic: update processed kernel header a1026.h\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "34e6991c976f5253bbbd2a1ff4464b71949c9e49",
      "tree": "6848692fe7de36f68b938e62e41e1e596eda94ca",
      "parents": [
        "2721fbd20844b40778090e295d7fb90abca30f51",
        "1db874720a58ff7e3684116d59ad08bc73db26d9"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 05 14:14:46 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 05 14:14:46 2010 -0800"
      },
      "message": "am 1db87472: am ba8bfedd: reconcile main tree with open-source eclair\n\nMerge commit \u00271db874720a58ff7e3684116d59ad08bc73db26d9\u0027\n\n* commit \u00271db874720a58ff7e3684116d59ad08bc73db26d9\u0027:\n  android-2.1_r1 snapshot\n"
    },
    {
      "commit": "1db874720a58ff7e3684116d59ad08bc73db26d9",
      "tree": "b83ab9148375acd52e67693bd2fd010a8aab0760",
      "parents": [
        "c0472409d14eebf797df962dd78fc31afbc4bd07",
        "ba8bfedd04824eea944236ffc885f866c5e9c651"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 05 08:44:18 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 05 08:44:18 2010 -0800"
      },
      "message": "am ba8bfedd: reconcile main tree with open-source eclair\n\nMerge commit \u0027ba8bfedd04824eea944236ffc885f866c5e9c651\u0027 into eclair-plus-aosp\n\n* commit \u0027ba8bfedd04824eea944236ffc885f866c5e9c651\u0027:\n  android-2.1_r1 snapshot\n"
    },
    {
      "commit": "ba8bfedd04824eea944236ffc885f866c5e9c651",
      "tree": "219cb37e8d16a41294cdd805862bc418794ccd40",
      "parents": [
        "d0996bb4cd6b6d0fa7c643a809f01e33adc2638d",
        "e964f3a095dd2b97023c3f06281ad5bc790f1d6f"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 05 08:09:31 2010 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 05 08:09:31 2010 -0800"
      },
      "message": "reconcile main tree with open-source eclair\n"
    },
    {
      "commit": "2721fbd20844b40778090e295d7fb90abca30f51",
      "tree": "6848692fe7de36f68b938e62e41e1e596eda94ca",
      "parents": [
        "34f411e5fdd39559d76e255ae3fceb07a86dad83",
        "c0472409d14eebf797df962dd78fc31afbc4bd07"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Feb 02 16:22:10 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 02 16:22:10 2010 -0800"
      },
      "message": "am c0472409: am d0996bb4: bionic: update processed kernel header tpa2018d1.h\n\nMerge commit \u0027c0472409d14eebf797df962dd78fc31afbc4bd07\u0027\n\n* commit \u0027c0472409d14eebf797df962dd78fc31afbc4bd07\u0027:\n  bionic: update processed kernel header tpa2018d1.h\n"
    },
    {
      "commit": "34f411e5fdd39559d76e255ae3fceb07a86dad83",
      "tree": "4dcd06073703d2638dc2d9e5f73d2171735f0858",
      "parents": [
        "cdcc2648baa3ad62c497fbc87c36de590f9f9f97",
        "7ec87a1926250d3c1f74193bf36417707e691e10"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Feb 02 16:22:06 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 02 16:22:06 2010 -0800"
      },
      "message": "am 7ec87a19: am 276313ec: bionic: add processed kernel headers a1026.h and tpa2018d1.h\n\nMerge commit \u00277ec87a1926250d3c1f74193bf36417707e691e10\u0027\n\n* commit \u00277ec87a1926250d3c1f74193bf36417707e691e10\u0027:\n  bionic: add processed kernel headers a1026.h and tpa2018d1.h\n"
    },
    {
      "commit": "c0472409d14eebf797df962dd78fc31afbc4bd07",
      "tree": "b83ab9148375acd52e67693bd2fd010a8aab0760",
      "parents": [
        "7ec87a1926250d3c1f74193bf36417707e691e10",
        "d0996bb4cd6b6d0fa7c643a809f01e33adc2638d"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Feb 02 14:21:05 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 02 14:21:05 2010 -0800"
      },
      "message": "am d0996bb4: bionic: update processed kernel header tpa2018d1.h\n\nMerge commit \u0027d0996bb4cd6b6d0fa7c643a809f01e33adc2638d\u0027 into eclair-plus-aosp\n\n* commit \u0027d0996bb4cd6b6d0fa7c643a809f01e33adc2638d\u0027:\n  bionic: update processed kernel header tpa2018d1.h\n"
    },
    {
      "commit": "7ec87a1926250d3c1f74193bf36417707e691e10",
      "tree": "8d87d5b59d04a2131eda2f1c58830b66eb06b81e",
      "parents": [
        "caa17a905a6f73eefbcd913e5c5cab4090f4820b",
        "276313ec18c18a07e867dffe568a377583cfd905"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Feb 02 14:21:02 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 02 14:21:02 2010 -0800"
      },
      "message": "am 276313ec: bionic: add processed kernel headers a1026.h and tpa2018d1.h\n\nMerge commit \u0027276313ec18c18a07e867dffe568a377583cfd905\u0027 into eclair-plus-aosp\n\n* commit \u0027276313ec18c18a07e867dffe568a377583cfd905\u0027:\n  bionic: add processed kernel headers a1026.h and tpa2018d1.h\n"
    },
    {
      "commit": "d0996bb4cd6b6d0fa7c643a809f01e33adc2638d",
      "tree": "219cb37e8d16a41294cdd805862bc418794ccd40",
      "parents": [
        "276313ec18c18a07e867dffe568a377583cfd905"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Feb 02 13:42:55 2010 -0800"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Feb 02 13:42:55 2010 -0800"
      },
      "message": "bionic: update processed kernel header tpa2018d1.h\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "276313ec18c18a07e867dffe568a377583cfd905",
      "tree": "59a6d4a88791cd4a2218908560850a44e0aebf90",
      "parents": [
        "5f53a18204ec991f5a77872806eeaa185936aa8c"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Feb 02 11:56:26 2010 -0800"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Feb 02 11:56:29 2010 -0800"
      },
      "message": "bionic: add processed kernel headers a1026.h and tpa2018d1.h\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "cdcc2648baa3ad62c497fbc87c36de590f9f9f97",
      "tree": "e78479f512bd8750786d956b46225d6219ed56a8",
      "parents": [
        "f597049b40b9b560746d2ae3537beea977917b3f"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Sun Jan 31 17:22:25 2010 -0800"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Sun Jan 31 17:22:25 2010 -0800"
      },
      "message": "bionic: update processed kernel header msm_camera.h\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "e964f3a095dd2b97023c3f06281ad5bc790f1d6f",
      "tree": "72403af0ef4438c5d8974622bb9b98602879a7d8",
      "parents": [
        "5f53a18204ec991f5a77872806eeaa185936aa8c",
        "a809abb086b5cb5cd5545048b12f64b899c6a253"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 29 14:07:31 2010 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 29 14:07:31 2010 -0800"
      },
      "message": "reconcile android-2.1_r1 snapshot\n"
    },
    {
      "commit": "f597049b40b9b560746d2ae3537beea977917b3f",
      "tree": "0a6f7601933da6519c929b16dd4386e255d12ad1",
      "parents": [
        "90f82e5868de5a30d4842951b80be0c8a9cedc6d",
        "97cf7f3394780d524038fc083e2c134031b54728"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@google.com",
        "time": "Mon Jan 25 14:30:17 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 25 14:30:17 2010 -0800"
      },
      "message": "Merge \"Implement clone() C library function properly.\""
    },
    {
      "commit": "97cf7f3394780d524038fc083e2c134031b54728",
      "tree": "40b61956bbe4d28babe839c3be40e9f114810e5f",
      "parents": [
        "1a2917ca954f575cc9698c99e54bd93087793c8f"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 22 18:59:05 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jan 25 11:18:30 2010 -0800"
      },
      "message": "Implement clone() C library function properly.\n\nOnly provide an implementation for ARM at the moment, since\nit requires specific assembly fragments (the standard syscall\nstubs cannot be used because the child returns in a different\nstack).\n"
    },
    {
      "commit": "90f82e5868de5a30d4842951b80be0c8a9cedc6d",
      "tree": "d49763a7763995fd772560acffd074ee1dc7710e",
      "parents": [
        "1a2917ca954f575cc9698c99e54bd93087793c8f"
      ],
      "author": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Mon Jan 25 11:09:31 2010 -0800"
      },
      "committer": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Mon Jan 25 11:09:31 2010 -0800"
      },
      "message": "Fix typo in a comment.\n"
    },
    {
      "commit": "1a2917ca954f575cc9698c99e54bd93087793c8f",
      "tree": "4c923a2e53ca9e6114a1ec0f71be905ceae4f019",
      "parents": [
        "d6bf8f92298aa46ee045f30ed5146eb05af16ced"
      ],
      "author": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Mon Jan 25 10:24:50 2010 -0800"
      },
      "committer": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Mon Jan 25 10:24:50 2010 -0800"
      },
      "message": "Align TEXT section to 4K boundary so that we can use both ld and gold.\n"
    },
    {
      "commit": "d6bf8f92298aa46ee045f30ed5146eb05af16ced",
      "tree": "95fa5af1e9a8fc8a1d348b5a095fa8aaab4bf7fb",
      "parents": [
        "fc10b24accd082fb33c8f92ff8b92481c22fe3dc"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jan 21 15:03:26 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jan 21 16:25:38 2010 -0800"
      },
      "message": "Add Bionic Changelog in libc/docs/CHANGES.TXT\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": "8c59d96e243ba1a05d7d9ab7a14d1a00e20bad4a",
      "tree": "31e06654cca83d98d5b9b1b60a9623404fed99f1",
      "parents": [
        "64ceac3f493e3063a289aec4a12c74787be974e4"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 13 16:39:26 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 16:27:04 2010 -0800"
      },
      "message": "Add killpg function\n\nChange-Id:\tI9bc347d264fe38faf2d0f9935d2ebb43a353196e\n"
    },
    {
      "commit": "64ceac3f493e3063a289aec4a12c74787be974e4",
      "tree": "a2a7f59c5dfc56fd11d454e41e9f4e7d6898fcd0",
      "parents": [
        "c29731a491ae96b5cfe8835a7ec23900c773ca7e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 13 21:19:52 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 15:57:02 2010 -0800"
      },
      "message": "Add fts, err, and sys/queue for grep\n\nChange-Id:\tId47514a1812d828e95efa2fab0e9c15c5b682b58\n"
    },
    {
      "commit": "c29731a491ae96b5cfe8835a7ec23900c773ca7e",
      "tree": "3d93e3aa34a0f9993ca216a302fb1fe9818dc46f",
      "parents": [
        "e9d08ba5236fb6524c7b65135ef133002027f050"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 13 18:31:01 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 15:57:02 2010 -0800"
      },
      "message": "mntent.h requires stdio.h\n\nChange-Id:\tIf69f64cf088dedb19602bf47627d03400abb9095\n"
    },
    {
      "commit": "e9d08ba5236fb6524c7b65135ef133002027f050",
      "tree": "028d1c758c1f41a30719da1bba3e767b17552468",
      "parents": [
        "2497f65fee7c132d1ddb1997dbfa07678c07c4f0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 13 16:28:13 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 15:57:02 2010 -0800"
      },
      "message": "Add definition of rlim_t\n\nChange-Id:\tIe8c2451360cbcce9fc1587528a95aca09a03d0de\n"
    },
    {
      "commit": "2497f65fee7c132d1ddb1997dbfa07678c07c4f0",
      "tree": "dcd1174ab2bfb61858b0f5fe7c18aedb4c6e401c",
      "parents": [
        "d1cfc947f9b2f431cf416185ffdffb7e76303414"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 13 14:38:20 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 15:57:02 2010 -0800"
      },
      "message": "Import change from ctype.h revision 1.20 from openbsd\n\nFixes builds with gcc \u003e\u003d 4.3 with -std\u003dgnu99\n\nChange-Id:\tI8729b7f4237fd7a99a82b2fe60573a7afe66b435\n"
    },
    {
      "commit": "d1cfc947f9b2f431cf416185ffdffb7e76303414",
      "tree": "b74d166a2571ee81079b3c77cfd35d1b0a61c637",
      "parents": [
        "4fa7b105644222d9b35347c9d226ca8e011072eb"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 12 19:00:00 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 15:15:52 2010 -0800"
      },
      "message": "Import include/arpa/telnet.h from BSD\n\nChange-Id:\tI684251bfb8ef04f0706866ea55dceebcd2a5b0e1\n"
    },
    {
      "commit": "4fa7b105644222d9b35347c9d226ca8e011072eb",
      "tree": "b190c2c5cf1315a4326b09678e855e3d23a426fc",
      "parents": [
        "3839580cd9635fcfb8b509eef4c693b51ec48a12"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 12 18:59:25 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 15:01:44 2010 -0800"
      },
      "message": "Import regex from OpenBSD\n\nChange-Id: I7ad7d907ef65e4e345f94777d730813b1270a612\n"
    },
    {
      "commit": "3839580cd9635fcfb8b509eef4c693b51ec48a12",
      "tree": "8c6c2c2c865e53204cf1c1f68b3f7210355e1c86",
      "parents": [
        "6458c49c96fd2069a82fa6bb48283b4397087a25",
        "278d157f437c0357b7c6d1fb1cbffbc0a72bb788"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 14:07:40 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 15 14:07:40 2010 -0800"
      },
      "message": "Merge \"Use correct TLS codepath for linker\""
    },
    {
      "commit": "278d157f437c0357b7c6d1fb1cbffbc0a72bb788",
      "tree": "27434e29fe0dc3fca4ea006fe50c7951762aa7ea",
      "parents": [
        "0b5db51ea6d9c0b877d2ce26440d963760c38dfe"
      ],
      "author": {
        "name": "Gary King",
        "email": "gking@nvidia.com",
        "time": "Tue Sep 29 16:12:31 2009 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 12 17:37:44 2010 -0800"
      },
      "message": "Use correct TLS codepath for linker\n\nReplicate ARM libc build\u0027s HAVE_ARM_TLS_REGISTER preprocessor definition\nlogic, to ensure that the runtime linker uses the correct codepath for\naccessing the TLS address\n"
    },
    {
      "commit": "a809abb086b5cb5cd5545048b12f64b899c6a253",
      "tree": "72403af0ef4438c5d8974622bb9b98602879a7d8",
      "parents": [
        "194d3fa048cf909ca592dd56fa538dc9cd3f5ddb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 12 15:18:05 2010 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 12 15:18:05 2010 -0800"
      },
      "message": "android-2.1_r1 snapshot\n"
    },
    {
      "commit": "6458c49c96fd2069a82fa6bb48283b4397087a25",
      "tree": "68fcbb5f16ce4bb500f065129c2cf5297cb59e6f",
      "parents": [
        "0b5db51ea6d9c0b877d2ce26440d963760c38dfe"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 12 12:58:12 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 12 12:58:12 2010 -0800"
      },
      "message": "Fix ptsname_r(3) return type to match glibc\n\nThe gHardy man pages specify the return type of ptsname_r to be char*, but the\nreturn value to be 0 on success, negative on error and the gHardy stdlib.h\ndefines extern int ptsname_r(...).\n\nBusybox telnetd fails to run successfully without this change.\n"
    },
    {
      "commit": "0b5db51ea6d9c0b877d2ce26440d963760c38dfe",
      "tree": "265b0d9536ad4c39e64cd3b550c5ff9eb20b073f",
      "parents": [
        "ee84231886c2122ea4ac62fff5334e16a26b2ab6",
        "99d7907611725e23b6fad3ae7acff4926504e687"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 07 15:54:35 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 07 15:54:35 2010 -0800"
      },
      "message": "Merge \"Fix usleep(3) return type to be POSIX-compliant.\""
    },
    {
      "commit": "ee84231886c2122ea4ac62fff5334e16a26b2ab6",
      "tree": "dba0c82411a1fe6a56586f4a4bfe726309257302",
      "parents": [
        "70b5ddafd49590bde6380b79e1bf651923bc61ce"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Thu Dec 17 12:46:45 2009 -0800"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Thu Dec 17 12:46:45 2009 -0800"
      },
      "message": "Add user-space ptrace data structure to dump VFP registers and status word.\n"
    },
    {
      "commit": "70b5ddafd49590bde6380b79e1bf651923bc61ce",
      "tree": "0d71be143a13f28587a96cf4ec62a39293223815",
      "parents": [
        "278d960aae1b2f0b8a3fa0c8056ba4aded96b133",
        "caa17a905a6f73eefbcd913e5c5cab4090f4820b"
      ],
      "author": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 15 00:44:05 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 15 00:44:05 2009 -0800"
      },
      "message": "Merge commit \u0027goog/eclair-plus-aosp\u0027\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": "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": "4cf30fb534df6a87e94966b3beb4979e4b4ed9b7",
      "tree": "0d71be143a13f28587a96cf4ec62a39293223815",
      "parents": [
        "d548a265ca0d998241443504afdcdc12e1507811",
        "a0783df14eaf9b0d858dd42d4e8a64a738314900"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Dec 03 17:21:46 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 17:21:46 2009 -0800"
      },
      "message": "am a0783df1: am df55c642: am e1e68492: Merge change Ifa58a406 into eclair\n\nMerge commit \u0027a0783df14eaf9b0d858dd42d4e8a64a738314900\u0027\n\n* commit \u0027a0783df14eaf9b0d858dd42d4e8a64a738314900\u0027:\n  libc: kernel: Update msm_kgsl.h header\n"
    },
    {
      "commit": "f197147a787d7415e6e0a1bad15566836c55befb",
      "tree": "8a702642c73970eaa3d25a664346ff951aadf720",
      "parents": [
        "be71c8142d4225dd9af4742ec050f30fcbc2aa5e",
        "ca07064c9ebd8523ed88fa09e97feaaafb7e9c15"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 03 17:15:16 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 17:15:16 2009 -0800"
      },
      "message": "am ca07064c: am 5f53a182: Revert \"Add qsort_r() implementation to the C library.\"\n\nMerge commit \u0027ca07064c9ebd8523ed88fa09e97feaaafb7e9c15\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027ca07064c9ebd8523ed88fa09e97feaaafb7e9c15\u0027:\n  Revert \"Add qsort_r() implementation to the C library.\"\n"
    },
    {
      "commit": "caa17a905a6f73eefbcd913e5c5cab4090f4820b",
      "tree": "23b08888c71168e887dc2086e1abc90775ebfddf",
      "parents": [
        "f7ee5739faeff7e12bb25ae4350ce4a0d22f6d81",
        "5f53a18204ec991f5a77872806eeaa185936aa8c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 03 17:10:45 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 17:10:45 2009 -0800"
      },
      "message": "am 5f53a182: Revert \"Add qsort_r() implementation to the C library.\"\n\nMerge commit \u00275f53a18204ec991f5a77872806eeaa185936aa8c\u0027 into eclair-plus-aosp\n\n* commit \u00275f53a18204ec991f5a77872806eeaa185936aa8c\u0027:\n  Revert \"Add qsort_r() implementation to the C library.\"\n"
    },
    {
      "commit": "ca07064c9ebd8523ed88fa09e97feaaafb7e9c15",
      "tree": "67fdb8f9f06b8d3b7719e4b0e6af7982703c3ee2",
      "parents": [
        "20b3097d4cc225d948dac38e778a9d3b3b1549db",
        "5f53a18204ec991f5a77872806eeaa185936aa8c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Dec 03 17:10:14 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 17:10:14 2009 -0800"
      },
      "message": "am 5f53a182: Revert \"Add qsort_r() implementation to the C library.\"\n\nMerge commit \u00275f53a18204ec991f5a77872806eeaa185936aa8c\u0027 into eclair-mr2\n\n* commit \u00275f53a18204ec991f5a77872806eeaa185936aa8c\u0027:\n  Revert \"Add qsort_r() implementation to the C library.\"\n"
    },
    {
      "commit": "be71c8142d4225dd9af4742ec050f30fcbc2aa5e",
      "tree": "c48dd6da9835c02e72577334de33cc2f3558be14",
      "parents": [
        "a0783df14eaf9b0d858dd42d4e8a64a738314900",
        "20b3097d4cc225d948dac38e778a9d3b3b1549db"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 03 16:44:43 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 16:44:43 2009 -0800"
      },
      "message": "am 20b3097d: am 754c178a: Add qsort_r() implementation to the C library.\n\nMerge commit \u002720b3097d4cc225d948dac38e778a9d3b3b1549db\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002720b3097d4cc225d948dac38e778a9d3b3b1549db\u0027:\n  Add qsort_r() implementation to the C library.\n"
    },
    {
      "commit": "d548a265ca0d998241443504afdcdc12e1507811",
      "tree": "e9f5413f93bcdba6847848ed98e5594b9ce5e0c1",
      "parents": [
        "ff3c8dfced4205eff7eed3902ddf7076c22763e3"
      ],
      "author": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Thu Dec 03 16:26:04 2009 -0800"
      },
      "committer": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Thu Dec 03 16:26:04 2009 -0800"
      },
      "message": "Add missing symbol type directives.\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": "20b3097d4cc225d948dac38e778a9d3b3b1549db",
      "tree": "089c6345a6bc314c7b62cd8ba931f731b07aeba8",
      "parents": [
        "df55c64203ac96fa0447357d1d19e6adee52c8d1",
        "754c178ae551aedcbbfd3bfd1c1c3b710d9ad989"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 03 16:00:48 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 16:00:48 2009 -0800"
      },
      "message": "am 754c178a: Add qsort_r() implementation to the C library.\n\nMerge commit \u0027754c178ae551aedcbbfd3bfd1c1c3b710d9ad989\u0027 into eclair-mr2\n\n* commit \u0027754c178ae551aedcbbfd3bfd1c1c3b710d9ad989\u0027:\n  Add qsort_r() implementation to the C library.\n"
    },
    {
      "commit": "f7ee5739faeff7e12bb25ae4350ce4a0d22f6d81",
      "tree": "8f1cb49a6db323d0e6512dc929afea5041529a5d",
      "parents": [
        "ece132df48cdb9c4c3206b450f1f55311fd618f4",
        "754c178ae551aedcbbfd3bfd1c1c3b710d9ad989"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 03 16:00:26 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 16:00:26 2009 -0800"
      },
      "message": "am 754c178a: Add qsort_r() implementation to the C library.\n\nMerge commit \u0027754c178ae551aedcbbfd3bfd1c1c3b710d9ad989\u0027 into eclair-plus-aosp\n\n* commit \u0027754c178ae551aedcbbfd3bfd1c1c3b710d9ad989\u0027:\n  Add qsort_r() implementation to the C library.\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": "a0783df14eaf9b0d858dd42d4e8a64a738314900",
      "tree": "8a702642c73970eaa3d25a664346ff951aadf720",
      "parents": [
        "aeebf717ad596f144d7ba8f8d5778bdbbd51cbe7",
        "df55c64203ac96fa0447357d1d19e6adee52c8d1"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Dec 03 02:20:57 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 02:20:57 2009 -0800"
      },
      "message": "am df55c642: am e1e68492: Merge change Ifa58a406 into eclair\n\nMerge commit \u0027df55c64203ac96fa0447357d1d19e6adee52c8d1\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027df55c64203ac96fa0447357d1d19e6adee52c8d1\u0027:\n  libc: kernel: Update msm_kgsl.h header\n"
    },
    {
      "commit": "ece132df48cdb9c4c3206b450f1f55311fd618f4",
      "tree": "23b08888c71168e887dc2086e1abc90775ebfddf",
      "parents": [
        "a3de55c83185ba3d1355f20b48ef9ec3fc4c281d",
        "e1e684920f3bea04f7cccee9f2d7ecd8b9a1ba47"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Dec 03 02:14:57 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 02:14:57 2009 -0800"
      },
      "message": "am e1e68492: Merge change Ifa58a406 into eclair\n\nMerge commit \u0027e1e684920f3bea04f7cccee9f2d7ecd8b9a1ba47\u0027 into eclair-plus-aosp\n\n* commit \u0027e1e684920f3bea04f7cccee9f2d7ecd8b9a1ba47\u0027:\n  libc: kernel: Update msm_kgsl.h header\n"
    },
    {
      "commit": "df55c64203ac96fa0447357d1d19e6adee52c8d1",
      "tree": "67fdb8f9f06b8d3b7719e4b0e6af7982703c3ee2",
      "parents": [
        "db63eff2d5790d40577baefea1d1895e3004fd22",
        "e1e684920f3bea04f7cccee9f2d7ecd8b9a1ba47"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Dec 03 02:14:56 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 02:14:56 2009 -0800"
      },
      "message": "am e1e68492: Merge change Ifa58a406 into eclair\n\nMerge commit \u0027e1e684920f3bea04f7cccee9f2d7ecd8b9a1ba47\u0027 into eclair-mr2\n\n* commit \u0027e1e684920f3bea04f7cccee9f2d7ecd8b9a1ba47\u0027:\n  libc: kernel: Update msm_kgsl.h header\n"
    },
    {
      "commit": "e1e684920f3bea04f7cccee9f2d7ecd8b9a1ba47",
      "tree": "72403af0ef4438c5d8974622bb9b98602879a7d8",
      "parents": [
        "fe62de1ad036a1417df44b7b1a7c65cc79dc7091",
        "7b12b4a34909d52edb5e41e11aa86e9c97e31191"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 02:09:47 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 02:09:47 2009 -0800"
      },
      "message": "Merge change Ifa58a406 into eclair\n\n* changes:\n  libc: kernel: Update msm_kgsl.h header\n"
    },
    {
      "commit": "ff3c8dfced4205eff7eed3902ddf7076c22763e3",
      "tree": "9319975ceb566a944f32c4ca5e2daead8a19bfa5",
      "parents": [
        "5cdb2b73d269580b66297c84d9395f5f9b62d963",
        "aeebf717ad596f144d7ba8f8d5778bdbbd51cbe7"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 02 20:31:36 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 02 20:31:36 2009 -0800"
      },
      "message": "am aeebf717: am db63eff2: am fe62de1a: Add support for R_ARM_REL32 to the dynamic linker.\n\nMerge commit \u0027aeebf717ad596f144d7ba8f8d5778bdbbd51cbe7\u0027\n\n* commit \u0027aeebf717ad596f144d7ba8f8d5778bdbbd51cbe7\u0027:\n  Add support for R_ARM_REL32 to the dynamic linker.\n"
    },
    {
      "commit": "aeebf717ad596f144d7ba8f8d5778bdbbd51cbe7",
      "tree": "70e7207ab8033c39e96cfeeeb41e9890632e2a07",
      "parents": [
        "ae77aae80cb78b33f32e65c43a473d5e297b866b",
        "db63eff2d5790d40577baefea1d1895e3004fd22"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 02 11:23:26 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 02 11:23:26 2009 -0800"
      },
      "message": "am db63eff2: am fe62de1a: Add support for R_ARM_REL32 to the dynamic linker.\n\nMerge commit \u0027db63eff2d5790d40577baefea1d1895e3004fd22\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027db63eff2d5790d40577baefea1d1895e3004fd22\u0027:\n  Add support for R_ARM_REL32 to the dynamic linker.\n"
    },
    {
      "commit": "a3de55c83185ba3d1355f20b48ef9ec3fc4c281d",
      "tree": "646efa88e98233342cc102298b8dcb64606c569d",
      "parents": [
        "157cdf42d7e2cded9a4461fd105b98b2db1a13ac",
        "fe62de1ad036a1417df44b7b1a7c65cc79dc7091"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 02 11:17:29 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 02 11:17:29 2009 -0800"
      },
      "message": "am fe62de1a: Add support for R_ARM_REL32 to the dynamic linker.\n\nMerge commit \u0027fe62de1ad036a1417df44b7b1a7c65cc79dc7091\u0027 into eclair-plus-aosp\n\n* commit \u0027fe62de1ad036a1417df44b7b1a7c65cc79dc7091\u0027:\n  Add support for R_ARM_REL32 to the dynamic linker.\n"
    },
    {
      "commit": "db63eff2d5790d40577baefea1d1895e3004fd22",
      "tree": "069e4b7fc742c32764fe638723d05c7722062139",
      "parents": [
        "07401a681f7530a8126fb0fd07a097828337b30a",
        "fe62de1ad036a1417df44b7b1a7c65cc79dc7091"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 02 11:16:57 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 02 11:16:57 2009 -0800"
      },
      "message": "am fe62de1a: Add support for R_ARM_REL32 to the dynamic linker.\n\nMerge commit \u0027fe62de1ad036a1417df44b7b1a7c65cc79dc7091\u0027 into eclair-mr2\n\n* commit \u0027fe62de1ad036a1417df44b7b1a7c65cc79dc7091\u0027:\n  Add support for R_ARM_REL32 to the dynamic linker.\n"
    },
    {
      "commit": "fe62de1ad036a1417df44b7b1a7c65cc79dc7091",
      "tree": "0c55fda658ee39f7f64ead6ec98a690379a8fe42",
      "parents": [
        "cd5df2d92c3adeac41e27aab5ba0f999c753c4c4"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 02 10:54:53 2009 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 02 10:54:53 2009 -0800"
      },
      "message": "Add support for R_ARM_REL32 to the dynamic linker.\n\nMerged from eclair-mr2\n"
    },
    {
      "commit": "7b12b4a34909d52edb5e41e11aa86e9c97e31191",
      "tree": "9097a0460bfb47d59675f44ecf0bdbcf74860f34",
      "parents": [
        "cd5df2d92c3adeac41e27aab5ba0f999c753c4c4"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Nov 19 09:55:56 2009 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Dec 02 05:09:56 2009 -0800"
      },
      "message": "libc: kernel: Update msm_kgsl.h header\n\nChange-Id: Ifa58a406c9419c5ad73a1f9456add6dd54bfb2ba\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "5cdb2b73d269580b66297c84d9395f5f9b62d963",
      "tree": "9319975ceb566a944f32c4ca5e2daead8a19bfa5",
      "parents": [
        "3bbac05726e0d42db333d0578fc9de9f2c5e910d"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Nov 30 17:09:45 2009 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Nov 30 17:09:45 2009 -0800"
      },
      "message": "Fix libc logging implementation.\n\nThe file descriptor wasn\u0027t getting set, so the writev() call was\nsilently failing.\n\nThere\u0027s a parallel implementation over in system/core/liblog, but it\u0027s\nstill using the old approach and didn\u0027t have this problem.\n"
    },
    {
      "commit": "3bbac05726e0d42db333d0578fc9de9f2c5e910d",
      "tree": "115f976dbe1246215186fe91c7dfcf4efe6f7494",
      "parents": [
        "780775c812bf9879563337ad43c2adfaf952ccf2",
        "c1202510b67f200b668d85ac0190db2b179b0c4d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 25 16:25:04 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 25 16:25:04 2009 -0800"
      },
      "message": "Merge change Ic1202510\n\n* changes:\n  Added a comment.\n"
    },
    {
      "commit": "c1202510b67f200b668d85ac0190db2b179b0c4d",
      "tree": "d21ef3298289e6418ffe505cd85bb3fb6e7066a1",
      "parents": [
        "00da948b09af535c389f791086cc8e08b3da67dc"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Nov 25 14:16:53 2009 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Nov 25 14:16:53 2009 -0800"
      },
      "message": "Added a comment.\n\nThe structs for stdin/stdout/stderr are formed with a static initializer\nthat needs to be updated if something in FILE is changed.\n"
    },
    {
      "commit": "780775c812bf9879563337ad43c2adfaf952ccf2",
      "tree": "c74b52bf6615f5ba3e186753b397df274f8f3d96",
      "parents": [
        "00da948b09af535c389f791086cc8e08b3da67dc",
        "ae77aae80cb78b33f32e65c43a473d5e297b866b"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Nov 24 14:14:02 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 24 14:14:02 2009 -0800"
      },
      "message": "am ae77aae8: am 07401a68: am cd5df2d9: Rebuild the time zone data files in 32-bit format instead of 64-bit.\n\nMerge commit \u0027ae77aae80cb78b33f32e65c43a473d5e297b866b\u0027\n\n* commit \u0027ae77aae80cb78b33f32e65c43a473d5e297b866b\u0027:\n  Rebuild the time zone data files in 32-bit format instead of 64-bit.\n"
    },
    {
      "commit": "ae77aae80cb78b33f32e65c43a473d5e297b866b",
      "tree": "70e7207ab8033c39e96cfeeeb41e9890632e2a07",
      "parents": [
        "a5d9651368779ae054f4184c5881566fdee85003",
        "07401a681f7530a8126fb0fd07a097828337b30a"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Nov 24 14:09:34 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 24 14:09:34 2009 -0800"
      },
      "message": "am 07401a68: am cd5df2d9: Rebuild the time zone data files in 32-bit format instead of 64-bit.\n\nMerge commit \u002707401a681f7530a8126fb0fd07a097828337b30a\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002707401a681f7530a8126fb0fd07a097828337b30a\u0027:\n  Rebuild the time zone data files in 32-bit format instead of 64-bit.\n"
    },
    {
      "commit": "07401a681f7530a8126fb0fd07a097828337b30a",
      "tree": "069e4b7fc742c32764fe638723d05c7722062139",
      "parents": [
        "8d7c6953373b4e2c6f49dfff741bf0da09030760",
        "cd5df2d92c3adeac41e27aab5ba0f999c753c4c4"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Nov 24 14:02:30 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 24 14:02:30 2009 -0800"
      },
      "message": "am cd5df2d9: Rebuild the time zone data files in 32-bit format instead of 64-bit.\n\nMerge commit \u0027cd5df2d92c3adeac41e27aab5ba0f999c753c4c4\u0027 into eclair-mr2\n\n* commit \u0027cd5df2d92c3adeac41e27aab5ba0f999c753c4c4\u0027:\n  Rebuild the time zone data files in 32-bit format instead of 64-bit.\n"
    },
    {
      "commit": "157cdf42d7e2cded9a4461fd105b98b2db1a13ac",
      "tree": "f87d3a006fbb62012372397b3c75b2d7fcaceb7f",
      "parents": [
        "21195bbaf1365630238f87cba17f8a9853172565",
        "cd5df2d92c3adeac41e27aab5ba0f999c753c4c4"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Nov 24 14:01:54 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 24 14:01:54 2009 -0800"
      },
      "message": "am cd5df2d9: Rebuild the time zone data files in 32-bit format instead of 64-bit.\n\nMerge commit \u0027cd5df2d92c3adeac41e27aab5ba0f999c753c4c4\u0027 into eclair-plus-aosp\n\n* commit \u0027cd5df2d92c3adeac41e27aab5ba0f999c753c4c4\u0027:\n  Rebuild the time zone data files in 32-bit format instead of 64-bit.\n"
    },
    {
      "commit": "cd5df2d92c3adeac41e27aab5ba0f999c753c4c4",
      "tree": "1bfc6397ef218aab550b183757eb04f3a22ea68d",
      "parents": [
        "7e6178998507f993eedf6bec726b0c28881f0485"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Nov 24 13:52:05 2009 -0800"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Nov 24 13:52:05 2009 -0800"
      },
      "message": "Rebuild the time zone data files in 32-bit format instead of 64-bit.\n\nThe 64-bit data is not currently being used and more than doubles the size.\n"
    },
    {
      "commit": "00da948b09af535c389f791086cc8e08b3da67dc",
      "tree": "8cb2c124d3da60f034ee546d1f3903d7a6c38a48",
      "parents": [
        "25f8ea4d40879096a56ae6036543dfe41e701ca5",
        "a5d9651368779ae054f4184c5881566fdee85003"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Nov 23 17:12:28 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 17:12:28 2009 -0800"
      },
      "message": "am a5d96513: am 8d7c6953: am 7e617899: Correct the raw offsets in the time zone index for a few zones.\n\nMerge commit \u0027a5d9651368779ae054f4184c5881566fdee85003\u0027\n\n* commit \u0027a5d9651368779ae054f4184c5881566fdee85003\u0027:\n  Correct the raw offsets in the time zone index for a few zones.\n"
    }
  ],
  "next": "a5d9651368779ae054f4184c5881566fdee85003"
}
