)]}'
{
  "log": [
    {
      "commit": "5b81b918173b4bf446c1a85240c094e4dd77231f",
      "tree": "dd4cab2ff2183ab7a13833f343870d57baaa1250",
      "parents": [
        "af00228b705b53165c132a22b30c2d6cbb9acd13"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Oct 07 11:03:32 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Oct 07 11:03:32 2010 +0200"
      },
      "message": "libc: optimize memmove() with memcpy() if possible.\n\nChange-Id: I90e578fdc82e427caee8fa4157ce3f8c6c99926d\n"
    },
    {
      "commit": "af00228b705b53165c132a22b30c2d6cbb9acd13",
      "tree": "b66b8b3ce14c1731e6bebad7fcdc2bf019563d71",
      "parents": [
        "defd162212de3789d2268a1f3339c2a6097fa825"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 28 10:24:20 2010 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 28 10:24:20 2010 -0700"
      },
      "message": "Revert \"libc: memmove(): non-overlapping block optim.\"\n\nThis reverts commit 80fba9a2fe4eacaabee99cf0bbead872c2792231,\nwhich caused the system to not boot anymore, aborting with:\n\"java.lang.RuntimeException: Missing static main on com.android.server.SystemServer\".\n\nChange-Id: I745e0a23c728cccf5f95a3c7642d544478a4e57e\n"
    },
    {
      "commit": "defd162212de3789d2268a1f3339c2a6097fa825",
      "tree": "35242a10fe8453224718e9da6db3b44f58d8aa15",
      "parents": [
        "9973a564222b842eb7497fd6e659fe8c8c49e2b3"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Sep 26 22:29:14 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 28 09:20:37 2010 +0200"
      },
      "message": "libc: add \u003csys/eventfd.h\u003e and corresponding implementations.\n\nChange-Id: Ide040884c456190226e580513099fdb8377e015b\n"
    },
    {
      "commit": "9973a564222b842eb7497fd6e659fe8c8c49e2b3",
      "tree": "e1a716e1850f15d9245b82affa0b0e7688b0c782",
      "parents": [
        "a3ae60d343661784e3f6f4566b276d8e6b8a06a7"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Sep 27 17:30:33 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 28 09:18:26 2010 +0200"
      },
      "message": "libc: Add missing waitid() implementation.\n\nChange-Id: I312ee608dbf9249e4886a10d45d13e3cda8a9042\n"
    },
    {
      "commit": "a3ae60d343661784e3f6f4566b276d8e6b8a06a7",
      "tree": "08c1d005960477585df8fd5e0a14b421f4767643",
      "parents": [
        "307aadb8473744c3d946add8b3e4947ada5481aa"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Sep 27 17:28:38 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 28 09:17:17 2010 +0200"
      },
      "message": "libc: Add missing fdatasync() implementation\n\nChange-Id: I04bb655d77e414021e1f2a973329167ad76ca1c4\n"
    },
    {
      "commit": "307aadb8473744c3d946add8b3e4947ada5481aa",
      "tree": "cd9dfce451ada094d1703e7006a605f3802d2996",
      "parents": [
        "79260746dbed91babab415ea86fba0e3eb086429",
        "f33a7700a5a893798e92ee67495281d2e24159fa"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 28 00:15:23 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 00:15:23 2010 -0700"
      },
      "message": "Merge \"libc: Add missing C++ guards to \u003cpathconf.h\u003e\" into gingerbread"
    },
    {
      "commit": "79260746dbed91babab415ea86fba0e3eb086429",
      "tree": "d2d601aa76389e72fd8aca11e950cbe32742ac6d",
      "parents": [
        "032a713549c12b79b5dde6ef3dff323b7698110d",
        "80fba9a2fe4eacaabee99cf0bbead872c2792231"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 28 00:15:05 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 00:15:05 2010 -0700"
      },
      "message": "Merge \"libc: memmove(): non-overlapping block optim.\" into gingerbread"
    },
    {
      "commit": "032a713549c12b79b5dde6ef3dff323b7698110d",
      "tree": "ad23a23ec5aca0c370f2c055cfe66f1fab428b0d",
      "parents": [
        "223ddfcfc4cb354641e70da31a60556248db5036",
        "00eea3f8a07190dc6d2c4d0e927fed3e47502424"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 28 00:12:13 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 00:12:13 2010 -0700"
      },
      "message": "Merge \"libc: add missing O_CLOEXEC from \u003cfcntl.h\u003e\" into gingerbread"
    },
    {
      "commit": "223ddfcfc4cb354641e70da31a60556248db5036",
      "tree": "a40fec6fc010dc108d5a4ed72add00eefd0bcca4",
      "parents": [
        "9df22a5a5fc57d511bfde3338806ec98d0cc334f",
        "275cd48511daabe4591caa49c3ad0df34a6889ff"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 28 00:12:08 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 00:12:08 2010 -0700"
      },
      "message": "Merge \"libc: Add missing pipe2() declaration and implementation.\" into gingerbread"
    },
    {
      "commit": "bd8d987b3c3aa6d9d00cede2cb091f00bdb42204",
      "tree": "cdc35d78d1da7fa4d2b5cd6212b559fb7722f87d",
      "parents": [
        "b9e49ad56e5776ace7c6eab2e997d5b7acb16792"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Sep 26 23:00:36 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Sep 27 17:35:26 2010 +0200"
      },
      "message": "libc: remove C++ comments from public headers.\n\nChange-Id: I4af84f912062cd2ff34711c25122fb323f20c032\n"
    },
    {
      "commit": "80fba9a2fe4eacaabee99cf0bbead872c2792231",
      "tree": "35cf24d62149365bdad0994d837654e3d05399d9",
      "parents": [
        "b9e49ad56e5776ace7c6eab2e997d5b7acb16792"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Sep 26 22:40:02 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Sep 27 17:34:41 2010 +0200"
      },
      "message": "libc: memmove(): non-overlapping block optim.\n\nChange-Id: I5652f4f97ca59d95176443fc27c737ef76258183\n"
    },
    {
      "commit": "00eea3f8a07190dc6d2c4d0e927fed3e47502424",
      "tree": "93e11a2dd3474816b6afbbcb1776c17946e806f8",
      "parents": [
        "b9e49ad56e5776ace7c6eab2e997d5b7acb16792"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Sep 26 20:03:16 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Sep 27 17:33:40 2010 +0200"
      },
      "message": "libc: add missing O_CLOEXEC from \u003cfcntl.h\u003e\n\nChange-Id: Ie7ad57898e67800a9fe92bb52589d67ec30e1cd9\n"
    },
    {
      "commit": "275cd48511daabe4591caa49c3ad0df34a6889ff",
      "tree": "7fa40917d92ff25cbfe6e4f4d4cbe01bd9af588e",
      "parents": [
        "b9e49ad56e5776ace7c6eab2e997d5b7acb16792"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Sep 27 17:33:08 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Sep 27 17:33:08 2010 +0200"
      },
      "message": "libc: Add missing pipe2() declaration and implementation.\n\nChange-Id: Iacb914bd6ac5adc60c5671e6fef680ede21f9b0c\n"
    },
    {
      "commit": "f33a7700a5a893798e92ee67495281d2e24159fa",
      "tree": "0cdfbf884b46d8e831db191f75d513d155ca64d3",
      "parents": [
        "b9e49ad56e5776ace7c6eab2e997d5b7acb16792"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Sep 27 17:27:14 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Sep 27 17:27:14 2010 +0200"
      },
      "message": "libc: Add missing C++ guards to \u003cpathconf.h\u003e\n\nChange-Id: I94dad48678181d8b02431b1c1f5d507beafb5406\n"
    },
    {
      "commit": "b9e49ad56e5776ace7c6eab2e997d5b7acb16792",
      "tree": "c0e2ba58abab835fb00e89509a8922297038bdcf",
      "parents": [
        "fedbcde6ef552e84bf7ce7598bca7dddf1722d6a"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Sep 22 14:51:53 2010 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Sep 22 14:51:53 2010 -0700"
      },
      "message": "Use a recursive lock for pthread_once. DO NOT MERGE.\n\nBackport change I9fc8b790 from Master to Gingerbread\n\nChange-Id: I5cf48fcd4efb7991ed82f87d9365c19655dc9b7f\n"
    },
    {
      "commit": "cb99ab98c99291a6c90043009ab8d64ec8058f9d",
      "tree": "d2bfeed05cdfac7ca4043365588d056d07f701f5",
      "parents": [
        "6e42398dd66d1ec7d84257f78c07dcc7f29a2283"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 10 12:20:58 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 10 12:20:58 2010 -0700"
      },
      "message": "Add wmemcmp to Android.mk\n\nChange-Id: I9dc96d72b2becdd31981b4d176a13358aef6dcb9\n"
    },
    {
      "commit": "6e42398dd66d1ec7d84257f78c07dcc7f29a2283",
      "tree": "aef330514edb08232783283562c5c3de393ac907",
      "parents": [
        "cc6b18291075a7960ad0d638d2047f41be1297e8",
        "e44cb1a35c4bf3f30e2b9e3961c57b7ca6fa7849"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Tue Aug 31 15:48:25 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 31 15:48:25 2010 -0700"
      },
      "message": "Merge \"Fix return value.\" into gingerbread"
    },
    {
      "commit": "e44cb1a35c4bf3f30e2b9e3961c57b7ca6fa7849",
      "tree": "a505afada0c66179cb978fd3c7694a50e67e3486",
      "parents": [
        "6a51defa034a1c033ed01f7de444c0a4fc615249"
      ],
      "author": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Tue Aug 31 15:19:38 2010 -0700"
      },
      "committer": {
        "name": "rich cannings",
        "email": "richc@google.com",
        "time": "Tue Aug 31 15:19:38 2010 -0700"
      },
      "message": "Fix return value.\n\nReturn a valid pointer (not NULL) when the character \"c\" is at the end of \"src\".\n\nChange-Id: Iab0b677943f2c8a9fbb255c44689f5d6dc3535d7\nExample:\n  memccpy(dest, \"xzy\", \u0027y\u0027, 3) should return dest+3 rather than null.\n"
    },
    {
      "commit": "cc6b18291075a7960ad0d638d2047f41be1297e8",
      "tree": "23c76bb8a9c21a5573c049ab03410024dcdea99f",
      "parents": [
        "6a51defa034a1c033ed01f7de444c0a4fc615249",
        "e77d54d98a430a5f80d3bd5569f3b32866e4c538"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Aug 31 14:01:13 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 31 14:01:13 2010 -0700"
      },
      "message": "Merge \"Make timezones available to the host build.\" into gingerbread"
    },
    {
      "commit": "e77d54d98a430a5f80d3bd5569f3b32866e4c538",
      "tree": "2b1441f41122d6442fc160f3b7c0a8d0fd7bac30",
      "parents": [
        "22f1e3d4fae7d45cc439da94690d786ed44756fb"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Aug 31 13:16:25 2010 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Aug 31 13:16:25 2010 -0700"
      },
      "message": "Make timezones available to the host build.\n\nChange-Id: Ib2c89ac13b03f07c6c712a544bc0d5d1c9dc57df\n"
    },
    {
      "commit": "6a51defa034a1c033ed01f7de444c0a4fc615249",
      "tree": "87b93dbfe8ab9c61d80d4a6036c66b0982b72c73",
      "parents": [
        "22f1e3d4fae7d45cc439da94690d786ed44756fb"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Aug 27 08:19:19 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Aug 27 08:19:19 2010 -0700"
      },
      "message": "Fix __get_tls() in static C library to use kernel helpers.\n\nThis is needed to fix gdbserver\u0027s handling of threaded programs,\namong other things.\n\nChange-Id: I823387c602cef9891532da946a01db14be780ab0\n"
    },
    {
      "commit": "52e7d3d91ab6a5bab77c5dfb1ed47381fd52f9ba",
      "tree": "95fd304d94292f13851cd4590e89a0b6acb3a297",
      "parents": [
        "18c5bcc66a9a7b2178dcdcf04a0716958798ab81"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 09 13:43:46 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 09 13:43:46 2010 -0700"
      },
      "message": "Bulletproof leak dump against null hash entries\n\nPreviously, the malloc leak checking code would crash in qsort()\nif null entries existed in its bookkeeping table.  This change\nmakes the comparison function detect null entries and sort them\nto the end safely.\n\nChange-Id: I88244a7df1e289dd9d7992ce29606d505bd63079\n"
    },
    {
      "commit": "18c5bcc66a9a7b2178dcdcf04a0716958798ab81",
      "tree": "b53f6b74051e06eb57dc11fe512c48c0cffd44d4",
      "parents": [
        "7ed132a1ae6e00593918090a964f5d5b09d77f84"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Jul 29 19:12:04 2010 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Jul 29 19:12:04 2010 -0700"
      },
      "message": "Revert \"Set SA_RESTORER in sigaction()\"\n\nThis reverts commit e4fa46e75cd0d433b5c6c064720ed7e195cba7c8.\n"
    },
    {
      "commit": "7ed132a1ae6e00593918090a964f5d5b09d77f84",
      "tree": "3061016e063245a3e14c3992005da7e4714cb9e6",
      "parents": [
        "cd7014fd0634f1337fc3857f1c61e0d39443c4be"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Jul 27 14:26:21 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Jul 27 14:26:21 2010 -0700"
      },
      "message": "bionic: update processed kernel header msm_camera.h\n\nChange-Id: If66422d538d0fb0c6ae8a7399c62911635d1fd13\n"
    },
    {
      "commit": "cd7014fd0634f1337fc3857f1c61e0d39443c4be",
      "tree": "44802f4c1b500efb646a0454925ec97fb67156f9",
      "parents": [
        "6774809b6249d9d4efd982b6e3ca377c84482d9a"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Jul 26 15:53:24 2010 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Jul 26 15:53:24 2010 -0700"
      },
      "message": "Update time zone data to the new version 2010k.\n\nChange-Id: If657e1783e3f96c52bfe613bad027482d8373c67\n"
    },
    {
      "commit": "6774809b6249d9d4efd982b6e3ca377c84482d9a",
      "tree": "2604b1ff619cc69aea02ac37c39c61d9b0c8c7c2",
      "parents": [
        "9d1f5afc34efb8c10672f765704941036fd40da8"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jul 21 16:18:21 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jul 23 12:16:15 2010 -0700"
      },
      "message": "linker: Support dlopen(NULL, ...) properly.\n\nChange-Id: Icba37823cb350c34848cc466d144c3a0af87c94c\n"
    },
    {
      "commit": "9d1f5afc34efb8c10672f765704941036fd40da8",
      "tree": "d2d3acb1669bbe0cf0b9cad81992bf085cc45700",
      "parents": [
        "b97c44dc9ecbe38c3bcee5abe55df173cb0fdf18"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Jul 12 10:32:11 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Jul 19 09:03:18 2010 -0700"
      },
      "message": "bionic: update processed kernel header msm_camera.h\n\nChange-Id: I25598b08e9cafe98a86cdb2e40481d9aedc8dcee\n"
    },
    {
      "commit": "cb7e8c5ef3f5f60a848e469ed40610c8946fe7ac",
      "tree": "57f834d14915d4a63edf62aa0026676064baba8f",
      "parents": [
        "ab8b54101eed0a4b92ebf8fa6994cd1b4f22d8f4"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 08 17:19:07 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 08 17:20:29 2010 -0700"
      },
      "message": "libc: update alarm() implementation to return 0 on error.\n\nThis matches the GLibc behaviour, and allows alarm(0xFFFFFFFF) to return 0.\n\nChange-Id: I419aa71b27d6bb2015d15ba6b6112bf62eadcbb8\n"
    },
    {
      "commit": "ab8b54101eed0a4b92ebf8fa6994cd1b4f22d8f4",
      "tree": "938dc20fe75d7fcedb7c11c7c44f68aa783463e7",
      "parents": [
        "d466780c7cedb41edcf13f28ad900556c6aaa5b2"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 08 16:52:27 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 08 16:52:27 2010 -0700"
      },
      "message": "libc: fix fstatfs() implementation.\n\nThe syscall expects the size of the buffer as the second argument.\n\nChange-Id: I99ede2fec7fcd385ca03ff022c2cffa4297bea8d\n"
    },
    {
      "commit": "519763265ec0b634bd9c264a0aca034882458ecc",
      "tree": "263dc7f4fa4256869cea19e6ea8a077d29bd95ad",
      "parents": [
        "a02b93bd75a9d156117264d88069566e447397e2"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 28 14:10:14 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jul 02 15:09:57 2010 -0700"
      },
      "message": "libc: Fix sem_post() implementation to wake up all waiting threads.\n\nThis also allows us to optimize the case where we increment an\nuncontended semaphore (no need to call futex_wake() then).\n\nChange-Id: Iad48efe8551dc66dc89d3e3f18c001e5a6c1939f\n"
    },
    {
      "commit": "a02b93bd75a9d156117264d88069566e447397e2",
      "tree": "82f11630b57fc7a9defa24b8e2955a5614275d1c",
      "parents": [
        "0621a279adfb981ea1f0564e7fc8280cda78e043"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 28 14:20:22 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 28 14:20:22 2010 -0700"
      },
      "message": "libc: add sanity checks to pthread_mutex_destroy()\n\nChange-Id: Iddb2204fa792fa9aca5f19838926dddbb09b74a2\n"
    },
    {
      "commit": "fa5755ae980b6f4ac5df37b263ba20f472db31ca",
      "tree": "94c1afd02e159abc047f22acb8b5a3214c16d45a",
      "parents": [
        "50ace4fec5e8cb5afcbc656a4556fa528adfd760",
        "21baae3d710df1ea85bf21552a7528e8994cad06"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Jun 23 17:56:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 23 17:56:38 2010 -0700"
      },
      "message": "Merge \"Add clean headers for 7x30 video codec.\" into gingerbread"
    },
    {
      "commit": "21baae3d710df1ea85bf21552a7528e8994cad06",
      "tree": "65c14ca9ee589f6518ee02f677bf4f89833ccd40",
      "parents": [
        "6a9b888d7c4b246f6f66360789c72b754ff85021"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Jun 23 16:17:58 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Jun 23 16:17:58 2010 -0700"
      },
      "message": "Add clean headers for 7x30 video codec.\n\nChange-Id: Id4faa5bacb03cc42377527e05c53c6392c776e7d\n"
    },
    {
      "commit": "50ace4fec5e8cb5afcbc656a4556fa528adfd760",
      "tree": "04647e039a457f69ba48a8301bebdd605fda7fca",
      "parents": [
        "6a9b888d7c4b246f6f66360789c72b754ff85021"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 16 16:36:41 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 22 17:51:41 2010 -0700"
      },
      "message": "Remove compiler warnings when building Bionic.\n\nAlso add missing declarations to misc. functions.\nFix clearerr() implementation (previous was broken).\nHandle feature test macros like _POSIX_C_SOURCE properly.\n\nChange-Id: Icdc973a6b9d550a166fc2545f727ea837fe800c4\n"
    },
    {
      "commit": "6a9b888d7c4b246f6f66360789c72b754ff85021",
      "tree": "d27e4487c13f200d4cfe193f950e25a01efa7743",
      "parents": [
        "6a09cfd9f916e3a60de707ff0806cdeb143d77a4"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 18 14:47:22 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 18 16:07:10 2010 -0700"
      },
      "message": "Allow static C++ destructors to be properly called on dlclose().\n\nWith this patch, _and_ an upcoming build/ patch, the destruction\nof static C++ objects contained in shared libraries will happen\nproperly when dlclose() is called.\n\nNote that this change introduces crtbegin_so.S and crtend_so.S which\nare currently ignored by the build system.\n\n+ move definition of __dso_handle to the right place\n  (before that, all shared libraries used the __dso_handle\n   global variable from the C library).\n\n  Note that we keep a \u0027weak\u0027 __dso_handle in aeabi.c to avoid\n  breaking the build until the next patch to build/core/combo/\n  appears. We will be able to remove that later.\n\n+ move bionic/aeabi.c to arch-arm/bionic/ (its proper location)\n\nChange-Id: Ie771aa204e3acbdf02fd30ebd4150373a1398f39\nNOTE: The NDK will need to be modified to enable this feature in\n      the shared libraries that are generated through it.\n"
    },
    {
      "commit": "3527fd6f0df794207215790321824b7844cc712d",
      "tree": "bf295d17cdd7dfccd75ec314e02f93d3e1cd125a",
      "parents": [
        "da3019b55305ce51b1b483d8727641e791ce0941"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 14 17:18:35 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 15 07:04:41 2010 -0700"
      },
      "message": "wchar.h: improve wchar_t support in Bionic\n\nChange-Id: Iffd41046fd0933c66542abf7627a1569522dfcb2\n"
    },
    {
      "commit": "da3019b55305ce51b1b483d8727641e791ce0941",
      "tree": "c9bd76c757d8689bc2367bb0fdf318fbe3c7d060",
      "parents": [
        "ecb6d4133477fef90c2fa23a40637d3c62681ee0"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 11 14:37:34 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 11 14:40:02 2010 -0700"
      },
      "message": "libc: add missing truncate() declaration\n\nChange-Id: Icb3601bbc9365b75b05ff443a39192f9cd3cbfb7\n"
    },
    {
      "commit": "ecb6d4133477fef90c2fa23a40637d3c62681ee0",
      "tree": "d2053e198f32b1a389534ca6d019d1c75fdb8088",
      "parents": [
        "6c8a2f2a5bc8d612ee953f528f2b5eb35983656a"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 11 13:30:25 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 11 14:39:39 2010 -0700"
      },
      "message": "libc: Add missing \u003ctermio.h\u003e header\n\nChange-Id: Id4e020ed330b3eabf09324f9b6d44d3a0f336d87\n"
    },
    {
      "commit": "6c8a2f2a5bc8d612ee953f528f2b5eb35983656a",
      "tree": "7dd45d3e3162220578e93a6cb7244b4209b1c7c5",
      "parents": [
        "038fbae518e904c7aba64779714a22dbeeb90887"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jun 10 23:34:24 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 11 13:49:09 2010 -0700"
      },
      "message": "libc: remove cutils dependencies\n\nWe simply copy the stuff we need from cutils headers.\n\nA future patch will change cutils to include the private \u003cbionic_atomic_inline.h\u003e\n\nChange-Id: Ib6fd9a03bc9e337ce867bd606dc94c2b4438480a\n"
    },
    {
      "commit": "038fbae518e904c7aba64779714a22dbeeb90887",
      "tree": "713fecf819f653c56c3f8b2bae0e8e86a7afa2e6",
      "parents": [
        "9205fdf8c689a9cb27cfb33aeb58789c7da75788"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 18:15:57 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 18:15:57 2010 -0700"
      },
      "message": "sysconf(): Fix line parser for /proc files.\n\nChange-Id: I2678010ee95933de19c8a8e3b2fe65ceb9b86400\n"
    },
    {
      "commit": "9205fdf8c689a9cb27cfb33aeb58789c7da75788",
      "tree": "0b1d5d6f72a51543e029d5422702ad3f8bbc6cc3",
      "parents": [
        "2beac0f5c67470611629e4fe4c8e495232ff63fa"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Fri Jun 04 08:14:44 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 15:52:28 2010 -0700"
      },
      "message": "Add missing termios defns to bring on par with ARM - DO NOT MERGE\n\nChange-Id: I6e16e7ab117b6df07ef24f092de1511fe1e9e7b1\n"
    },
    {
      "commit": "410b2ae7fbff36db1d35e5765b2c79b8b6b7ad5b",
      "tree": "196db252e67e890c2d324da02df773a05d604efe",
      "parents": [
        "506b13d910a1a603b29fbc5a9ba41ba4c533b14c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 14:35:29 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 14:35:29 2010 -0700"
      },
      "message": "Add sincosl() function to bionic. So that sincos optimization can - DO NOT MERGE\nbe enabled.\n\nChange-Id: I672cb319689aa4fb3f1f7cd868dda76842bebae9\n"
    },
    {
      "commit": "506b13d910a1a603b29fbc5a9ba41ba4c533b14c",
      "tree": "b59be2855b5ebc4129d5c9e02dc1df4b9789c73d",
      "parents": [
        "b8e6c50cfa2d4c4b73e071d0e836a2667db010b1"
      ],
      "author": {
        "name": "Jing Yu",
        "email": "jingyu@google.com",
        "time": "Thu May 20 20:25:48 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 13:24:22 2010 -0700"
      },
      "message": "Remove a gcc-4.5 compilation warning:\nbionic/libc/include/../include/stdlib.h: In function \u0027int grantpt(int)\u0027:\nbionic/libc/include/../include/stdlib.h:138:23: warning: parameter \u0027__fd\u0027 set but not used [-Wunused-but-set-parameter]\n\nBy adding __attribute((unused)) to __fd, the warning is gone, and this\nattribute is compatible with gcc-4.4.0, gcc-4.3.1 gcc-4.2.1.\nThere is no any side effect.\n\nChange-Id: I385f0f4da1013ffd1499e391eac9123aafe1f7a5\n"
    },
    {
      "commit": "b8e6c50cfa2d4c4b73e071d0e836a2667db010b1",
      "tree": "f9226eca1f1bce43e0e483a2a4713af2f414911f",
      "parents": [
        "aa4b1d042927872224e4bf5d22e4db5367e389fa"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 25 09:54:33 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 13:18:29 2010 -0700"
      },
      "message": "Fix setjmp()/longjmp() to save FP registers on ARMv7. - DO NOT MERGE\n\nChange-Id: I3a0c2c05e295ac05ed51a531dabda668be204ca0\n"
    },
    {
      "commit": "aa4b1d042927872224e4bf5d22e4db5367e389fa",
      "tree": "de40a80b8f9d1d2dd6a75b45901927378a1aed45",
      "parents": [
        "6304d8b21891fd0cb7b5a4c25159a3d3b1709d62"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu May 20 10:55:45 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 13:12:15 2010 -0700"
      },
      "message": "Add missing sysinfo() implementation (already declared in \u003csys/sysinfo.h\u003e) - DO NOT MERGE\n\nChange-Id: Iac4eb5911ffe4a7ab72b84df44e907685ac816af\n"
    },
    {
      "commit": "6304d8b21891fd0cb7b5a4c25159a3d3b1709d62",
      "tree": "8ab9c2bf6022f139b7af2eabda11846abf684171",
      "parents": [
        "a8a21488630980c1d2a2152d0ac39bd7978879e2"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 02 18:12:12 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 08 17:04:49 2010 -0700"
      },
      "message": "Use private futexes for semaphores, unless they are initialized with pshared !\u003d 0.\n\nChange-Id: I534e36a7171cd37037ae03b910ba71ea6968286d\nNote: previously, sem_init() would return an error if pshared !\u003d 0.\n"
    },
    {
      "commit": "a8a21488630980c1d2a2152d0ac39bd7978879e2",
      "tree": "aa2c3da5f3cfb2eb44933b5126984940b2c02e59",
      "parents": [
        "fcd00ebbdf3e7f4e1e7782a65ae10fb0fc03a1aa",
        "7b6e6fa57240466c2728d553be136f800600dd71"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jun 03 15:05:04 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jun 03 15:05:04 2010 -0700"
      },
      "message": "resolved conflicts for merge of 7b6e6fa5 to kraken\n\nChange-Id: I2b9b80a7fa32c56be2b85ff8be0d6e7ac1848afe\n"
    },
    {
      "commit": "7b6e6fa57240466c2728d553be136f800600dd71",
      "tree": "5744295128fa6b7b03377c8c7ab3c2df5af16cf5",
      "parents": [
        "8e1ee7fd01986825074ececd39e8c2a5ebc907e0",
        "f982f038329f7da7de5853c9d789ab138a4bcf16"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 03 14:39:20 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 03 14:39:20 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: Ib7fc9c6f79f9b13e2175da137005d8968ea85eaf\n"
    },
    {
      "commit": "f982f038329f7da7de5853c9d789ab138a4bcf16",
      "tree": "8f555e4c44b96d281460986a1d4c7c938523b22a",
      "parents": [
        "a910abcd194830d2d113b3e183eb7df4d36cd92e",
        "78c1c04ced772298be8bdb5a94b6ce491bb9b3e1"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Thu Jun 03 13:11:52 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Jun 03 13:11:52 2010 -0700"
      },
      "message": "Merge \"pthread: introduce pthread_setname_np() as a mean to give names to threads\""
    },
    {
      "commit": "fcd00ebbdf3e7f4e1e7782a65ae10fb0fc03a1aa",
      "tree": "859e86f36d6bf63ee284c65fff114bbbfdeff38f",
      "parents": [
        "4fdbadde921ec17b4ff9e97fbd41096903b21772"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri May 28 13:31:45 2010 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri May 28 16:12:01 2010 -0700"
      },
      "message": "Atomic/SMP update, part 3.\n\nUpdate ARM atomic ops to use LDREX/STREX.  Stripped out #if 0 chunk.\n\nInsert explicit memory barriers in pthread and semaphore code.\n\nFor bug 2721865.\n\nChange-Id: I0f153b797753a655702d8be41679273d1d5d6ae7\n"
    },
    {
      "commit": "4fdbadde921ec17b4ff9e97fbd41096903b21772",
      "tree": "988de23c6495657f28fde4703ce656eb806e23cf",
      "parents": [
        "8a1d2cf1422e35257c160ac5bb12dd3ee481c433"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed May 19 22:38:07 2010 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu May 20 15:59:32 2010 -0700"
      },
      "message": "Atomic/SMP update.\n\nAdded an underscore to _ARM_HAVE_LDREX_STREX to make it match the others.\n\nAdded __ARM_HAVE_DMB and __ARM_HAVE_LDREXD when appropriate.\n\nFixed some typos.\n\nChange-Id: I2f55febcff4aeb7de572a514fb2cd2f820dca27c\n"
    },
    {
      "commit": "78c1c04ced772298be8bdb5a94b6ce491bb9b3e1",
      "tree": "31881f9114a2e6975f262200685d39141a144013",
      "parents": [
        "1297428e89ead45849068989d334d8b7eae2f602"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Wed May 19 23:17:16 2010 -0300"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Wed May 19 23:17:16 2010 -0300"
      },
      "message": "pthread: introduce pthread_setname_np() as a mean to give names to threads\n\n... so that each cloned process at the kernel level can be named\nindependently. Tools like \u0027top\u0027 can display the CPU/memory statistics\nfor each process\u0027s thread if \"Show Threads\" mode is on.\n\nWith this function in place, we can convert dalvik/Thread.c setThreadName()\nfunction over this function. This feature ought to be provided by the\nunderlying C library and not coded directly in Dalvik.\n\nChange-Id: Ifa997665dbaa114e0b126f8c667708be9a4137fd\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "8a1d2cf1422e35257c160ac5bb12dd3ee481c433",
      "tree": "6307e0ed69c9b22cb49d7702f71d43d1d910e0bf",
      "parents": [
        "8e1ee7fd01986825074ececd39e8c2a5ebc907e0"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 11 16:39:22 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 19 14:53:18 2010 -0700"
      },
      "message": "Add pthread_rwlock_t implementation to the C library (DO NOT MERGE)\n\nChange-Id: I756d8c26afc37cd7b71117ddbaa02a2cb40fdecb\n"
    },
    {
      "commit": "8e1ee7fd01986825074ececd39e8c2a5ebc907e0",
      "tree": "5cdd7d18c29f2b36f43142b9b8719282f5b24f38",
      "parents": [
        "fdf2454db21284b5e1ec23cb18724388c85fd975",
        "a910abcd194830d2d113b3e183eb7df4d36cd92e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 17 10:22:35 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 17 10:22:35 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I5804d8850f2d4fb7b5d5c53d51e153f7ced9646e\n"
    },
    {
      "commit": "a910abcd194830d2d113b3e183eb7df4d36cd92e",
      "tree": "291303f658796db61bcbf9b8107b3a88a4f83c79",
      "parents": [
        "1297428e89ead45849068989d334d8b7eae2f602"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:46:25 2010 -0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon May 17 09:34:13 2010 -0700"
      },
      "message": "improve readability of stdio: fix indentation and remove trailing spaces\n\nChange-Id: Ic51e58a7c75d20bf770dc0ebd7f97a338fbe0036\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "fdf2454db21284b5e1ec23cb18724388c85fd975",
      "tree": "779330e312918811d802159156c45e9b170e16d9",
      "parents": [
        "4aef0ae660e81ca151a04ce0ddaf956275c70116",
        "1297428e89ead45849068989d334d8b7eae2f602"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 14 13:30:10 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 14 13:30:10 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I9c926a3cd680a96ece026cdec71c6e0fb0b7ad7c\n"
    },
    {
      "commit": "1297428e89ead45849068989d334d8b7eae2f602",
      "tree": "17ed9aa2d1ec98fed78d455e320a914499a497e0",
      "parents": [
        "e4fa46e75cd0d433b5c6c064720ed7e195cba7c8",
        "81569aa72c48caef1e74be31a5f799fc34a1cfc5"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Fri May 14 12:12:24 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri May 14 12:12:24 2010 -0700"
      },
      "message": "Merge \"Add declaration for sys_signame[] forgotten in change 12489\""
    },
    {
      "commit": "4aef0ae660e81ca151a04ce0ddaf956275c70116",
      "tree": "5dff7d6f26806adcff6de018bbb1f89c8c662547",
      "parents": [
        "f4394458301909a83b7ee7f3b436c038b7235ea8",
        "e4fa46e75cd0d433b5c6c064720ed7e195cba7c8"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 13 14:31:02 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu May 13 14:31:02 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I2be62bce462ee53fe9519f433523bd7a44a73d40\n"
    },
    {
      "commit": "e4fa46e75cd0d433b5c6c064720ed7e195cba7c8",
      "tree": "88ab07e29e66cff45b3588718fa778c8218c4b6e",
      "parents": [
        "c3581dc78a51180d3550d0d04596657cb2db852c"
      ],
      "author": {
        "name": "Matt Fischer",
        "email": "matt.fischer@garmin.com",
        "time": "Mon Jan 11 10:02:06 2010 +0800"
      },
      "committer": {
        "name": "Garmin Android technology group",
        "email": "android@garmin.com",
        "time": "Wed May 12 14:18:36 2010 -0500"
      },
      "message": "Set SA_RESTORER in sigaction()\n\nGDB looks for specific opcode sequences when trying to recognize a stack\nframe as a signal trampoline.  The sequences it looks for happen to be those\ncreated when SA_RESTORER is set, since glibc always sets a restorer.  This\npatch does the same here, so that the trampolines can be correctly identified.\n\nChange-Id: I0ac574a68818cb24d939c3527f3aaeb04b853d04\n"
    },
    {
      "commit": "bb7928ccdae0cc5766f290e18ab14b07d80c6912",
      "tree": "76468dcde3da9d42bdc3a2146463583e65593205",
      "parents": [
        "f450fa5f991af3c0814f96265cb3b2aafdce2309",
        "c3581dc78a51180d3550d0d04596657cb2db852c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 12 09:22:50 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 12 09:22:50 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: Iecfd2bd3069f70bbe508042cc249fcf7ff24800d\n"
    },
    {
      "commit": "051ea9bc07809a2638e5f022ae10330e23530f64",
      "tree": "e4b9e8ffccf81cc3edfb2d2fd42472a9eee25550",
      "parents": [
        "d791da79432064bc954fedf8d4e4394aaafefe75"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:45:07 2010 -0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon May 10 15:42:47 2010 -0700"
      },
      "message": "stdio: simplify __fremovelock()\n\n... by removing extraneous NULL check, as free() already does it.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nChange-Id: I0445f35c7ad0a049a0e4aee1fbe002ed2f13b94b\n"
    },
    {
      "commit": "d791da79432064bc954fedf8d4e4394aaafefe75",
      "tree": "6d731e33e6d3f2ff28feff74ef07cc680aee886e",
      "parents": [
        "0be7eda75a14815aaa3e5cd5d5d4e5d25dc35d1c",
        "aba3ee7d322f30735433e2e6ae98fa3d849a1c7e"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Mon May 10 14:52:02 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon May 10 14:52:02 2010 -0700"
      },
      "message": "Merge \"string: tidy up strndup()\""
    },
    {
      "commit": "f450fa5f991af3c0814f96265cb3b2aafdce2309",
      "tree": "1f0e549863606fb8e11215061ad5dde0f37b50cd",
      "parents": [
        "5ef5272be985dfdeafa86077c306f6b64d334240",
        "0be7eda75a14815aaa3e5cd5d5d4e5d25dc35d1c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 03 15:33:05 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 03 15:33:05 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: If02d33af51017dbd85e91c79ac2e848eda6cf253\n"
    },
    {
      "commit": "0be7eda75a14815aaa3e5cd5d5d4e5d25dc35d1c",
      "tree": "e650cc8dd8a90d8d424f9035798c5f77b9172b22",
      "parents": [
        "716e06071a93d2c8dfbde99ea1dfcb7d2cf93d70",
        "c22da7ed32f8b537b8e4653fd777056e8315ebdf"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Sat May 01 15:31:39 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Sat May 01 15:31:39 2010 -0700"
      },
      "message": "Merge \"Fix log channel initialization at bionic/logd_write.c.\""
    },
    {
      "commit": "716e06071a93d2c8dfbde99ea1dfcb7d2cf93d70",
      "tree": "7e072204274c4e5f6f331e75c942b0d51d4b92dd",
      "parents": [
        "3472348067c6fc76b361196217b4feaaffd57641",
        "1d7a8944d8b416d06974f82999dc46c4a44b771a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 29 08:01:50 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Apr 29 08:01:50 2010 -0700"
      },
      "message": "Merge \"added headers for SuperH which automatically generate by update_all.py\""
    },
    {
      "commit": "5751c54bf1c84ad9b1e23a6909c59431c973deae",
      "tree": "32d6c36cfb0bdbabfc6051344ad1cb23f450eaeb",
      "parents": [
        "c8a850bcd174acf43f951b5b70783cb636418b53"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 16:03:09 2010 -0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 29 07:37:42 2010 -0700"
      },
      "message": "bionic: add missing NULL check from memory allocation on record_backtrace()\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n\nChange-Id: I739c63c5a7344fff1775580044dc647edf246ebf\n"
    },
    {
      "commit": "c8a850bcd174acf43f951b5b70783cb636418b53",
      "tree": "62f931c9e8a683417384825b2f33fb01045ab13c",
      "parents": [
        "6aed4288eba64f8265b98d34fdfd0bc0cd76151d"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:40:45 2010 -0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 29 07:33:40 2010 -0700"
      },
      "message": "stdio: simplify vasprintf()\n\n... by removing unneeded NULL check, as free() already does it.\nBy the way, we don\u0027t need to set a stack variable back to NULL.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n\nChange-Id: Id90eb8f042b5c922c5ff139b11ff8366fb404566\n"
    },
    {
      "commit": "6aed4288eba64f8265b98d34fdfd0bc0cd76151d",
      "tree": "30ef6162d6d4364d27037798f69dd93eb7e35d53",
      "parents": [
        "e734769276045c0cb89d4620fdd4ef35a0e6c335"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Jan 30 22:39:00 2010 -0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 29 07:31:44 2010 -0700"
      },
      "message": "stdio: simplify asprintf()\n\n... by removing unneeded NULL check, as free() already does it.\nBy the way, we don\u0027t need to set a stack variable back to NULL.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n\nChange-Id: Id1f72e872f73366dddcea4abc75885a3d9a318c6\n"
    },
    {
      "commit": "e734769276045c0cb89d4620fdd4ef35a0e6c335",
      "tree": "8b7cdc163f1dce70efb9f5221e6e0b845a07c368",
      "parents": [
        "1698d9ebfc7e27271852a1fdf305a2ac37b3ebe4"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 18:32:52 2010 -0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 29 07:29:06 2010 -0700"
      },
      "message": "improve readability of stdlib: fix indentation and remove trailing spaces\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n\nChange-Id: I7dd90a0816b5376ffc1de4499d56935e0bd574a1\n"
    },
    {
      "commit": "95faecefdea0f55edafdba09052a904df7cd2405",
      "tree": "953a43567de93a20f4074a0617292e799f9915ab",
      "parents": [
        "f1cd18bdec3686c072bc10cbf66e671b07fc4fde",
        "350bb359fa5e31e3dfae8be6b1ce7ee3495f0da7"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 08 11:11:53 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 08 11:11:53 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: If77618a329fc7b497c44c2585e644bc50e7e1406\n"
    },
    {
      "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": "81569aa72c48caef1e74be31a5f799fc34a1cfc5",
      "tree": "fce4aaecff99f555718a6a6866fcd8db8863cf22",
      "parents": [
        "350bb359fa5e31e3dfae8be6b1ce7ee3495f0da7"
      ],
      "author": {
        "name": "Thorsten Glaser",
        "email": "tg@mirbsd.org",
        "time": "Tue Dec 01 15:12:01 2009 +0100"
      },
      "committer": {
        "name": "Thorsten Glaser",
        "email": "tg@mirbsd.org",
        "time": "Mon Apr 05 21:08:30 2010 +0200"
      },
      "message": "Add declaration for sys_signame[] forgotten in change 12489\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": "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": "350bb359fa5e31e3dfae8be6b1ce7ee3495f0da7",
      "tree": "7c927a543863b2e55cd920e343918fda1e91e448",
      "parents": [
        "f8916e2e4547da691b1de9149a23b9b254a4f7ad"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Fri Feb 05 16:01:05 2010 -0200"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Mar 29 21:21:26 2010 -0300"
      },
      "message": "bionic: fix memory leak in get_malloc_leak_info() error path\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\n"
    },
    {
      "commit": "f8916e2e4547da691b1de9149a23b9b254a4f7ad",
      "tree": "0f52437bba08eea66821b0e178d7c0a9cc1fc582",
      "parents": [
        "acdb052030d6e537e51d8b42e07b2a9e71e6ee42",
        "3f6121278194404f89ea7b22f098e9389e954587"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Tue Mar 30 14:52:14 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Mar 30 14:52:14 2010 -0700"
      },
      "message": "Merge \"bionic: clear only the part of the buffer which is not overwritten afterward\""
    },
    {
      "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": "3f6121278194404f89ea7b22f098e9389e954587",
      "tree": "df769c6d2dfa39e91b5fec22bdfc192c173206fd",
      "parents": [
        "4ad72f89b12fe0157074a253190f6aa2cbfe15ac"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sun Mar 28 21:32:36 2010 -0300"
      },
      "committer": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sun Mar 28 21:32:36 2010 -0300"
      },
      "message": "bionic: clear only the part of the buffer which is not overwritten afterward\n\nChange-Id: I5ddd93f0557e5a7401460dc9fc8a55b330a79c3a\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\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\""
    }
  ],
  "next": "dd8f3c80f15981cae0a1ba72de0e9da0159ccb93"
}
