)]}'
{
  "log": [
    {
      "commit": "f1cd18bdec3686c072bc10cbf66e671b07fc4fde",
      "tree": "deadb2171c32d12268f3ef89d1de71d3e3a3c1e5",
      "parents": [
        "1d168621a524e3937cd4e2a1cdec18a230b89a35",
        "9163872132a3e92f986b1d684badb1dd4482ad8e"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Apr 06 22:02:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 06 22:02:48 2010 -0700"
      },
      "message": "am 91638721: kernel_headers: Update rtnetlink/pkt_sched headers for 2.6.32\n\nMerge commit \u00279163872132a3e92f986b1d684badb1dd4482ad8e\u0027 into froyo-plus-aosp\n\n* commit \u00279163872132a3e92f986b1d684badb1dd4482ad8e\u0027:\n  kernel_headers: Update rtnetlink/pkt_sched headers for 2.6.32\n"
    },
    {
      "commit": "9163872132a3e92f986b1d684badb1dd4482ad8e",
      "tree": "00a1b93b30fe23fe0f72eb0f2aec173354c00043",
      "parents": [
        "7e0bfb511e85834d7c6cb9631206b62f82701d60"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Apr 06 18:49:49 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Apr 06 18:54:22 2010 -0700"
      },
      "message": "kernel_headers: Update rtnetlink/pkt_sched headers for 2.6.32\n\nFor: For http://b/issue?id\u003d2576057\n\nChange-Id: I553ca14974aaec4434e384979e0bb7007dcf6033\nSigned-off-by: San Mehat \u003csan@google.com\u003e\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": "d04672513351af4eb302692e0f39fd5bd17191cb",
      "tree": "0ea1cef08bcfedafa705e3374863d51ec69080e1",
      "parents": [
        "5ffedb22c856ae5731324b43832ab3f5309683f2",
        "4ad72f89b12fe0157074a253190f6aa2cbfe15ac"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 31 14:19:51 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 31 14:19:51 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I483fedf77d978b1c6e52d73eebc14f011bb9f809\n"
    },
    {
      "commit": "5ffedb22c856ae5731324b43832ab3f5309683f2",
      "tree": "c4b4d5c3cd96ca9c347d2ba9fed98c4d9be5e43e",
      "parents": [
        "62ac0dc457bddf7472f7be1e9895b1aee20f35cf",
        "8ab5b02b5f58d9b2f050a98b189284a3d6263d7b"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 31 14:15:30 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 31 14:15:30 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I076e0df8656fdf58c229cc9a168cd6d8e16b6d8e\n"
    },
    {
      "commit": "4ad72f89b12fe0157074a253190f6aa2cbfe15ac",
      "tree": "f1b76dea170bdd2b4a107034958fd82de3c2eb2c",
      "parents": [
        "8ab5b02b5f58d9b2f050a98b189284a3d6263d7b",
        "3cab22c8cf0dcf30718a1452ce9cbb637876cea3"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Mon Mar 29 15:49:42 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon Mar 29 15:49:42 2010 -0700"
      },
      "message": "Merge \"linker: fix the undefined weak symbols issue\""
    },
    {
      "commit": "3cab22c8cf0dcf30718a1452ce9cbb637876cea3",
      "tree": "119a7ffa38d392147813a75a6af3247dd688917a",
      "parents": [
        "58f0326362ca0f5fc17cbc19fd9217cabf0d93dd"
      ],
      "author": {
        "name": "Min-su, Kim",
        "email": "min-su.kim@windriver.com",
        "time": "Tue Jan 19 10:05:33 2010 +0900"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Mon Mar 29 15:43:09 2010 -0700"
      },
      "message": "linker: fix the undefined weak symbols issue\n"
    },
    {
      "commit": "8ab5b02b5f58d9b2f050a98b189284a3d6263d7b",
      "tree": "2f92218f958f60550990b0649011c93bf578b90a",
      "parents": [
        "87ae0da81716d61f556b1ee456a6764a1f635e55",
        "bdc6e3c83f70db35603260d5c1baa8097cb765fe"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Mon Mar 29 15:05:47 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon Mar 29 15:05:47 2010 -0700"
      },
      "message": "Merge changes Ibdc6e3c8,I9bcb91a2\n\n* changes:\n  Correct generic memset implementation\n  Generic memcpy should define MEMCOPY before including bcopy.c\n"
    },
    {
      "commit": "87ae0da81716d61f556b1ee456a6764a1f635e55",
      "tree": "ee134838e961e5a90f01bb2bc30548f35f00951d",
      "parents": [
        "58f0326362ca0f5fc17cbc19fd9217cabf0d93dd",
        "8ff1a2759a6389bed30d7862d0beb76077032c99"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Mon Mar 29 14:40:05 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon Mar 29 14:40:05 2010 -0700"
      },
      "message": "Merge \"Atom optimized string and memory routines\""
    },
    {
      "commit": "62ac0dc457bddf7472f7be1e9895b1aee20f35cf",
      "tree": "a64eeb5831341d6f51c2f64af2335fc3a8a0e600",
      "parents": [
        "7e0bfb511e85834d7c6cb9631206b62f82701d60",
        "58f0326362ca0f5fc17cbc19fd9217cabf0d93dd"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 29 11:01:59 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 29 11:01:59 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I96d2cd063f084fd17116bf7ee08fa7109a3c1ceb\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": "8ff1a2759a6389bed30d7862d0beb76077032c99",
      "tree": "7be1e8b794d09c84b52a40d08eac6dfffbf3d252",
      "parents": [
        "1825fb5d5f214849e39d95660795a0d3633f8eeb"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Thu Mar 04 11:03:37 2010 -0800"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Fri Mar 26 10:54:07 2010 -0700"
      },
      "message": "Atom optimized string and memory routines\n\nChange-Id: I27b68bb28551c75c9ac84bb9730e2cd8254d8991\n"
    },
    {
      "commit": "58f0326362ca0f5fc17cbc19fd9217cabf0d93dd",
      "tree": "fd4b6450243770a37214f83ded426cfca3fab259",
      "parents": [
        "1825fb5d5f214849e39d95660795a0d3633f8eeb"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Wed Mar 10 15:52:42 2010 -0800"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Fri Mar 26 09:36:01 2010 -0700"
      },
      "message": "Android hack for size_t\n\nChange-Id: I3c967fca60f542459dc17be84da47b3b6a26242b\n"
    },
    {
      "commit": "7e0bfb511e85834d7c6cb9631206b62f82701d60",
      "tree": "9579d38c3ba80e5cdd2f39b2168ac678f8615182",
      "parents": [
        "4e383b81d03db3592a43766dd6f996e7f84d8dc7"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 24 18:06:20 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 24 18:07:26 2010 -0700"
      },
      "message": "Fix comparison of IPv6 prefixes\n\nTypo assigned prefixlen1 twice instead of to the two different variables\nfor comparison and difference computation.\n\nChange-Id: I6631b8269ca6aae264c8d7d414127b756838df96\n"
    },
    {
      "commit": "4e383b81d03db3592a43766dd6f996e7f84d8dc7",
      "tree": "cd2dc56f97b77e36f53322324b67b3bfcd529ffc",
      "parents": [
        "5207d78c321571b4b5ef3dd405198267a0d940b1"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon Mar 08 17:34:52 2010 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Mar 24 14:13:10 2010 -0700"
      },
      "message": "libc: kernel: update msm_kgsl.h\n\nChange-Id: I8cd5a186071892bdc2b2b29061dd6c1fd927c0f5\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "5207d78c321571b4b5ef3dd405198267a0d940b1",
      "tree": "d68a66aeac566fac1fe085a8728a86df80cfb295",
      "parents": [
        "b5e4a416060aa7f0a1e2a9ad5b8e318d59986852"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Mar 23 05:30:55 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Mar 23 05:30:55 2010 -0700"
      },
      "message": "Fix typo that broke recursive mutexes implementation.\n\nChange-Id: I832901604b487c6a50304c311b5ba135e153530d\n"
    },
    {
      "commit": "b5e4a416060aa7f0a1e2a9ad5b8e318d59986852",
      "tree": "39115a2ef1c6c4084763687a312a67a52c9597c1",
      "parents": [
        "377d4c979dee3dcb5929e8f7a68a53c2407259ab"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Mar 19 17:59:23 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 22 17:31:50 2010 -0700"
      },
      "message": "pthread: Use private futexes by default in condition variables\n\nNow that the system properly uses shared condvars when needed, we\ncan enable the use of private futexes for them too.\n\nChange-Id: Icf8351fc0a2309f764cba45c65bc3af047720cdf\n"
    },
    {
      "commit": "377d4c979dee3dcb5929e8f7a68a53c2407259ab",
      "tree": "1783fe0272f1437faabfe8365e615696eb8d374c",
      "parents": [
        "709a898de82128c065381e258e8e71f0a55df976",
        "1825fb5d5f214849e39d95660795a0d3633f8eeb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 22 15:55:09 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 22 15:55:09 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I70266ee8c520b216773f267e46c8273d2334c31d\n"
    },
    {
      "commit": "709a898de82128c065381e258e8e71f0a55df976",
      "tree": "74fb234b3c8058ccb5a9b56ecd49eb9fdb6cce4f",
      "parents": [
        "88f06cd84a70f8a5212cb03272ec2c7cf0017afa",
        "8132626b71b319c71c7c4710f0c57c417badf8c0"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 22 15:45:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 22 15:45:32 2010 -0700"
      },
      "message": "Merge \"Fix strtod security bug.\""
    },
    {
      "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": "1825fb5d5f214849e39d95660795a0d3633f8eeb",
      "tree": "e80791744a8729b3847a731e7729c385f0ab1af3",
      "parents": [
        "c0e464268d381a5575897e6c2de397167d0985db",
        "a28336c73542f5df1c03de4c142070f408e8d5aa"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Thu Mar 18 16:42:49 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Mar 18 16:42:49 2010 -0700"
      },
      "message": "Merge \"bionic: on pthread_join(), avoid extra check in case we find the thread\""
    },
    {
      "commit": "c0e464268d381a5575897e6c2de397167d0985db",
      "tree": "8ca61174ddde4d67944149e55e5a0d32a93fef9c",
      "parents": [
        "e2a8b1fd19fb3a8ead2ba28ddba27be19fa978b5",
        "3b06c128cf2799cec8f7524dc11c4e6c320fe4c7"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Thu Mar 18 16:35:42 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Mar 18 16:35:42 2010 -0700"
      },
      "message": "Merge \"bionic: ftell() returns a long, not an int\""
    },
    {
      "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": "e2a8b1fd19fb3a8ead2ba28ddba27be19fa978b5",
      "tree": "e5448ec45187a37dbade76fcf10115f91135a8bd",
      "parents": [
        "ede2e75f4942293342dfb8dfd4751369600ed8f1"
      ],
      "author": {
        "name": "Matt Fischer",
        "email": "matt.fischer@garmin.com",
        "time": "Thu Dec 31 12:17:40 2009 -0600"
      },
      "committer": {
        "name": "Garmin Android technology group",
        "email": "android@garmin.com",
        "time": "Wed Mar 17 16:11:37 2010 -0500"
      },
      "message": "Added support for dladdr()\n\ndladdr() is a GNU extension function, which allows the caller to retrieve\nsymbol information for a specified memory address.  It is useful for things\nlike generating backtrace information at runtime.\n\nChange-Id: I3a1def1a6c9c666d93e1e97b7d260dfa5b9b79a9\n"
    },
    {
      "commit": "ede2e75f4942293342dfb8dfd4751369600ed8f1",
      "tree": "00cc20bb91b42892be7f4f659af255adcb2fc7fb",
      "parents": [
        "b0ae864dffd288c3547618b3a193569ea579eea5",
        "3c543e1da9a2780a70b25299f39734bf0a18c4a0"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Wed Mar 17 14:07:27 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Wed Mar 17 14:07:27 2010 -0700"
      },
      "message": "Merge \"x86 syscall system call implementation\""
    },
    {
      "commit": "b0ae864dffd288c3547618b3a193569ea579eea5",
      "tree": "1a14cdfee83eea3c73688af113cec636193470e3",
      "parents": [
        "a9c41a8e0a62f70a37f7040740a9b1ef06a66612",
        "e31c1d0b48b4654d3562fc6c9dd648d72356449e"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Wed Mar 17 14:00:20 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Wed Mar 17 14:00:20 2010 -0700"
      },
      "message": "Merge \"Fix pread()/pwrite() stubs\""
    },
    {
      "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": "a9c41a8e0a62f70a37f7040740a9b1ef06a66612",
      "tree": "6cb6780bb885e4431d7fc16d9a651cbea2fe4cf4",
      "parents": [
        "3f192f55f06610a4aff8ce88548cfa4d1607f0e3",
        "291100c795fc98f4a1320e7de0dbef2615cd8fb9"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Tue Mar 16 17:26:44 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Mar 16 17:26:44 2010 -0700"
      },
      "message": "Merge \"bionic: remove unneeded variable from chk_realloc()\""
    },
    {
      "commit": "3f192f55f06610a4aff8ce88548cfa4d1607f0e3",
      "tree": "ff55494e053e9dc7ef1cd1c803ccdfc8e0fbfaae",
      "parents": [
        "dd8f3c80f15981cae0a1ba72de0e9da0159ccb93",
        "699237baf54af3395311ad71ebedce20745c4cb2"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Tue Mar 16 17:25:53 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Mar 16 17:25:53 2010 -0700"
      },
      "message": "Merge \"bionic: equalize the \u003cunknown\u003e program name between ssp.c and libc_init_common.c\""
    },
    {
      "commit": "dd8f3c80f15981cae0a1ba72de0e9da0159ccb93",
      "tree": "ff347730f689bf7051ff5773a8c9b7334b300a33",
      "parents": [
        "5586838babaa9e8a6cf31547f4ba0d3bc333b336",
        "30a419afc3cdb641e350c7cfde753877675958e0"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Tue Mar 16 17:25:04 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Mar 16 17:25:04 2010 -0700"
      },
      "message": "Merge \"improve readability of string: fix indentation and remove trailing spaces\""
    },
    {
      "commit": "5586838babaa9e8a6cf31547f4ba0d3bc333b336",
      "tree": "052572a224ddd40087bab33599d538f77d8c5d0d",
      "parents": [
        "58060c50bc4228a7d0253338cae0437211759959",
        "8f92500fa93d174d077af28d8af3e3cb732e0aff"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Tue Mar 16 17:21:52 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Mar 16 17:21:52 2010 -0700"
      },
      "message": "Merge \"optimize delete/delete[] operators by removing unneeded branch\""
    },
    {
      "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": "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": "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": "3c543e1da9a2780a70b25299f39734bf0a18c4a0",
      "tree": "07780890d546321d9426758f629f5a951b5a2eeb",
      "parents": [
        "58060c50bc4228a7d0253338cae0437211759959"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Thu Mar 04 10:29:38 2010 -0800"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Thu Mar 04 10:29:38 2010 -0800"
      },
      "message": "x86 syscall system call implementation\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": "e31c1d0b48b4654d3562fc6c9dd648d72356449e",
      "tree": "b777e461f0d2556bc5183a574ef4e67191347c54",
      "parents": [
        "95604529ec25fe7923ba88312c590f38aa5e3d9e"
      ],
      "author": {
        "name": "Matt Fischer",
        "email": "matt.fischer@garmin.com",
        "time": "Fri Aug 21 15:45:17 2009 -0500"
      },
      "committer": {
        "name": "Garmin Android technology group",
        "email": "android@garmin.com",
        "time": "Fri Feb 12 16:13:46 2010 -0600"
      },
      "message": "Fix pread()/pwrite() stubs\n\nOn ARM EABI, 64-bit function parameters must be aligned\nto an even/odd register pair.  The weird way these stubs\nwere written (using separate lo/hi parameters) prevented\nthis alignment from being enforced by the compiler.\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": "bdc6e3c83f70db35603260d5c1baa8097cb765fe",
      "tree": "5876d8cb021bbd72508dea2c3c5426512011f685",
      "parents": [
        "9bcb91a212ab4b9bd5892f4cf3adda6a549b8fbc"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Fri Feb 05 15:13:55 2010 -0800"
      },
      "committer": {
        "name": "Dan Hazon",
        "email": "dan@mips.com",
        "time": "Fri Feb 05 15:13:55 2010 -0800"
      },
      "message": "Correct generic memset implementation\n\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\n"
    },
    {
      "commit": "9bcb91a212ab4b9bd5892f4cf3adda6a549b8fbc",
      "tree": "cab2fee8e6cab072acece72b269b7a1349a3209b",
      "parents": [
        "95604529ec25fe7923ba88312c590f38aa5e3d9e"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Fri Feb 05 15:13:55 2010 -0800"
      },
      "committer": {
        "name": "Dan Hazon",
        "email": "dan@mips.com",
        "time": "Fri Feb 05 15:13:55 2010 -0800"
      },
      "message": "Generic memcpy should define MEMCOPY before including bcopy.c\n\nSigned-off-by: Chris Dearman \u003cchris@mips.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": "699237baf54af3395311ad71ebedce20745c4cb2",
      "tree": "fc04a8463951028e8ebd95401f59dd7da32f001a",
      "parents": [
        "95604529ec25fe7923ba88312c590f38aa5e3d9e"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 17:48:07 2010 -0200"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 17:48:07 2010 -0200"
      },
      "message": "bionic: equalize the \u003cunknown\u003e program name between ssp.c and libc_init_common.c\n\n... for the consistency sake.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "291100c795fc98f4a1320e7de0dbef2615cd8fb9",
      "tree": "5600a5c95c98ab0e80442f90d65a060fa5b843f9",
      "parents": [
        "95604529ec25fe7923ba88312c590f38aa5e3d9e"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 16:32:56 2010 -0200"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 16:32:56 2010 -0200"
      },
      "message": "bionic: remove unneeded variable from chk_realloc()\n\n... and simplify the generated code.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "a28336c73542f5df1c03de4c142070f408e8d5aa",
      "tree": "4e9349481971a8673e098108b5716a23fa59d9b8",
      "parents": [
        "95604529ec25fe7923ba88312c590f38aa5e3d9e"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 16:21:07 2010 -0200"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 16:21:07 2010 -0200"
      },
      "message": "bionic: on pthread_join(), avoid extra check in case we find the thread\n\n... by using similar logic as used in pthread_detach().\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "3b06c128cf2799cec8f7524dc11c4e6c320fe4c7",
      "tree": "ee7eb9bd29a431486eafe775c1101b25e9ec38f6",
      "parents": [
        "95604529ec25fe7923ba88312c590f38aa5e3d9e"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 16:05:52 2010 -0200"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 16:05:52 2010 -0200"
      },
      "message": "bionic: ftell() returns a long, not an int\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\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": "30a419afc3cdb641e350c7cfde753877675958e0",
      "tree": "b4484c80c91c40584edcba2625c196b36a3bae0c",
      "parents": [
        "8f92500fa93d174d077af28d8af3e3cb732e0aff"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:28:49 2010 -0200"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:28:49 2010 -0200"
      },
      "message": "improve readability of string: fix indentation and remove trailing spaces\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "8f92500fa93d174d077af28d8af3e3cb732e0aff",
      "tree": "8dbb819efaf6b071dab7467dd23d8db15aa59ec6",
      "parents": [
        "95604529ec25fe7923ba88312c590f38aa5e3d9e"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:26:30 2010 -0200"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:26:30 2010 -0200"
      },
      "message": "optimize delete/delete[] operators by removing unneeded branch\n\nRemove redundant not NULL check already done in free().\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.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"
    }
  ],
  "next": "3839580cd9635fcfb8b509eef4c693b51ec48a12"
}
