)]}'
{
  "log": [
    {
      "commit": "32c226d6ed6e1bf62e2bd46645905210bbf20989",
      "tree": "c0253596b4bdea4dbf14ef64b99488219e2c16a9",
      "parents": [
        "058d6d88b959efc00d7ba9777e447bc55c409569",
        "f39a3fe67d7f1faa21a39ea8e1f57a6596c8cadb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 10 13:45:49 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 10 13:45:49 2012 -0800"
      },
      "message": "Merge \"Allow C++ to call fdprintf\""
    },
    {
      "commit": "058d6d88b959efc00d7ba9777e447bc55c409569",
      "tree": "267905681e7975a066a9ba4682f583a2747e001b",
      "parents": [
        "1625c7a837d73b6729f97edb32c497d289c0220c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 09 16:14:28 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 09 16:14:28 2012 -0800"
      },
      "message": "Update bionic to know users and isolated uids for uid string representation.\n\nChange-Id: I6681bacd69299a7f9837ef8025a80c5562081bad\n"
    },
    {
      "commit": "f39a3fe67d7f1faa21a39ea8e1f57a6596c8cadb",
      "tree": "4b348d687db7a7a27af9840571ccbb8ff8dc847a",
      "parents": [
        "1625c7a837d73b6729f97edb32c497d289c0220c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 09 10:15:45 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 09 10:15:45 2012 -0800"
      },
      "message": "Allow C++ to call fdprintf\n\nChange-Id: I1adb7b165ab9f62eaee4e7a9108e8b461350b347\n"
    },
    {
      "commit": "1625c7a837d73b6729f97edb32c497d289c0220c",
      "tree": "cf18c3d2a948a069a2405bab819b491bdaeaa29f",
      "parents": [
        "9db064a0d3985bc1e4bb9f88ec81c7c2715c410c"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Feb 07 11:53:55 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Feb 07 11:53:55 2012 -0800"
      },
      "message": "Use the new NativeDaemonConnector style.\n\nPrepend a 0 to match the new sequence-number style, though this module\ndoesn\u0027t really need/use it.\n\nbug:5864209\nChange-Id: Iacbcddaced6fe8bb01d186596a916e4fb4805fef\n"
    },
    {
      "commit": "9db064a0d3985bc1e4bb9f88ec81c7c2715c410c",
      "tree": "2912705bce262b9de1e9bd9c2631e47ea6c3619a",
      "parents": [
        "0245c426eeafbc7ebc670a155983aeb433757f9b",
        "5d7181a71c0b066fe6c19b9c5906bd694a399a59"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Feb 01 11:24:29 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 01 11:24:29 2012 -0800"
      },
      "message": "am 5d7181a7: am 68fc85ff: am 177a7706: linker: fix x86 build\n\n* commit \u00275d7181a71c0b066fe6c19b9c5906bd694a399a59\u0027:\n  linker: fix x86 build\n"
    },
    {
      "commit": "5d7181a71c0b066fe6c19b9c5906bd694a399a59",
      "tree": "6b475cb3d588327fb1d93880a2171ab2e7690263",
      "parents": [
        "09d695d782007f45504841c1535e53ccf2059a68",
        "68fc85ffc05aca5cc187676bd1502c3c446046d9"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Feb 01 11:22:07 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 01 11:22:07 2012 -0800"
      },
      "message": "am 68fc85ff: am 177a7706: linker: fix x86 build\n\n* commit \u002768fc85ffc05aca5cc187676bd1502c3c446046d9\u0027:\n  linker: fix x86 build\n"
    },
    {
      "commit": "68fc85ffc05aca5cc187676bd1502c3c446046d9",
      "tree": "6b475cb3d588327fb1d93880a2171ab2e7690263",
      "parents": [
        "c4cb87f367fc33b36c9988b4f42fc07876abccd1",
        "177a77067b6d3326dbcf88fd93d0664e48e27f9f"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Feb 01 11:18:06 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 01 11:18:06 2012 -0800"
      },
      "message": "am 177a7706: linker: fix x86 build\n\n* commit \u0027177a77067b6d3326dbcf88fd93d0664e48e27f9f\u0027:\n  linker: fix x86 build\n"
    },
    {
      "commit": "177a77067b6d3326dbcf88fd93d0664e48e27f9f",
      "tree": "73fdf9987a1d8422fe1a2894b8891e0603d5c2d0",
      "parents": [
        "5b892aa7e581c0b247262a95d70db20991121afe"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Feb 01 19:38:58 2012 +0100"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 01 10:47:04 2012 -0800"
      },
      "message": "linker: fix x86 build\n\nChange-Id: I47d76a0f50515013c37ccef89accba03cc69529d\n"
    },
    {
      "commit": "0245c426eeafbc7ebc670a155983aeb433757f9b",
      "tree": "97d420779e6b79917ba5ac65b9bc182a8ceaa68d",
      "parents": [
        "25b7a16a6ee73248192909862f03f95d2363ad14",
        "09d695d782007f45504841c1535e53ccf2059a68"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Feb 01 10:03:20 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 01 10:03:20 2012 -0800"
      },
      "message": "am 09d695d7: am 44eae4c7: Reconcile with ics-mr1-release\n\n* commit \u002709d695d782007f45504841c1535e53ccf2059a68\u0027:\n"
    },
    {
      "commit": "09d695d782007f45504841c1535e53ccf2059a68",
      "tree": "04772e71faec8bb3b1a4f35ac8c2e0d57e134ff3",
      "parents": [
        "c4cb87f367fc33b36c9988b4f42fc07876abccd1",
        "44eae4c7af901e521e2e880a8300b285bbf53010"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Feb 01 10:00:28 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 01 10:00:28 2012 -0800"
      },
      "message": "am 44eae4c7: Reconcile with ics-mr1-release\n\n* commit \u002744eae4c7af901e521e2e880a8300b285bbf53010\u0027:\n"
    },
    {
      "commit": "25b7a16a6ee73248192909862f03f95d2363ad14",
      "tree": "97d420779e6b79917ba5ac65b9bc182a8ceaa68d",
      "parents": [
        "b118b9c5cd6a99fd3368a01ee9de8849d869afc7",
        "c4cb87f367fc33b36c9988b4f42fc07876abccd1"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 01 09:46:08 2012 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 01 09:46:08 2012 -0800"
      },
      "message": "Merge c4cb87f3\n\nChange-Id: I4cc14eba43fde75a7702fdc7ad07d3d949e9c092\n"
    },
    {
      "commit": "44eae4c7af901e521e2e880a8300b285bbf53010",
      "tree": "7672e9c24da57867c389a5129e59934b3197f6a8",
      "parents": [
        "e8e1efeafb8754ea8358e78cfe3d0f7ad4e809b2",
        "3d11bf0f3f3cf848f6f1e8449bf8736d8d1c78a3"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Feb 01 08:49:24 2012 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Feb 01 08:49:24 2012 -0800"
      },
      "message": "Reconcile with ics-mr1-release\n\nChange-Id: I37e2eb5cd34a47e3eb7b2bf2353b50fc14972adf\n"
    },
    {
      "commit": "c4cb87f367fc33b36c9988b4f42fc07876abccd1",
      "tree": "04772e71faec8bb3b1a4f35ac8c2e0d57e134ff3",
      "parents": [
        "cc12c74f7f65c571778989cd902eb5b9fa74fb11",
        "5b892aa7e581c0b247262a95d70db20991121afe"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 01 07:12:13 2012 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 01 07:12:13 2012 -0800"
      },
      "message": "Merge 5b892aa7\n\nChange-Id: Ic82bc2866bdb0c93822c94281301fa127fd4bb0c\n"
    },
    {
      "commit": "5b892aa7e581c0b247262a95d70db20991121afe",
      "tree": "674232e6152fa67c0db8b07b0083bb3ac6c9bd8c",
      "parents": [
        "e80044455961005ac95e405c8d553f2418d8e50c",
        "70b1668a76d3b719ae690903ea790fda964a5458"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 31 12:43:59 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 31 12:44:01 2012 -0800"
      },
      "message": "Merge \"remove obsolete SuperH support\""
    },
    {
      "commit": "70b1668a76d3b719ae690903ea790fda964a5458",
      "tree": "674232e6152fa67c0db8b07b0083bb3ac6c9bd8c",
      "parents": [
        "e80044455961005ac95e405c8d553f2418d8e50c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jan 30 17:17:58 2012 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Tue Jan 31 20:28:23 2012 +0100"
      },
      "message": "remove obsolete SuperH support\n\nWe don\u0027t have a toolchain anymore, we don\u0027t have working original\nkernel headers, and nobody is maintaining this so there is really\nno point in keeping this here. Details of the patch:\n\n- removed code paths from Android.mk files related to the SuperH\n  architecture (\"sh\")\n\n- removed libc/arch-sh, linker/arch-sh, libc/kernel/arch-sh\n\n- simplified libc/SYSCALLS.TXT\n\n- simplified the scripts in libc/tools/ and libc/kernel/tools\n\nChange-Id: I26b0e1422bdc347489e4573e2fbec0e402f75560\n\nSigned-off-by: David \u0027Digit\u0027 Turner \u003cdigit@android.com\u003e\n"
    },
    {
      "commit": "b118b9c5cd6a99fd3368a01ee9de8849d869afc7",
      "tree": "ffa492625a3357de8a714e31edee419f6340545b",
      "parents": [
        "a7ad3399104048b9d730cc8044d9fd96badbe229",
        "e1414aa96bb62057b1a25c6a9ea1797dd38dce59"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jan 31 11:02:33 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 31 11:02:33 2012 -0800"
      },
      "message": "Merge \"libc: remove global lock from recursive mutex implementation.\""
    },
    {
      "commit": "a7ad3399104048b9d730cc8044d9fd96badbe229",
      "tree": "4664c3eac38242793111c893b0ad7688d631183f",
      "parents": [
        "f5d1693e3ca8cfd089e6259f320044833eae2991",
        "3452e301ecfce42bd3da5ce1b322d89f8a132ee6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jan 31 10:05:35 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 31 10:05:35 2012 -0800"
      },
      "message": "Merge \"Add new suspend-block input ioctls.\""
    },
    {
      "commit": "f5d1693e3ca8cfd089e6259f320044833eae2991",
      "tree": "ff93255f90ae3cfdca7256ebb32e4f1da0d0eac2",
      "parents": [
        "632c07c09297324565fd7adeda7322f1fafb3a1a"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Jan 30 15:39:57 2012 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Jan 30 15:39:57 2012 -0800"
      },
      "message": "Fix recursive ELF constructor check\n\nThe flag to avoid calling ELF constructors recursively (in the case\nof recursive .so dependencies) was being set after the dangerous\nrecursive constructor call had already been made.\n\nThis fixes the libc\u0027s debug malloc implementation.\n\nChange-Id: I5e601f0ea19ab1df81b8b1ad4df25c3eab0ccda4\n"
    },
    {
      "commit": "e1414aa96bb62057b1a25c6a9ea1797dd38dce59",
      "tree": "86dd372e2ea90adceefa57cf324fc29c5ae64faf",
      "parents": [
        "b70659d8ea4a0f67694125a340186da96afa4210"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jan 24 15:26:54 2012 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jan 30 10:13:41 2012 +0100"
      },
      "message": "libc: remove global lock from recursive mutex implementation.\n\nThis optimization improves the performance of recursive locks\ndrastically. When running the thread_stress program on a Xoom,\nthe total time to perform all operations goes from 1500 ms to\n500 ms on average after this change is pushed to the device.\n\nChange-Id: I5d9407a9191bdefdaccff7e7edefc096ebba9a9d\n"
    },
    {
      "commit": "632c07c09297324565fd7adeda7322f1fafb3a1a",
      "tree": "1d597901499ef4ee2c8f049ac31da9427e999000",
      "parents": [
        "514126b2b59105427da8014a11fb1fc32e6a751c",
        "cc12c74f7f65c571778989cd902eb5b9fa74fb11"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 27 21:09:07 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 27 21:09:07 2012 -0800"
      },
      "message": "am cc12c74f: am e8004445: Merge \"Make sure __u64 is defined even for strict ansi or -std\u003dc99\"\n\n* commit \u0027cc12c74f7f65c571778989cd902eb5b9fa74fb11\u0027:\n  Make sure __u64 is defined even for strict ansi or -std\u003dc99\n"
    },
    {
      "commit": "cc12c74f7f65c571778989cd902eb5b9fa74fb11",
      "tree": "5be793e1708bb0eed1e08a632af3f34f0367433e",
      "parents": [
        "482d59a42f6c81e3a142ffbf23c67a903836f203",
        "e80044455961005ac95e405c8d553f2418d8e50c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 27 07:41:43 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 27 07:41:43 2012 -0800"
      },
      "message": "am e8004445: Merge \"Make sure __u64 is defined even for strict ansi or -std\u003dc99\"\n\n* commit \u0027e80044455961005ac95e405c8d553f2418d8e50c\u0027:\n  Make sure __u64 is defined even for strict ansi or -std\u003dc99\n"
    },
    {
      "commit": "e80044455961005ac95e405c8d553f2418d8e50c",
      "tree": "b26540e615e53db53c8072488cba838825c957b8",
      "parents": [
        "e22dfc46b763e9b0c6300b7068609d2db60a9b2c",
        "738b175a932e9eba424750926e753f2227b4d1bc"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 27 07:31:09 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 27 07:31:10 2012 -0800"
      },
      "message": "Merge \"Make sure __u64 is defined even for strict ansi or -std\u003dc99\""
    },
    {
      "commit": "514126b2b59105427da8014a11fb1fc32e6a751c",
      "tree": "e9ef4cd0bbd737c2f96ff9969e2b1d194bde2327",
      "parents": [
        "1fc51769ded79c74f15d59611c5ae4bd0547b32b",
        "52764f5546362d0ffab99afaffe8e8c7f21f8ef2"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jan 26 14:51:08 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 14:51:08 2012 -0800"
      },
      "message": "Merge \"Increase the size of the system-wide dns cache\""
    },
    {
      "commit": "1fc51769ded79c74f15d59611c5ae4bd0547b32b",
      "tree": "52c978d3bea82636ec7f3f491af10ec030e2b86c",
      "parents": [
        "8584a922dca76fc60e7d18f3b03f0b1ec3a42097"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Jan 26 13:21:19 2012 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Jan 26 13:40:38 2012 -0800"
      },
      "message": "Log debuggerd connection failures\n\nWrite a message to the log file if the signal handler is not able\nto connect to debuggerd.  This is especially handy if the failure\nwas caused by running out of file descriptors, since there\u0027s some\nchance that the lack of fds relates to the crash.\n\nSample:\n\n F libc    : Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code\u003d1)\n F libc    : Unable to open connection to debuggerd: Too many open files\n\nBug 5926330\n\nChange-Id: I0ff210d82ab1db39b08f328bae5e08f67a69e5d7\n"
    },
    {
      "commit": "52764f5546362d0ffab99afaffe8e8c7f21f8ef2",
      "tree": "6a3533eb82bac3bea5137b1e4276396c3f271764",
      "parents": [
        "b70659d8ea4a0f67694125a340186da96afa4210"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jan 25 15:16:03 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jan 25 15:36:58 2012 -0800"
      },
      "message": "Increase the size of the system-wide dns cache\n\n32 enteries perhaps was ok for per-process caching with ipv4 only\nbut adding ipv6 records makes it effectively 16 entries and making\nit system wide makes is pretty useless.  Increasing to 640 entries.\n\nbug:5841178\nChange-Id: I879f8bf4d3c4d8c1708bb46d46a67c1f64b1861f\n"
    },
    {
      "commit": "738b175a932e9eba424750926e753f2227b4d1bc",
      "tree": "b26540e615e53db53c8072488cba838825c957b8",
      "parents": [
        "e22dfc46b763e9b0c6300b7068609d2db60a9b2c"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Jan 25 23:25:09 2012 +0200"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Jan 25 23:41:19 2012 +0200"
      },
      "message": "Make sure __u64 is defined even for strict ansi or -std\u003dc99\n\nThe x86 asm headers define __u64 regardless of __STRICT_ANSI__.\nThe linux/videodev2.h header requires __u64 to be defined, thus\nthis fixes compiling with -std\u003dc99 when including the\nlinux/videodev2.h header.\n\nIn glibc, the asm/types.h header defines __u64 regardless of\n__STRICT_ANSI__.\n\nThis is the change for the generated arch-arm/asm/types.h\nheader, as produced by the update_all.py script (without all\nthe other unrelated changes that the script produces).\n\nFWIW, the same issue also is present in\narch-sh/asm/types.h, but there are no source headers for\narch-sh in external/kernel-headers (and regenerating the\nheaders simply removes that file).\n\nChange-Id: If05fcc9ed6ff5943602be121c7be140116e361fe\n"
    },
    {
      "commit": "8584a922dca76fc60e7d18f3b03f0b1ec3a42097",
      "tree": "129bf062b1af1bc173702e627161a207acdbb23e",
      "parents": [
        "b70659d8ea4a0f67694125a340186da96afa4210",
        "482d59a42f6c81e3a142ffbf23c67a903836f203"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jan 25 08:57:30 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 25 08:57:30 2012 -0800"
      },
      "message": "am 482d59a4: am e22dfc46: Merge \"execvp: bcopy() is deprecated. Use memcpy() instead\"\n\n* commit \u0027482d59a42f6c81e3a142ffbf23c67a903836f203\u0027:\n  execvp: bcopy() is deprecated. Use memcpy() instead\n"
    },
    {
      "commit": "482d59a42f6c81e3a142ffbf23c67a903836f203",
      "tree": "f0efb57b8acc3bdb0be14edad8e8b812fe4bd0b1",
      "parents": [
        "c83c1da54831ef1c9ff59cf9df8d5c0173893ee5",
        "e22dfc46b763e9b0c6300b7068609d2db60a9b2c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 24 15:07:56 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 24 15:07:56 2012 -0800"
      },
      "message": "am e22dfc46: Merge \"execvp: bcopy() is deprecated. Use memcpy() instead\"\n\n* commit \u0027e22dfc46b763e9b0c6300b7068609d2db60a9b2c\u0027:\n  execvp: bcopy() is deprecated. Use memcpy() instead\n"
    },
    {
      "commit": "e22dfc46b763e9b0c6300b7068609d2db60a9b2c",
      "tree": "93f1a386a4cd69d3f72699e903f79a7d23e4cd08",
      "parents": [
        "cee8425f22cfe268614c7bb47b2f5874ac6a0e4b",
        "28a7c35feac8d73b94f99493534dad069afe5049"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 24 14:26:34 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 24 14:26:36 2012 -0800"
      },
      "message": "Merge \"execvp: bcopy() is deprecated. Use memcpy() instead\""
    },
    {
      "commit": "b70659d8ea4a0f67694125a340186da96afa4210",
      "tree": "51438c99b533ef2b8439004725467d783fdc70bf",
      "parents": [
        "f20d59e69137336a2555844ce9f74ece96ad60ea",
        "b57db7581cabb98651c4d8940d65c5c404b914ad"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jan 24 09:28:29 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 09:28:29 2012 -0800"
      },
      "message": "Merge \"libc: Fix recursive mutex lock implementation.\""
    },
    {
      "commit": "b57db7581cabb98651c4d8940d65c5c404b914ad",
      "tree": "f2f75b325541d06da64cb6a2d6e1a58771b2e30e",
      "parents": [
        "79fcc6948d139878b9ae0423c2fe804636433ad8"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jan 24 13:20:38 2012 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jan 24 13:20:38 2012 +0100"
      },
      "message": "libc: Fix recursive mutex lock implementation.\n\nThis fixes a bug that was introduced in the latest pthread optimization.\nIt happens when a recursive lock is contented by several threads. The main\nissue was that the atomic counter increment in _recursive_increment() could\nbe annihilated by a non-conditional write in pthread_mutex_lock() used to\nupdate the value\u0027s lower bits to indicate contention.\n\nThis patch re-introduces the use of the global recursive lock in\n_recursive_increment(). This will hit performance, but a future patch\nwill be provided to remove it from the source code.\n\nChange-Id: Ie22069d376cebf2e7d613ba00b6871567f333544\n"
    },
    {
      "commit": "f20d59e69137336a2555844ce9f74ece96ad60ea",
      "tree": "b2327c6280733482bb036a8a5c47256bba47eb8e",
      "parents": [
        "c3650d6a4be812989bcc6b4938af6da644168a09",
        "c83c1da54831ef1c9ff59cf9df8d5c0173893ee5"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 20 17:23:52 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 17:23:52 2012 -0800"
      },
      "message": "am c83c1da5: am cee8425f: Merge \"Move variable declaration on its own line\"\n\n* commit \u0027c83c1da54831ef1c9ff59cf9df8d5c0173893ee5\u0027:\n  Move variable declaration on its own line\n"
    },
    {
      "commit": "c3650d6a4be812989bcc6b4938af6da644168a09",
      "tree": "c1b83b447f0daf79de0c1d804658d939e2060bf4",
      "parents": [
        "73fa5fdaf9ec27741a17b0b793ff6890e6dcecd5",
        "5b44655f22dd05c7cd8afcd218102616a6f5f4da"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 20 17:23:51 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 17:23:51 2012 -0800"
      },
      "message": "am 5b44655f: am 7e6a5773: Merge \"Use the AT_SECURE auxv flag to determine whether to enable secure mode.\"\n\n* commit \u00275b44655f22dd05c7cd8afcd218102616a6f5f4da\u0027:\n  Use the AT_SECURE auxv flag to determine whether to enable secure mode.\n"
    },
    {
      "commit": "73fa5fdaf9ec27741a17b0b793ff6890e6dcecd5",
      "tree": "6ea04b41beb695e792e21018b1e7c0ea6e79a5b5",
      "parents": [
        "d8545e2690c0c179f36c0e4a15c5589bdd6265ce",
        "2f80f07d8106782ac94b05f529c8cbb1fd1c6f64"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 20 16:47:01 2012 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 20 16:47:01 2012 -0800"
      },
      "message": "Merge 2f80f07d\n\nChange-Id: Iff51b8530dbee01499ba4af0ecd6ab837c8c94fb\n"
    },
    {
      "commit": "d8545e2690c0c179f36c0e4a15c5589bdd6265ce",
      "tree": "e9750f58b22df996e11220a5bc7be5ccb3db0445",
      "parents": [
        "4a1f3cb4eb4ec791f712561131c333e8f76b2472",
        "8eb948d8c8b66d8442a45d398db4e970fb3bf68b"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 20 15:52:14 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 15:52:14 2012 -0800"
      },
      "message": "am 8eb948d8: Reconcile with ics-mr1-release\n\n* commit \u00278eb948d8c8b66d8442a45d398db4e970fb3bf68b\u0027:\n"
    },
    {
      "commit": "4a1f3cb4eb4ec791f712561131c333e8f76b2472",
      "tree": "e9750f58b22df996e11220a5bc7be5ccb3db0445",
      "parents": [
        "79fcc6948d139878b9ae0423c2fe804636433ad8",
        "dac52ff9f5591afda2b8c2a3d41aa08d7cab179e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 20 15:48:16 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 15:48:16 2012 -0800"
      },
      "message": "am dac52ff9: am e8e1efea: Update to tzdata2011n.\n\n* commit \u0027dac52ff9f5591afda2b8c2a3d41aa08d7cab179e\u0027:\n  Update to tzdata2011n.\n"
    },
    {
      "commit": "c83c1da54831ef1c9ff59cf9df8d5c0173893ee5",
      "tree": "b7708dab3699422daeabf1f465a83cbc48de4936",
      "parents": [
        "5b44655f22dd05c7cd8afcd218102616a6f5f4da",
        "cee8425f22cfe268614c7bb47b2f5874ac6a0e4b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 20 11:54:49 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 11:54:49 2012 -0800"
      },
      "message": "am cee8425f: Merge \"Move variable declaration on its own line\"\n\n* commit \u0027cee8425f22cfe268614c7bb47b2f5874ac6a0e4b\u0027:\n  Move variable declaration on its own line\n"
    },
    {
      "commit": "5b44655f22dd05c7cd8afcd218102616a6f5f4da",
      "tree": "eede571d8f3cf432ec293c6a93467a15bfe4c81c",
      "parents": [
        "2f80f07d8106782ac94b05f529c8cbb1fd1c6f64",
        "7e6a5773133e4b65d678535418b1f5d594859da2"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 20 11:54:48 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 11:54:48 2012 -0800"
      },
      "message": "am 7e6a5773: Merge \"Use the AT_SECURE auxv flag to determine whether to enable secure mode.\"\n\n* commit \u00277e6a5773133e4b65d678535418b1f5d594859da2\u0027:\n  Use the AT_SECURE auxv flag to determine whether to enable secure mode.\n"
    },
    {
      "commit": "2f80f07d8106782ac94b05f529c8cbb1fd1c6f64",
      "tree": "9617b50e1bf6a35cbaf55cd0d5003595c41bc2c0",
      "parents": [
        "8eb948d8c8b66d8442a45d398db4e970fb3bf68b",
        "23f56bbb6ae053996dd821f29379aea0c7166055"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 20 11:54:47 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 11:54:47 2012 -0800"
      },
      "message": "am 23f56bbb: Merge \"Add extended attribute (xattr) system call wrappers to bionic.\"\n\n* commit \u002723f56bbb6ae053996dd821f29379aea0c7166055\u0027:\n  Add extended attribute (xattr) system call wrappers to bionic.\n"
    },
    {
      "commit": "cee8425f22cfe268614c7bb47b2f5874ac6a0e4b",
      "tree": "7f90e07be004732ed16c1ea70c6d637d5f2a808c",
      "parents": [
        "7e6a5773133e4b65d678535418b1f5d594859da2",
        "bb44055d0a3515410f45417d5b0e047cc60f0dc6"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 20 11:07:40 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 11:07:41 2012 -0800"
      },
      "message": "Merge \"Move variable declaration on its own line\""
    },
    {
      "commit": "bb44055d0a3515410f45417d5b0e047cc60f0dc6",
      "tree": "7f90e07be004732ed16c1ea70c6d637d5f2a808c",
      "parents": [
        "7e6a5773133e4b65d678535418b1f5d594859da2"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Fri Jan 20 10:59:15 2012 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 20 10:59:15 2012 -0800"
      },
      "message": "Move variable declaration on its own line\n\nChange-Id: Ied54ffabccdc867ea4e124a0f0324a217270d6e7\n"
    },
    {
      "commit": "7e6a5773133e4b65d678535418b1f5d594859da2",
      "tree": "cab90201d90560eea148ed2bf70132ab4ec102f7",
      "parents": [
        "23f56bbb6ae053996dd821f29379aea0c7166055",
        "861b42a2d83f72f11b4271b5b8431595a097c7c2"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 20 10:43:18 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 10:43:19 2012 -0800"
      },
      "message": "Merge \"Use the AT_SECURE auxv flag to determine whether to enable secure mode.\""
    },
    {
      "commit": "861b42a2d83f72f11b4271b5b8431595a097c7c2",
      "tree": "cde9712f4d6e19dcc2a81f140845567bdba3b53d",
      "parents": [
        "eae1f1fba33cb105302227b044a14e5abcbe55e7"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Fri Jan 13 07:48:11 2012 -0500"
      },
      "committer": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Fri Jan 20 13:35:57 2012 -0500"
      },
      "message": "Use the AT_SECURE auxv flag to determine whether to enable secure mode.\n\nThe Linux kernel provides an AT_SECURE auxv flag to inform userspace\nwhether or not a security transition has occurred.  This is more reliable\nthan directly checking the uid/gid against the euid/egid, because it covers\nnot only setuid/setgid but also file capabilities, SELinux, and AppArmor\nsecurity transitions.  It is also a more efficient test since it does\nnot require any additional system calls.\n\nChange-Id: I9752a4f6da452273258d2876d13b05e402fb0409\n"
    },
    {
      "commit": "23f56bbb6ae053996dd821f29379aea0c7166055",
      "tree": "cda01bb165e43f09f7952e80f410fd7d21f4ab97",
      "parents": [
        "eae1f1fba33cb105302227b044a14e5abcbe55e7",
        "5eb686d105ebd7cea332fd1ef0bb3af9386e19f7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 20 10:29:21 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 20 10:29:22 2012 -0800"
      },
      "message": "Merge \"Add extended attribute (xattr) system call wrappers to bionic.\""
    },
    {
      "commit": "3452e301ecfce42bd3da5ce1b322d89f8a132ee6",
      "tree": "7f748983afd39b9d037ff37380f816236d12c721",
      "parents": [
        "df49ebabfe58af3e5d5dd0016d17d109151d3da8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 19 14:27:30 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 19 14:27:30 2012 -0800"
      },
      "message": "Add new suspend-block input ioctls.\n\nChange-Id: I8cfd63d22ecf8e08f261eb576d6ea448f396f709\n"
    },
    {
      "commit": "8eb948d8c8b66d8442a45d398db4e970fb3bf68b",
      "tree": "fcffb0cb0a26a8758674f2f26309fc265d597c91",
      "parents": [
        "dac52ff9f5591afda2b8c2a3d41aa08d7cab179e",
        "3d11bf0f3f3cf848f6f1e8449bf8736d8d1c78a3"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 19 13:06:24 2012 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 19 13:06:24 2012 -0800"
      },
      "message": "Reconcile with ics-mr1-release\n\nChange-Id: Iece5fc7cf15320addfda3f143235664e2ef3083d\n"
    },
    {
      "commit": "79fcc6948d139878b9ae0423c2fe804636433ad8",
      "tree": "e9750f58b22df996e11220a5bc7be5ccb3db0445",
      "parents": [
        "df49ebabfe58af3e5d5dd0016d17d109151d3da8",
        "208898ee776117f42815c2fcb15903b2781bf0aa"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jan 19 04:15:38 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 04:15:38 2012 -0800"
      },
      "message": "Merge \"libc: remove private declarations from \u003ctime.h\u003e and \u003cresolv.h\u003e\""
    },
    {
      "commit": "3d11bf0f3f3cf848f6f1e8449bf8736d8d1c78a3",
      "tree": "7672e9c24da57867c389a5129e59934b3197f6a8",
      "parents": [
        "e8e1efeafb8754ea8358e78cfe3d0f7ad4e809b2",
        "43828aa3a76381cdc7f6f78baff5f1cc7011958b"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Jan 18 21:16:26 2012 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Jan 18 21:16:26 2012 -0800"
      },
      "message": "merge in ics-mr1-release history after reset to ics-mr1\n"
    },
    {
      "commit": "dac52ff9f5591afda2b8c2a3d41aa08d7cab179e",
      "tree": "fcffb0cb0a26a8758674f2f26309fc265d597c91",
      "parents": [
        "b00d7a331c9f2a578a4cfc4dfe0d626aa58fa702",
        "e8e1efeafb8754ea8358e78cfe3d0f7ad4e809b2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 18 16:34:01 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 18 16:34:01 2012 -0800"
      },
      "message": "am e8e1efea: Update to tzdata2011n.\n\n* commit \u0027e8e1efeafb8754ea8358e78cfe3d0f7ad4e809b2\u0027:\n  Update to tzdata2011n.\n"
    },
    {
      "commit": "df49ebabfe58af3e5d5dd0016d17d109151d3da8",
      "tree": "82c33ecf929bd5a8230b17bc6c43801ee185eb3e",
      "parents": [
        "5f926c26795c3a72987652870a2ae6f3fb1ac49c",
        "ea29cd5a4a0b1fc49a63a789ace1668283a6a280"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jan 18 08:53:51 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 08:53:51 2012 -0800"
      },
      "message": "Merge \"Eliminate duplicate copies of constants.\""
    },
    {
      "commit": "5eb686d105ebd7cea332fd1ef0bb3af9386e19f7",
      "tree": "3df9e137dcdcc8b78cb9ca78aee8c5de50316e87",
      "parents": [
        "e30e909363c5c706f394050d9cd00ce222caadbf"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Fri Jan 13 07:45:16 2012 -0500"
      },
      "committer": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Wed Jan 18 08:02:23 2012 -0500"
      },
      "message": "Add extended attribute (xattr) system call wrappers to bionic.\n\nThe xattr system calls are required for the SE Android userspace in\norder to get and set file security contexts.  In particular, libselinux\nrequires these calls.\n\nChange-Id: I78f5eb3d8f3384aed0a5e7c6a6f001781d982017\n"
    },
    {
      "commit": "5f926c26795c3a72987652870a2ae6f3fb1ac49c",
      "tree": "ae53c2fa6e04b92bd40dd520d2d4ce62e47483f5",
      "parents": [
        "d6045cba4e572cf9ed0b87efddce93f3c4a80a8f",
        "b00d7a331c9f2a578a4cfc4dfe0d626aa58fa702"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 17 18:18:29 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 17 18:18:29 2012 -0800"
      },
      "message": "am b00d7a33: am eae1f1fb: Merge \"res_send: Avoid spurious close()s and (rare) failure\"\n\n* commit \u0027b00d7a331c9f2a578a4cfc4dfe0d626aa58fa702\u0027:\n  res_send: Avoid spurious close()s and (rare) failure\n"
    },
    {
      "commit": "b00d7a331c9f2a578a4cfc4dfe0d626aa58fa702",
      "tree": "49fda4fb66b0e3f5fb08029aca582aaebc3c5cbf",
      "parents": [
        "06f51ba1af2fafeec7fdfcba5d635bd001a31b3e",
        "eae1f1fba33cb105302227b044a14e5abcbe55e7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 17 18:16:10 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 17 18:16:10 2012 -0800"
      },
      "message": "am eae1f1fb: Merge \"res_send: Avoid spurious close()s and (rare) failure\"\n\n* commit \u0027eae1f1fba33cb105302227b044a14e5abcbe55e7\u0027:\n  res_send: Avoid spurious close()s and (rare) failure\n"
    },
    {
      "commit": "e8e1efeafb8754ea8358e78cfe3d0f7ad4e809b2",
      "tree": "7672e9c24da57867c389a5129e59934b3197f6a8",
      "parents": [
        "f44de270bba32c9b1b5eff8a34be07b10ddff238"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 31 14:11:32 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 17 17:47:59 2012 -0800"
      },
      "message": "Update to tzdata2011n.\n\nThere are three changes of note - most urgently, Cuba (America/Havana)\nhas extended summer time by two weeks, now to end on Nov 13, rather than\nthe (already past) Oct 30.   Second, the Pridnestrovian Moldavian Republic\n(Europe/Tiraspol) decided not to split from the rest of Moldova after\nall, and consequently that zone has been removed (again) and reinstated\nin the \"backward\" file as a link to Europe/Chisinau.   And third, the\nend date for Fiji\u0027s summer time this summer was moved forward from the\nearlier planned Feb 26, to Jan 22.\n\nApart from that, Moldova (MD) returns to a single entry in zone.tab\n(and the incorrect syntax that was in the 2011m version of that file\nis so fixed - it would have been fixed in a different way had this\nchange not happened - that\u0027s the \"missing\" sccs version id).\n\nBug: 5863692\n\nChange-Id: I78e29c682c623b1dec0b0ea2cb6545713ae9eed0\n"
    },
    {
      "commit": "ea29cd5a4a0b1fc49a63a789ace1668283a6a280",
      "tree": "fe277d68df56dffaa54f7e9127b4f33970dbd32d",
      "parents": [
        "d6045cba4e572cf9ed0b87efddce93f3c4a80a8f"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 17 17:21:33 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 17 17:28:42 2012 -0800"
      },
      "message": "Eliminate duplicate copies of constants.\n\nsys/personality.h and linux/personality.h contain mostly\nidentical contents. Eliminate dups.\n\nChange-Id: Ie786edcb5dca57af7ee5b5fdad2949369f1bc4e4\n"
    },
    {
      "commit": "d6045cba4e572cf9ed0b87efddce93f3c4a80a8f",
      "tree": "fe644600155a4aa33c0a66ca7129661dc80c0946",
      "parents": [
        "fc5ea79c5eec404c5790a74478255b8e2ad1e837"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 17 15:56:26 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 17 15:56:26 2012 -0800"
      },
      "message": "Don\u0027t generate sys/linux-unistd.h\n\nlinux-unistd.h was here for reference purposes, but shouldn\u0027t\nhave been accessible to client code. Delete it.\n\nChange-Id: I60c264ff6ca489a48117914bdf6daa486737af8c\n"
    },
    {
      "commit": "fc5ea79c5eec404c5790a74478255b8e2ad1e837",
      "tree": "1bd073dfdc61da74b4acf723e208caa15c17e8fb",
      "parents": [
        "023e5409df07a5d5ead6efb1825f6df92bcf50da",
        "b6f40f0027c736af0e0a7ed08ee910caccf47792"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 17 15:46:54 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 17 15:46:54 2012 -0800"
      },
      "message": "Merge \"update personality.h\""
    },
    {
      "commit": "eae1f1fba33cb105302227b044a14e5abcbe55e7",
      "tree": "161f017fed7022c8a8f898fd880ab3306577a9e2",
      "parents": [
        "e30e909363c5c706f394050d9cd00ce222caadbf",
        "87043f9c89593125a27199d0c1b4069d088672d7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 17 15:26:17 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 17 15:26:18 2012 -0800"
      },
      "message": "Merge \"res_send: Avoid spurious close()s and (rare) failure\""
    },
    {
      "commit": "023e5409df07a5d5ead6efb1825f6df92bcf50da",
      "tree": "fb62c1b226535e429cd337ec4114372c1a097649",
      "parents": [
        "697011d3c4d3bfb6b8b070ea9ac7c393b85f9f5e",
        "06f51ba1af2fafeec7fdfcba5d635bd001a31b3e"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 17 13:09:53 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 17 13:09:53 2012 -0800"
      },
      "message": "am 06f51ba1: am f44de270: add personality() system call.\n\n* commit \u002706f51ba1af2fafeec7fdfcba5d635bd001a31b3e\u0027:\n  add personality() system call.\n"
    },
    {
      "commit": "b6f40f0027c736af0e0a7ed08ee910caccf47792",
      "tree": "0dc7efd4c32342601ea7214e3d5fa71cd6f57288",
      "parents": [
        "697011d3c4d3bfb6b8b070ea9ac7c393b85f9f5e"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 17 13:03:11 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 17 13:03:11 2012 -0800"
      },
      "message": "update personality.h\n\nPull in an updated version of personality.h from the linux\nkernel.\n\nThis file was generated using the following command:\n\ncd bionic/libc/kernel/\n./tools/clean_header.py -u ../../../external/kernel-headers/original/linux/personality.h\n\nChange-Id: I860ce21110ebf7e7499fb8165584d296a73aa602\n"
    },
    {
      "commit": "06f51ba1af2fafeec7fdfcba5d635bd001a31b3e",
      "tree": "f8221ac70c84c7708a97e9963aa772e83f11923f",
      "parents": [
        "82c4be54da0825ebe74b524932c9db733419057a",
        "f44de270bba32c9b1b5eff8a34be07b10ddff238"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 17 11:45:25 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 17 11:45:25 2012 -0800"
      },
      "message": "am f44de270: add personality() system call.\n\n* commit \u0027f44de270bba32c9b1b5eff8a34be07b10ddff238\u0027:\n  add personality() system call.\n"
    },
    {
      "commit": "87043f9c89593125a27199d0c1b4069d088672d7",
      "tree": "161f017fed7022c8a8f898fd880ab3306577a9e2",
      "parents": [
        "e30e909363c5c706f394050d9cd00ce222caadbf"
      ],
      "author": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Mon Dec 12 16:32:56 2011 +0800"
      },
      "committer": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Sat Jan 14 11:30:00 2012 +0800"
      },
      "message": "res_send: Avoid spurious close()s and (rare) failure\n\nWhen looping over the current list of sockets we are connected to,\nuse getpeername() not getsockname() to find out who the remote\nend is.  This change avoids spurious close() and (rare) failure.\n\nOrigin: ISC bug #18625 and fixed in libbind 6.0\n\nChange-Id: I5e85f9ff4b98c237978e4bf4bd85ba0a90d768e6\n"
    },
    {
      "commit": "28a7c35feac8d73b94f99493534dad069afe5049",
      "tree": "6c9f36d08271a8870bf1886388bd6c9d1c025bf4",
      "parents": [
        "e30e909363c5c706f394050d9cd00ce222caadbf"
      ],
      "author": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Mon Dec 12 16:17:22 2011 +0800"
      },
      "committer": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Sat Jan 14 11:22:36 2012 +0800"
      },
      "message": "execvp: bcopy() is deprecated. Use memcpy() instead\n\nThe function bcopy() is marked as LEGACY in POSIX.1-2001 and removed in\nPOSIX.1-2008. memcpy (POSIX.1-2001) is its recommended replacement.\n\nChange-Id: I2cc0cc4673d1368255afd11132ddbfd3f87b530b\n"
    },
    {
      "commit": "43828aa3a76381cdc7f6f78baff5f1cc7011958b",
      "tree": "79597af69be025eb643e495bf9a635077717cc8a",
      "parents": [
        "f44de270bba32c9b1b5eff8a34be07b10ddff238",
        "caf08f71b824783dfe0ab57c6b639dca1106d695"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Fri Jan 13 16:16:49 2012 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Fri Jan 13 16:16:49 2012 -0800"
      },
      "message": "merge in ics-mr1-release history after reset to ics-mr1\n"
    },
    {
      "commit": "f44de270bba32c9b1b5eff8a34be07b10ddff238",
      "tree": "79597af69be025eb643e495bf9a635077717cc8a",
      "parents": [
        "ecd0e95a0276c1ba72c7331f5e4617815f015f22"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 13 14:03:01 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 13 15:50:40 2012 -0800"
      },
      "message": "add personality() system call.\n\nChange-Id: Ie899def8ea1d705930ed83adae1343c1353e7c57\n"
    },
    {
      "commit": "697011d3c4d3bfb6b8b070ea9ac7c393b85f9f5e",
      "tree": "1afa454075641951e825e30c3b2a5b8fc3a6fe29",
      "parents": [
        "c61f99056634119806916d5dfb58505d432e6732",
        "11f3d5a4319e6e37e5280cf187b3d173e1ac0adb"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 14:25:25 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 14:25:25 2012 -0800"
      },
      "message": "Merge \"libc: Copy private C library declarations to private/\""
    },
    {
      "commit": "c61f99056634119806916d5dfb58505d432e6732",
      "tree": "e0122e41506b805eb153c7185aa49826df0f5f31",
      "parents": [
        "e4ade69654d9026310ce7a895f14aa67947b4f31"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 19 11:27:50 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 13 07:41:20 2012 -0800"
      },
      "message": "Fix misspelled Python variable name and typos\n\nTypos:\n - Update pathname in README.txt\n - Fix missing newlines in header update script.\n\nChange-Id: Ib0e053f92a27ff10071b9805fa64e5653ab31b0c\n"
    },
    {
      "commit": "208898ee776117f42815c2fcb15903b2781bf0aa",
      "tree": "ad3cf092397fa7e398e37c65312e4675016a1da3",
      "parents": [
        "11f3d5a4319e6e37e5280cf187b3d173e1ac0adb"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 14:24:08 2012 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 14:24:08 2012 +0100"
      },
      "message": "libc: remove private declarations from \u003ctime.h\u003e and \u003cresolv.h\u003e\n\nThis patch is used to remove private C library declarations from the\npublic headers (that are exported to the NDK). It should *only* be\nsubmitted after all other patches modifying the users of said\nprivate functions have been submitted to the tree, to avoid\nbreakages.\n\nChange-Id: I0a5e3014f8e3ac9ed8df86a5cdae506337c23252\n"
    },
    {
      "commit": "11f3d5a4319e6e37e5280cf187b3d173e1ac0adb",
      "tree": "8c67346daa2fab7c3b2a0ab62defbfbf5a53acd5",
      "parents": [
        "68d03fdbd8eb4d0e40dcdfbfa5e6c6dd931b467a"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 13:26:50 2012 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 13:26:50 2012 +0100"
      },
      "message": "libc: Copy private C library declarations to private/\n\nThis patch is the first in a series that aims at cleaning up the\npublic C library headers (which end up being distributed with the NDK).\n\n\u003cresolv.h\u003e and \u003ctime.h\u003e contain declarations that should not be public.\nThey are used by other parts of the platform, but NDK applications should\nnot use or rely on them.\n\nSo copy them to private \u003cbionic_time.h\u003e and \u003cresolv_iface.h\u003e headers\nand use a guard macro to avoid conflicts when both headers are included\nat the same time.\n\nThe idea is that we\u0027re going to fix the other platform modules to\ninclude these private headers. After this is done, we will remove the\nduplicate definitions from \u003cresolv.h\u003e and \u003ctime.h\u003e\n\nChange-Id: I121c11936951c98ca7165e811126ed8a4a3a394d\n"
    },
    {
      "commit": "e4ade69654d9026310ce7a895f14aa67947b4f31",
      "tree": "74a187c0cc105ac86e380f5563fb86d17057c589",
      "parents": [
        "5977ee02f634964b9c6ac936c9705a182f8b506d",
        "82c4be54da0825ebe74b524932c9db733419057a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jan 12 15:05:57 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 12 15:05:57 2012 -0800"
      },
      "message": "am 82c4be54: am ecd0e95a: Adding a timeout to tcp dns lookup connects.\n\n* commit \u002782c4be54da0825ebe74b524932c9db733419057a\u0027:\n  Adding a timeout to tcp dns lookup connects.\n"
    },
    {
      "commit": "82c4be54da0825ebe74b524932c9db733419057a",
      "tree": "619227d91d52cc01c295225624a1b5610c4de3fd",
      "parents": [
        "e30e909363c5c706f394050d9cd00ce222caadbf",
        "ecd0e95a0276c1ba72c7331f5e4617815f015f22"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jan 12 15:03:52 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 12 15:03:52 2012 -0800"
      },
      "message": "am ecd0e95a: Adding a timeout to tcp dns lookup connects.\n\n* commit \u0027ecd0e95a0276c1ba72c7331f5e4617815f015f22\u0027:\n  Adding a timeout to tcp dns lookup connects.\n"
    },
    {
      "commit": "ecd0e95a0276c1ba72c7331f5e4617815f015f22",
      "tree": "e54104270c6705bcb9fe3ca159b3ac69d852390e",
      "parents": [
        "94963af28e445384e19775a838a29e6a71708179"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jan 11 10:04:48 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jan 12 14:26:41 2012 -0800"
      },
      "message": "Adding a timeout to tcp dns lookup connects.\n\nTCP isn\u0027t supported on some dns servers, which makes the old code\nhang forever.\n\nNOT adding a stopship to remove debugging stuff - it was too painful\n(14s timeout on failed tcp dns lookups) so we decided not to bother people.\n\nbug:5766949\nChange-Id: I381c20c3e11b8e994438d4f7c58ef643cd36554e\n"
    },
    {
      "commit": "5977ee02f634964b9c6ac936c9705a182f8b506d",
      "tree": "82e5e3e5baabd4b23469d5cfa29daa3e6af2ac40",
      "parents": [
        "68d03fdbd8eb4d0e40dcdfbfa5e6c6dd931b467a",
        "e83c56dfbb6a9a61f0f18031620322af97e80162"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@google.com",
        "time": "Thu Jan 12 01:04:46 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 01:04:46 2012 -0800"
      },
      "message": "Merge \"Execute .preinit_array before any shared object initialization functions.\""
    },
    {
      "commit": "e83c56dfbb6a9a61f0f18031620322af97e80162",
      "tree": "4d173357ad7cffa5e8e01066653afde7ed2473d5",
      "parents": [
        "334379dadaf481785909367cfc26600514b6119c"
      ],
      "author": {
        "name": "Evgeniy Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Dec 21 13:03:54 2011 +0400"
      },
      "committer": {
        "name": "Evgeniy Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue Jan 10 13:30:41 2012 +0400"
      },
      "message": "Execute .preinit_array before any shared object initialization functions.\n\nThis change makes linker handling of .preinit_array compliant with the\nSystem V ABI:\n\n\"These [pre-initialization] functions are executed after the dynamic linker has\nbuilt the process image and performed relocations but before any shared object\ninitialization functions.\"\nhttp://www.sco.com/developers/gabi/latest/ch5.dynamic.html#init_fini\n\nChange-Id: Iebfee22bb1ebe1d7c7e69cb4686e4ebae0dfc4bb\n"
    },
    {
      "commit": "68d03fdbd8eb4d0e40dcdfbfa5e6c6dd931b467a",
      "tree": "ef8b4301dea68af3d466bc4f679c732c5d40e7a3",
      "parents": [
        "6519c8124ee9f2b1ed341cc683b78cf26809678d",
        "7c0c3793722aea293c45921ef50e4adcdf9645ce"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jan 05 14:05:30 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 05 14:05:30 2012 -0800"
      },
      "message": "Merge \"implement pthread mutex deadlock detection\""
    },
    {
      "commit": "6519c8124ee9f2b1ed341cc683b78cf26809678d",
      "tree": "2dc3f350fa429f85e263ab913b534ac4dc7972ab",
      "parents": [
        "334379dadaf481785909367cfc26600514b6119c",
        "e30e909363c5c706f394050d9cd00ce222caadbf"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Tue Jan 03 18:37:28 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 03 18:37:28 2012 -0800"
      },
      "message": "am e30e9093: sreadahead: adding readahead system call into bionic libc\n\n* commit \u0027e30e909363c5c706f394050d9cd00ce222caadbf\u0027:\n  sreadahead: adding readahead system call into bionic libc\n"
    },
    {
      "commit": "e30e909363c5c706f394050d9cd00ce222caadbf",
      "tree": "33dcf8fcbca380db7910ff3519cfc4cf362ab917",
      "parents": [
        "a37f3729730e4e7345977915d67adc3eea93dfe4"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Wed Jul 13 10:23:50 2011 -0700"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Tue Jan 03 15:18:04 2012 -0800"
      },
      "message": "sreadahead: adding readahead system call into bionic libc\n\nAdd bionic libc to support readahead system call.\nThis is needed to enable sreadahead to work.\n\nChange-Id: I3856e1a3833db82e6cf42fd34af7631bd40cc723\nAuthor: Winson Yung \u003cwinson.w.yung@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "334379dadaf481785909367cfc26600514b6119c",
      "tree": "aeb82cfa85e949e61f22204e2ce8d4879755ea5a",
      "parents": [
        "5936e36f6bc4785363d25ab6420002d6daa9cad2",
        "85aad909560508410101c18c6ecc6633df39c596"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Tue Dec 20 15:06:52 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 20 15:06:52 2011 -0800"
      },
      "message": "Merge \"Add the posix_memalign(3) function to bionic\""
    },
    {
      "commit": "5936e36f6bc4785363d25ab6420002d6daa9cad2",
      "tree": "fd5c8bb3507380315d7b51f5510fb1cf548539a1",
      "parents": [
        "a5cb76bca00b1ce44a04687fb179809c12ea9cd3",
        "a37f3729730e4e7345977915d67adc3eea93dfe4"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Mon Dec 19 11:36:48 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 19 11:36:48 2011 -0800"
      },
      "message": "am a37f3729: readdir: fix interface to kernel getdents64 function\n\n* commit \u0027a37f3729730e4e7345977915d67adc3eea93dfe4\u0027:\n  readdir: fix interface to kernel getdents64 function\n"
    },
    {
      "commit": "a37f3729730e4e7345977915d67adc3eea93dfe4",
      "tree": "b292c186e3959bdae3a6f558eb7436f75cf01331",
      "parents": [
        "c2d5944e19863bb2d831b13893a3bb78e0d53783"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Tue Aug 02 06:43:52 2011 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 19 09:38:48 2011 -0800"
      },
      "message": "readdir: fix interface to kernel getdents64 function\n\nIssue:\n  The kernel will pad the entry-\u003ed_reclen in a getdents64 call to a\n  long-word boundary.  For very long records, this could exceed the\n  size of a struct dirent. The mismatch in the size was causing error\n  paranoid checking code in bionic to fail... thus causing an early\n  \"end\" when reading the dirent structures from the kernel buffer.\n\nTest:\n ls\n mkdir abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstu\n ls\n\nChange-Id: I75d1f8e45e1655fdd7bac4a08a481d086f28073a\nAuthor: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "85aad909560508410101c18c6ecc6633df39c596",
      "tree": "1da341473c2090fa35afc5d22351603bd49ac79c",
      "parents": [
        "a5cb76bca00b1ce44a04687fb179809c12ea9cd3"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Wed Dec 14 20:50:01 2011 -0800"
      },
      "committer": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Wed Dec 14 20:55:43 2011 -0800"
      },
      "message": "Add the posix_memalign(3) function to bionic\n\nThe posix_memalign(3) function is very similar to the traditional\nmemalign(3) function, but with better error reporting and a guarantee\nthat the memory it allocates can be freed.  In bionic, memalign(3)\nallocated memory can be freed, so posix_memalign(3) is just a wrapper\naround memalign(3).\n\nChange-Id: I62ee908aa5ba6b887d8446a00d8298d080a6a299\n"
    },
    {
      "commit": "a5cb76bca00b1ce44a04687fb179809c12ea9cd3",
      "tree": "16c42ffde3fc4b588418501465d6d1c18702395c",
      "parents": [
        "f6aa779383f5f5e61969a2b4fdb8bf435c5194b1"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 14 18:23:40 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 14 18:23:40 2011 +0100"
      },
      "message": "libc: x86: Use SSE2 or SSSE3 optimized routines when possible.\n\nThis patch uses the new hardware feature macros for x86 to define\nvarious compile-time macros used to make the C library use\nSSE2 and/or SSSE3 optimized memory functions for target CPUs\nthat support these features.\n\nNote that previously, we relied on the macros being defined by\nbuild/core/combo/TARGET_linux-x86.mk, but this is no longer the\ncase.\n\nChange-Id: Ieae5ff5284c0c839bc920953fb6b91d2f2633afc\n"
    },
    {
      "commit": "f6aa779383f5f5e61969a2b4fdb8bf435c5194b1",
      "tree": "eac68ca979d9f3c2c8e7e11b23eb653a899434e9",
      "parents": [
        "ddaa771cd5de6c41df2431cb3e535232f176dbe2",
        "c2d5944e19863bb2d831b13893a3bb78e0d53783"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Dec 13 19:11:25 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 13 19:11:25 2011 -0800"
      },
      "message": "am c2d5944e: Reconcile with ics-mr1-release\n\n* commit \u0027c2d5944e19863bb2d831b13893a3bb78e0d53783\u0027:\n"
    },
    {
      "commit": "c2d5944e19863bb2d831b13893a3bb78e0d53783",
      "tree": "41ea43cb85c24f330a01963d8d1c5413eb8d45a6",
      "parents": [
        "8d28b043e93d323684add3406ebae6b8fe6475d5",
        "caf08f71b824783dfe0ab57c6b639dca1106d695"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Dec 13 19:10:03 2011 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Dec 13 19:10:03 2011 -0800"
      },
      "message": "Reconcile with ics-mr1-release\n\nChange-Id: I62bace5c4272d043a51d3f0f698556716838aa51\n"
    },
    {
      "commit": "caf08f71b824783dfe0ab57c6b639dca1106d695",
      "tree": "3d83d0844a6a658a68c2570baf9ae017b29571dd",
      "parents": [
        "94963af28e445384e19775a838a29e6a71708179",
        "132b3adfcc87bf6151810b8b82a5f488585cd173"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Dec 13 17:35:59 2011 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Dec 13 17:35:59 2011 -0800"
      },
      "message": "merge in ics-mr1-release history after reset to ics-mr1\n"
    },
    {
      "commit": "ddaa771cd5de6c41df2431cb3e535232f176dbe2",
      "tree": "eac68ca979d9f3c2c8e7e11b23eb653a899434e9",
      "parents": [
        "e2bb45a7c0c45116c51a3577d6118c74f6f8007f",
        "8d28b043e93d323684add3406ebae6b8fe6475d5"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue Dec 13 17:29:12 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 13 17:29:12 2011 -0800"
      },
      "message": "am 8d28b043: am 94963af2: update video/dsscomp.h\n\n* commit \u00278d28b043e93d323684add3406ebae6b8fe6475d5\u0027:\n  update video/dsscomp.h\n"
    },
    {
      "commit": "8d28b043e93d323684add3406ebae6b8fe6475d5",
      "tree": "41ea43cb85c24f330a01963d8d1c5413eb8d45a6",
      "parents": [
        "f3087c6e86f54874538669d899d8a2ede59f7433",
        "94963af28e445384e19775a838a29e6a71708179"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue Dec 13 16:02:50 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 13 16:02:50 2011 -0800"
      },
      "message": "am 94963af2: update video/dsscomp.h\n\n* commit \u002794963af28e445384e19775a838a29e6a71708179\u0027:\n  update video/dsscomp.h\n"
    },
    {
      "commit": "94963af28e445384e19775a838a29e6a71708179",
      "tree": "3d83d0844a6a658a68c2570baf9ae017b29571dd",
      "parents": [
        "bba5c314b2420483e2c0e3e441bf54bda6935bc1"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue Dec 13 14:48:51 2011 -0800"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue Dec 13 14:48:51 2011 -0800"
      },
      "message": "update video/dsscomp.h\n\nChange-Id: I9da47f7fb7f34f9c4baa860bb767cb8fd4f8020c\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "e2bb45a7c0c45116c51a3577d6118c74f6f8007f",
      "tree": "501f7f33ced9aa002a41920856128a90a2e64001",
      "parents": [
        "cb4d9c0e1d0861358cd5e023f90c8d04cbeea1cf",
        "f3087c6e86f54874538669d899d8a2ede59f7433"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Mon Dec 12 15:39:04 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 12 15:39:04 2011 -0800"
      },
      "message": "am f3087c6e: am af96d4da: x86: libc may use the gcc flags from TARGET_linux-x86.mk\n\n* commit \u0027f3087c6e86f54874538669d899d8a2ede59f7433\u0027:\n  x86: libc may use the gcc flags from TARGET_linux-x86.mk\n"
    },
    {
      "commit": "cb4d9c0e1d0861358cd5e023f90c8d04cbeea1cf",
      "tree": "990398fc6a6ae316d20546596ba3dc4613bc5561",
      "parents": [
        "e2cb764778f62819f4e6c0b1d22a5272a9d71ba2",
        "68ec71ebd6df12596dc5688c907c76ea4b32c9b4"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Mon Dec 12 15:30:11 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 12 15:30:11 2011 -0800"
      },
      "message": "am 68ec71eb: am 7d03c9cb: pathconf: dead loop in bionic function __2_symlinks\n\n* commit \u002768ec71ebd6df12596dc5688c907c76ea4b32c9b4\u0027:\n  pathconf: dead loop in bionic function __2_symlinks\n"
    },
    {
      "commit": "e2cb764778f62819f4e6c0b1d22a5272a9d71ba2",
      "tree": "71e6a11df5b08936f7f2d4c570e0eeef726b6c9d",
      "parents": [
        "61f90d189833e10c624893a8ab86d25eeb28a0b6",
        "c14ea96f2f4e36f7a3b3d9676df845afb09c2245"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Dec 12 15:29:53 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 12 15:29:53 2011 -0800"
      },
      "message": "am c14ea96f: Reconcile with ics-mr1-release\n\n* commit \u0027c14ea96f2f4e36f7a3b3d9676df845afb09c2245\u0027:\n"
    },
    {
      "commit": "61f90d189833e10c624893a8ab86d25eeb28a0b6",
      "tree": "71e6a11df5b08936f7f2d4c570e0eeef726b6c9d",
      "parents": [
        "b7590d784f55af66804ccaf58a6b2cf52993ded6",
        "ffe65783b4afc3f687a54b582a4e236caa22ed30"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Mon Dec 12 12:34:57 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 12 12:34:57 2011 -0800"
      },
      "message": "am ffe65783: am bba5c314: update video/dsscomp.h\n\n* commit \u0027ffe65783b4afc3f687a54b582a4e236caa22ed30\u0027:\n  update video/dsscomp.h\n"
    },
    {
      "commit": "f3087c6e86f54874538669d899d8a2ede59f7433",
      "tree": "2f2a20ce917ba7ea826f53636ad0d4a4570a18bf",
      "parents": [
        "68ec71ebd6df12596dc5688c907c76ea4b32c9b4",
        "af96d4dadc3f3d8466dbbeaf3a816e6871715fbc"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Fri Dec 09 16:19:30 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 09 16:19:30 2011 -0800"
      },
      "message": "am af96d4da: x86: libc may use the gcc flags from TARGET_linux-x86.mk\n\n* commit \u0027af96d4dadc3f3d8466dbbeaf3a816e6871715fbc\u0027:\n  x86: libc may use the gcc flags from TARGET_linux-x86.mk\n"
    },
    {
      "commit": "7c0c3793722aea293c45921ef50e4adcdf9645ce",
      "tree": "f8cf3c609929a34bbdf40d83396545f00d1fd6b5",
      "parents": [
        "022d303116f742cd337852d37547e2ea24d97a25"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias.agopian@gmail.com",
        "time": "Mon Sep 05 23:54:55 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 09 14:38:57 2011 -0800"
      },
      "message": "implement pthread mutex deadlock detection\n\nthis works by building a directed graph of acquired\npthread mutexes and making sure there are no loops in\nthat graph.\n\nthis feature is enabled with:\n\n    setprop debug.libc.pthread 1\n\nwhen a potential deadlock is detected, a large warning is\noutput to the log with appropriate back traces.\n\ncurrently disabled at compile-time. set PTHREAD_DEBUG_ENABLED\u003d1\nto enable.\n\nChange-Id: I916eed2319599e8aaf8f229d3f18a8ddbec3aa8a\n"
    },
    {
      "commit": "b7590d784f55af66804ccaf58a6b2cf52993ded6",
      "tree": "cf4b8c74b7cd13fb0eb0e470ae7f81379436c2c8",
      "parents": [
        "022d303116f742cd337852d37547e2ea24d97a25",
        "c448c082cf834f95afcfa3296eba2c67780727cf"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Dec 09 14:25:56 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 09 14:25:56 2011 -0800"
      },
      "message": "am c448c082: Reconcile with ics-mr1-release\n\n* commit \u0027c448c082cf834f95afcfa3296eba2c67780727cf\u0027:\n"
    },
    {
      "commit": "af96d4dadc3f3d8466dbbeaf3a816e6871715fbc",
      "tree": "f5e3a6a34739c5889ea2f18e35f6b8ba6acbc747",
      "parents": [
        "7d03c9cbcedb1dc7e3a8210ac0001120558ec6df"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Fri Dec 09 13:52:19 2011 -0800"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Fri Dec 09 13:54:20 2011 -0800"
      },
      "message": "x86: libc may use the gcc flags from TARGET_linux-x86.mk\n\nChange-Id: Iaf4d864d4b6fe388bd3c2d7c4d7d6e42aebb0d35\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "68ec71ebd6df12596dc5688c907c76ea4b32c9b4",
      "tree": "7011e4316685aa8068bddb1100203bdc14f3da5d",
      "parents": [
        "c14ea96f2f4e36f7a3b3d9676df845afb09c2245",
        "7d03c9cbcedb1dc7e3a8210ac0001120558ec6df"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Fri Dec 09 10:19:37 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 09 10:19:37 2011 -0800"
      },
      "message": "am 7d03c9cb: pathconf: dead loop in bionic function __2_symlinks\n\n* commit \u00277d03c9cbcedb1dc7e3a8210ac0001120558ec6df\u0027:\n  pathconf: dead loop in bionic function __2_symlinks\n"
    },
    {
      "commit": "c14ea96f2f4e36f7a3b3d9676df845afb09c2245",
      "tree": "98d21bddda93f88f6024ddba59ef135d6e12fcaf",
      "parents": [
        "ffe65783b4afc3f687a54b582a4e236caa22ed30",
        "132b3adfcc87bf6151810b8b82a5f488585cd173"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Dec 09 07:10:40 2011 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Dec 09 07:10:40 2011 -0800"
      },
      "message": "Reconcile with ics-mr1-release\n\nChange-Id: I0a43c4d104894fdde4eff9970bc78ed0aeb88ec2\n"
    },
    {
      "commit": "132b3adfcc87bf6151810b8b82a5f488585cd173",
      "tree": "4343fc251a93b8d732a4089922cbf0dbc23fdfd5",
      "parents": [
        "bba5c314b2420483e2c0e3e441bf54bda6935bc1",
        "a89c28b09178cb7d8e7aa910aacedafdc7cddf94"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Thu Dec 08 17:34:07 2011 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Thu Dec 08 17:34:07 2011 -0800"
      },
      "message": "merge in ics-mr1-release history after reset to ics-mr1\n"
    },
    {
      "commit": "ffe65783b4afc3f687a54b582a4e236caa22ed30",
      "tree": "98d21bddda93f88f6024ddba59ef135d6e12fcaf",
      "parents": [
        "c448c082cf834f95afcfa3296eba2c67780727cf",
        "bba5c314b2420483e2c0e3e441bf54bda6935bc1"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Dec 08 14:57:00 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 08 14:57:00 2011 -0800"
      },
      "message": "am bba5c314: update video/dsscomp.h\n\n* commit \u0027bba5c314b2420483e2c0e3e441bf54bda6935bc1\u0027:\n  update video/dsscomp.h\n"
    }
  ],
  "next": "bba5c314b2420483e2c0e3e441bf54bda6935bc1"
}
