)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "bba5c314b2420483e2c0e3e441bf54bda6935bc1",
      "tree": "4343fc251a93b8d732a4089922cbf0dbc23fdfd5",
      "parents": [
        "0d9f87a3b71057cf804b2d7aa8589e3bf94eab28"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Dec 08 14:42:04 2011 -0800"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Dec 08 14:42:04 2011 -0800"
      },
      "message": "update video/dsscomp.h\n\nChange-Id: Ic5f1c01add1f2adb5a09d05c94129f3dc9cc3f1f\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "c448c082cf834f95afcfa3296eba2c67780727cf",
      "tree": "f36166b9bafaf98797fa9f4a545a14fefd72298e",
      "parents": [
        "a73de44b7c0a50908ea8afe16134316cfc6cfbbe",
        "a89c28b09178cb7d8e7aa910aacedafdc7cddf94"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Dec 08 10:17:32 2011 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Dec 08 10:17:32 2011 -0800"
      },
      "message": "Reconcile with ics-mr1-release\n\nChange-Id: Icc9d31cb9a4f379354808a4c7e913685dfa22e80\n"
    },
    {
      "commit": "022d303116f742cd337852d37547e2ea24d97a25",
      "tree": "cf4b8c74b7cd13fb0eb0e470ae7f81379436c2c8",
      "parents": [
        "6c6de44f0479b202c39555f5c22ef8c494837d3c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 07 14:02:17 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 07 22:09:48 2011 +0100"
      },
      "message": "libc: optimize pthread mutex lock/unlock operations (1/2)\n\nThis patch provides several small optimizations to the\nimplementation of mutex locking and unlocking. Note that\na following patch will get rid of the global recursion\nlock, and provide a few more aggressive changes, I\nthough it\u0027d be simpler to split this change in two parts.\n\n+ New behaviour: pthread_mutex_lock et al now detect\n  recursive mutex overflows and will return EAGAIN in\n  this case, as suggested by POSIX. Before, the counter\n  would just wrap to 0.\n\n- Remove un-necessary reloads of the mutex value from memory\n  by storing it in a local variable (mvalue)\n\n- Remove un-necessary reload of the mutex value by passing\n  the \u0027shared\u0027 local variable to _normal_lock / _normal_unlock\n\n- Remove un-necessary reload of the mutex value by using a\n  new macro (MUTEX_VALUE_OWNER()) to compare the thread id\n  for recursive/errorcheck mutexes\n\n- Use a common inlined function to increment the counter\n  of a recursive mutex. Also do not use the global\n  recursion lock in this case to speed it up.\n\nChange-Id: I106934ec3a8718f8f852ef547f3f0e9d9435c816\n"
    },
    {
      "commit": "6c6de44f0479b202c39555f5c22ef8c494837d3c",
      "tree": "cad3f812fe4ac0edab614c73fab734d98bf06a63",
      "parents": [
        "6e9d51701eabe26d2132a214e07b10384ea60a8c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 07 12:20:44 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 07 22:06:36 2011 +0100"
      },
      "message": "libc: optimize pthread_once() implementation.\n\nThis patch changes the implementation of pthread_once()\nto avoid the use of a single global recursive mutex. This\nshould also slightly speed up the non-common case where\nwe have to call the init function, or wait for another\nthread to finish the call.\n\nChange-Id: I8a93f4386c56fb89b5d0eb716689c2ce43bdcad9\n"
    },
    {
      "commit": "7d03c9cbcedb1dc7e3a8210ac0001120558ec6df",
      "tree": "b2ee12be2fee00fae82b89608563a2112a3b9062",
      "parents": [
        "177ba8cb42ed6d232e7c8bcad5e6ee21fc51a0e8"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Fri Oct 21 10:16:11 2011 +0800"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Wed Dec 07 09:47:20 2011 -0800"
      },
      "message": "pathconf: dead loop in bionic function __2_symlinks\n\nFix dead loops in file ./bionic/libc/unistd/pathconf.c\n\nChange-Id: I7a1e6bcd9879c96bacfd376b88a1f899793295c8\nAuthor: Jin Wei \u003cwei.a.jin@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "6e9d51701eabe26d2132a214e07b10384ea60a8c",
      "tree": "bc353c391d47c583d3b395683a0f069a72ce6112",
      "parents": [
        "c5819d427de4186780391d7e067850a9e4a09ec7",
        "a73de44b7c0a50908ea8afe16134316cfc6cfbbe"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin.vincent@stericsson.com",
        "time": "Tue Dec 06 16:04:56 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 06 16:04:56 2011 -0800"
      },
      "message": "am a73de44b: am 177ba8cb: Prevent deadlock when using fork\n\n* commit \u0027a73de44b7c0a50908ea8afe16134316cfc6cfbbe\u0027:\n  Prevent deadlock when using fork\n"
    },
    {
      "commit": "a73de44b7c0a50908ea8afe16134316cfc6cfbbe",
      "tree": "f36166b9bafaf98797fa9f4a545a14fefd72298e",
      "parents": [
        "35765066b921a5bce26e3799b9e20c661771adfc",
        "177ba8cb42ed6d232e7c8bcad5e6ee21fc51a0e8"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin.vincent@stericsson.com",
        "time": "Tue Dec 06 13:59:56 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 06 13:59:56 2011 -0800"
      },
      "message": "am 177ba8cb: Prevent deadlock when using fork\n\n* commit \u0027177ba8cb42ed6d232e7c8bcad5e6ee21fc51a0e8\u0027:\n  Prevent deadlock when using fork\n"
    },
    {
      "commit": "177ba8cb42ed6d232e7c8bcad5e6ee21fc51a0e8",
      "tree": "03f7fbd00c889bd2069b088f769e53ff9cfd40e9",
      "parents": [
        "e4a21c89a8b24b32f7a2637b45522dfa59f2aaa4"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin.vincent@stericsson.com",
        "time": "Fri Apr 08 08:50:48 2011 +0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Dec 06 08:39:18 2011 -0800"
      },
      "message": "Prevent deadlock when using fork\n\nWhen forking of a new process in bionic, it is critical that it\ndoes not allocate any memory according to the comment in\njava_lang_ProcessManager.c:\n\"Note: We cannot malloc() or free() after this point!\nA no-longer-running thread may be holding on to the heap lock, and\nan attempt to malloc() or free() would result in deadlock.\"\nHowever, as fork is using standard lib calls when tracing it a bit,\nthey might allocate memory, and thus causing the deadlock.\nThis is a rewrite so that the function cpuacct_add, that fork calls,\nwill use system calls instead of standard lib calls.\n\nSigned-off-by: christian bejram \u003cchristian.bejram@stericsson.com\u003e\n\nChange-Id: Iff22ea6b424ce9f9bf0ac8e9c76593f689e0cc86\n"
    },
    {
      "commit": "c5819d427de4186780391d7e067850a9e4a09ec7",
      "tree": "0d012d23687824a0f5a99d1e3ec886957e703073",
      "parents": [
        "6d77a81456610b6720482459596c3af58058d8b9",
        "35765066b921a5bce26e3799b9e20c661771adfc"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Dec 06 08:35:08 2011 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Dec 06 08:35:08 2011 -0800"
      },
      "message": "Merge 35765066 from ics-mr1-plus-aosp\n\nChange-Id: Ibaeb49dc20f3c736417d5cb68769e7b501a61632\n"
    },
    {
      "commit": "6d77a81456610b6720482459596c3af58058d8b9",
      "tree": "92876dac5db8de6718277623f82f160cb047aaa6",
      "parents": [
        "aed4a4c90b46f9e91ef2a52a3360a990cca957e7",
        "cb835cd77c8e60b4a9fb8a54a06d4fd4039ae1b0"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Mon Dec 05 22:13:21 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 05 22:13:21 2011 -0800"
      },
      "message": "am cb835cd7: am cb1df916: string: Fix wrong comparison semantics\n\n* commit \u0027cb835cd77c8e60b4a9fb8a54a06d4fd4039ae1b0\u0027:\n  string: Fix wrong comparison semantics\n"
    },
    {
      "commit": "35765066b921a5bce26e3799b9e20c661771adfc",
      "tree": "9ada65b43593956097a7fd27190fbae37bd1d90b",
      "parents": [
        "cb835cd77c8e60b4a9fb8a54a06d4fd4039ae1b0",
        "e4a21c89a8b24b32f7a2637b45522dfa59f2aaa4"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Mon Dec 05 22:12:08 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 05 22:12:08 2011 -0800"
      },
      "message": "am e4a21c89: signal: Align the sigset_t size passed to from user space to kernel.\n\n* commit \u0027e4a21c89a8b24b32f7a2637b45522dfa59f2aaa4\u0027:\n  signal: Align the sigset_t size passed to from user space to kernel.\n"
    },
    {
      "commit": "cb835cd77c8e60b4a9fb8a54a06d4fd4039ae1b0",
      "tree": "0aa845ad0d4d2bee7d625f9fa138563f4cae4ce0",
      "parents": [
        "75039bafde8e6f03caffa9d6aa7142a09ba50952",
        "cb1df9161666db2a312814752de67fc623149a9b"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Mon Dec 05 22:12:07 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 05 22:12:07 2011 -0800"
      },
      "message": "am cb1df916: string: Fix wrong comparison semantics\n\n* commit \u0027cb1df9161666db2a312814752de67fc623149a9b\u0027:\n  string: Fix wrong comparison semantics\n"
    },
    {
      "commit": "e4a21c89a8b24b32f7a2637b45522dfa59f2aaa4",
      "tree": "2eeac63eccc2d9f120e9626fcd5ed44974bb0e36",
      "parents": [
        "cb1df9161666db2a312814752de67fc623149a9b"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Mon Dec 05 11:25:37 2011 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 05 18:37:33 2011 -0800"
      },
      "message": "signal: Align the sigset_t size passed to from user space to kernel.\n\nPass kernel space sigset_t size to __rt_sigprocmask to workaround\nthe miss-match of NSIG/sigset_t definition between kernel and bionic.\n\nNote: Patch originally from Google...\nChange-Id: I4840fdc56d0b90d7ce2334250f04a84caffcba2a\nSigned-off-by: Chenyang Du \u003cchenyang.du@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "cb1df9161666db2a312814752de67fc623149a9b",
      "tree": "aa6db13b060299aad917d756bce73d0c84306a4d",
      "parents": [
        "89d3fdcae26980bf81a4622c3c83e48ead4c1c3a"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Tue Oct 25 13:06:09 2011 +0400"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 05 18:37:10 2011 -0800"
      },
      "message": "string: Fix wrong comparison semantics\n\nChars are signed for x86 -- correct the comparison semantics.\n\nChange-Id: I2049e98eb063c0b4e83ea973d3fcae49c6817dde\nAuthor: Liubov Dmitrieva \u003cliubov.dmitrieva@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "aed4a4c90b46f9e91ef2a52a3360a990cca957e7",
      "tree": "ff3c459788b55e2801f11582a6c18b51fae3cdf1",
      "parents": [
        "253b7631606e47de720f38082394a5791fe4bf0d",
        "75039bafde8e6f03caffa9d6aa7142a09ba50952"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Mon Dec 05 17:02:20 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 05 17:02:20 2011 -0800"
      },
      "message": "am 75039baf: am 89d3fdca: MALLOC_DEBUG: enable the option libc.debug.malloc \u003d 10\n\n* commit \u002775039bafde8e6f03caffa9d6aa7142a09ba50952\u0027:\n  MALLOC_DEBUG: enable the option libc.debug.malloc \u003d 10\n"
    },
    {
      "commit": "75039bafde8e6f03caffa9d6aa7142a09ba50952",
      "tree": "ac1c4a3850965295966a7d2c09fae46396593b61",
      "parents": [
        "0c3d21e63c6e75ae73aaf2b8d64af0bd8caa6beb",
        "89d3fdcae26980bf81a4622c3c83e48ead4c1c3a"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Mon Dec 05 17:01:13 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 05 17:01:13 2011 -0800"
      },
      "message": "am 89d3fdca: MALLOC_DEBUG: enable the option libc.debug.malloc \u003d 10\n\n* commit \u002789d3fdcae26980bf81a4622c3c83e48ead4c1c3a\u0027:\n  MALLOC_DEBUG: enable the option libc.debug.malloc \u003d 10\n"
    },
    {
      "commit": "253b7631606e47de720f38082394a5791fe4bf0d",
      "tree": "fd5a8b1aecf4768de9920d8285e7ef9e5d5f5e98",
      "parents": [
        "bec5dec947b1ad097c200888365a3ec61f9e7a28"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Dec 05 16:09:30 2011 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Dec 05 16:09:30 2011 -0800"
      },
      "message": "get rid of unused \"main\" function.\n\nconfuses gdb.\n\nChange-Id: I1c64357ce122fe5a2564ee96bb4caa32b733f6ea\n"
    },
    {
      "commit": "89d3fdcae26980bf81a4622c3c83e48ead4c1c3a",
      "tree": "c58fbe8957357a72479ee8b409d9233ede22f075",
      "parents": [
        "e480fc83b2887388d469eb3bf58c86c610f5b082"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Wed Sep 21 12:44:05 2011 +0200"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Mon Dec 05 14:58:55 2011 -0800"
      },
      "message": "MALLOC_DEBUG: enable the option libc.debug.malloc \u003d 10\n\nFix the compile warning to let the libc.debug.malloc\u003d10 works well\nDue to unsuitable value comparison, which cause compiler optimize the\ncode of comparing two digits.\n\nChange-Id: I0bedd596c9ca2ba308fb008da20ecb328d8548f5\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\nAuthor: liu chuansheng \u003cchuansheng.liu@intel.com\u003e\n"
    },
    {
      "commit": "bec5dec947b1ad097c200888365a3ec61f9e7a28",
      "tree": "ee6d8a4aa949c13c9f2e95da9936972b53ebe242",
      "parents": [
        "338a06f4bcb12c4418e66a6c3210a236259c1bf8",
        "0c3d21e63c6e75ae73aaf2b8d64af0bd8caa6beb"
      ],
      "author": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Wed Nov 30 10:50:59 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 30 10:50:59 2011 -0800"
      },
      "message": "am 0c3d21e6: am e480fc83: bionic: fix pthread_{create, exit}/signal race condition\n\n* commit \u00270c3d21e63c6e75ae73aaf2b8d64af0bd8caa6beb\u0027:\n  bionic: fix pthread_{create, exit}/signal race condition\n"
    },
    {
      "commit": "338a06f4bcb12c4418e66a6c3210a236259c1bf8",
      "tree": "d1fed7584b5cde3b1234f2f84bfe4803775ca70a",
      "parents": [
        "0e0bd586319b25e6e8e797b426a0adcce7612577",
        "621df52644cc19001688c0964ad425c5ed6c8990"
      ],
      "author": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Wed Nov 30 10:50:58 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 30 10:50:58 2011 -0800"
      },
      "message": "am 621df526: am 31e72bc3: bionic: fix __get_tls( ) crash issue\n\n* commit \u0027621df52644cc19001688c0964ad425c5ed6c8990\u0027:\n  bionic: fix __get_tls( ) crash issue\n"
    },
    {
      "commit": "0e0bd586319b25e6e8e797b426a0adcce7612577",
      "tree": "19bb88e8516738784a57ee744c0041834f79c86b",
      "parents": [
        "e796d39d80d97ebe0e36476dff3189d155a99c98",
        "1ad08626a143dc684e92f56754c7176cc4914ce8"
      ],
      "author": {
        "name": "Zhenghua Wang",
        "email": "zhenghua.wang@intel.com",
        "time": "Wed Nov 30 10:50:57 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 30 10:50:57 2011 -0800"
      },
      "message": "am 1ad08626: am 897815a1: bionic: add machine type check\n\n* commit \u00271ad08626a143dc684e92f56754c7176cc4914ce8\u0027:\n  bionic: add machine type check\n"
    },
    {
      "commit": "0c3d21e63c6e75ae73aaf2b8d64af0bd8caa6beb",
      "tree": "c9e2bbe6c0480c619d8efdbf3c5830060ffe4547",
      "parents": [
        "621df52644cc19001688c0964ad425c5ed6c8990",
        "e480fc83b2887388d469eb3bf58c86c610f5b082"
      ],
      "author": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Tue Nov 29 22:42:32 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 29 22:42:32 2011 -0800"
      },
      "message": "am e480fc83: bionic: fix pthread_{create, exit}/signal race condition\n\n* commit \u0027e480fc83b2887388d469eb3bf58c86c610f5b082\u0027:\n  bionic: fix pthread_{create, exit}/signal race condition\n"
    },
    {
      "commit": "621df52644cc19001688c0964ad425c5ed6c8990",
      "tree": "bfcc5c0a708f39245c038f6808c7fa84c8bcb45b",
      "parents": [
        "1ad08626a143dc684e92f56754c7176cc4914ce8",
        "31e72bc3289acdd85b0b745fbf64c5949ca33432"
      ],
      "author": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Tue Nov 29 22:42:31 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 29 22:42:31 2011 -0800"
      },
      "message": "am 31e72bc3: bionic: fix __get_tls( ) crash issue\n\n* commit \u002731e72bc3289acdd85b0b745fbf64c5949ca33432\u0027:\n  bionic: fix __get_tls( ) crash issue\n"
    },
    {
      "commit": "1ad08626a143dc684e92f56754c7176cc4914ce8",
      "tree": "63fd47cc8c33df12fa17610a53d000aa7c1c9d37",
      "parents": [
        "0d9f87a3b71057cf804b2d7aa8589e3bf94eab28",
        "897815a1feff230be3ea42655a77dcbb9a8dcca9"
      ],
      "author": {
        "name": "Zhenghua Wang",
        "email": "zhenghua.wang@intel.com",
        "time": "Tue Nov 29 22:42:30 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 29 22:42:30 2011 -0800"
      },
      "message": "am 897815a1: bionic: add machine type check\n\n* commit \u0027897815a1feff230be3ea42655a77dcbb9a8dcca9\u0027:\n  bionic: add machine type check\n"
    },
    {
      "commit": "e480fc83b2887388d469eb3bf58c86c610f5b082",
      "tree": "c595c2a61a1a4aa4d5049762a0130af7c0442437",
      "parents": [
        "31e72bc3289acdd85b0b745fbf64c5949ca33432"
      ],
      "author": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Wed Sep 21 12:44:11 2011 +0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Nov 29 17:09:51 2011 -0800"
      },
      "message": "bionic: fix pthread_{create, exit}/signal race condition\n\n(1) in pthread_create:\n    If the one signal is received before esp is subtracted by 16 and\n    __thread_entry( ) is called, the stack will be cleared by kernel\n    when it tries to contruct the signal stack frame. That will cause\n    that __thread_entry will get a wrong tls pointer from the stack\n    which leads to the segment fault when trying to access tls content.\n\n(2) in pthread_exit\n    After pthread_exit called system call unmap(), its stack will be\n    freed.  If one signal is received at that time, there is no stack\n    available for it.\n\nFixed by subtracting the child\u0027s esp by 16 before the clone system\ncall and by blocking signal handling before pthread_exit is started.\n\nAuthor: Jack Ren \u003cjack.ren@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "31e72bc3289acdd85b0b745fbf64c5949ca33432",
      "tree": "e67e3743e9ceeeb8afdfe25121fbe62dc1608bce",
      "parents": [
        "897815a1feff230be3ea42655a77dcbb9a8dcca9"
      ],
      "author": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Mon Aug 01 18:44:55 2011 +0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Nov 29 17:09:15 2011 -0800"
      },
      "message": "bionic: fix __get_tls( ) crash issue\n\nWhen running the stress test of pthread create/destroy, a crash may\noocur in __get_tls(). That is caused by the race condition with __set_tls( ):\n\nAuthor: Jack Ren \u003cjack.ren@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "897815a1feff230be3ea42655a77dcbb9a8dcca9",
      "tree": "e2cbe576afb2d97fbecaa59e1b4f8229d6aca00b",
      "parents": [
        "faa7c1d29f9ed0b3eb252bb0bd43e7596eed5d9c"
      ],
      "author": {
        "name": "Zhenghua Wang",
        "email": "zhenghua.wang@intel.com",
        "time": "Wed Oct 19 00:29:14 2011 +0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Nov 29 17:01:08 2011 -0800"
      },
      "message": "bionic: add machine type check\n\nandroid linker doesn\u0027t check machine type, it may load some\nlibraries which it doesn\u0027t support sometimes.\n\nAuthor: Zhenghua Wang \u003czhenghua.wang@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "e796d39d80d97ebe0e36476dff3189d155a99c98",
      "tree": "b03d8ac1b4a068c0db0109536cf3d294438a8be1",
      "parents": [
        "495f16cbac001f96944acf3f908766f7769632a4",
        "ca6fe7bebe3cc6ed7e2db5a3ede2de0fcddf411d"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Nov 29 15:48:48 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 15:48:48 2011 -0800"
      },
      "message": "Merge \"Request both v4 and v6 dns when on secondary net\""
    },
    {
      "commit": "495f16cbac001f96944acf3f908766f7769632a4",
      "tree": "b5d51194343e92934daec512bf0af44aa0cbd913",
      "parents": [
        "f1a39dce60be0b453416e1b82a6d445a7677eb4b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Nov 28 13:41:21 2011 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Nov 28 13:42:50 2011 -0800"
      },
      "message": "update capabilities.h\n\nPull in an updated version of capabilities.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/capability.h\n\nChange-Id: I43c8f014954f543858006f24e60a2e69955349da\n"
    },
    {
      "commit": "f1a39dce60be0b453416e1b82a6d445a7677eb4b",
      "tree": "8a439b3a8a38480b20cb6e9800d50d0f5e1909a6",
      "parents": [
        "de44d0b2bd32a2c2cc5e2ffb64f8356efd893bca"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Nov 23 14:38:36 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Nov 23 14:38:36 2011 +0100"
      },
      "message": "libc: Fix typo that broke NDK compatibility.\n\nThe function must be named __atomic_cmpxchg, not __android_cmpxchg.\nThis typo broke existing prebuilt binaries (they couldn\u0027t be loaded\nat runtime anymore).\n\nChange-Id: I25ca7d18329817f0056e616a0409113269ad7b1f\n"
    },
    {
      "commit": "ca6fe7bebe3cc6ed7e2db5a3ede2de0fcddf411d",
      "tree": "c8644c6e427f477c9f7ed31a8dd0ade1b81a94a7",
      "parents": [
        "7e2daefe6cec40e143f519c46aec877ee053b407"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Nov 21 15:14:19 2011 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Nov 22 15:24:44 2011 -0800"
      },
      "message": "Request both v4 and v6 dns when on secondary net\n\nWe can\u0027t easily tell the protocol family of the secondary network,\nso try both and trust that the carrier has configured dns servers\naccording to the protocols supported on its network.\n\nbug:5468224\nChange-Id: If4f017573d313a6ad8354574076de6d63d43b444\n"
    },
    {
      "commit": "de44d0b2bd32a2c2cc5e2ffb64f8356efd893bca",
      "tree": "7b83cab0619d43bef90d24e2590032759d5e1a7d",
      "parents": [
        "95a17848d3a96000f90cdbfc7ff922182f0003b3",
        "0fec6b9d88ee5a9e359b2208038f9806c0804538"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Nov 22 02:10:06 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 22 02:10:06 2011 -0800"
      },
      "message": "Merge \"libc: provide atomic operations will full barriers for NDK apps.\""
    },
    {
      "commit": "95a17848d3a96000f90cdbfc7ff922182f0003b3",
      "tree": "8fff82284e51129617fd070f4bf904f4b70c8351",
      "parents": [
        "f638339d0955ec1d00580842604df7578c40833b",
        "10c8ce59a40a1d8ae8f49145eca365b364aabe58"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 21 13:13:26 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 21 13:13:26 2011 -0800"
      },
      "message": "Merge \"Add tgkill syscall.\""
    },
    {
      "commit": "10c8ce59a40a1d8ae8f49145eca365b364aabe58",
      "tree": "5157c1d270cda4e2933a0e7fedf8b5ed6b920f96",
      "parents": [
        "4b469eae40368913b2841b390dada6c58296c602"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 18 15:17:07 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 18 16:40:48 2011 -0800"
      },
      "message": "Add tgkill syscall.\n\nUse tgkill instead of tkill to implement pthread_kill.\nThis is safer in the event that the thread has already terminated\nand its id has been reused by a different process.\n\nChange-Id: Ied715e11d7eadeceead79f33db5e2b5722954ac9\n"
    },
    {
      "commit": "f638339d0955ec1d00580842604df7578c40833b",
      "tree": "2976c55910c4a2c3c8cdaa6b07d1de4d4401de5f",
      "parents": [
        "5f64df4bc3bc281f661d520773894c729c2b4835",
        "a89c28b09178cb7d8e7aa910aacedafdc7cddf94"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Nov 18 15:42:18 2011 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Nov 18 15:42:18 2011 -0800"
      },
      "message": "Reconcile with ics-mr1-release\n\nChange-Id: I5bf77ac8b8c77cf7a075c6f0ffa99fa696ce13d3\n"
    },
    {
      "commit": "5f64df4bc3bc281f661d520773894c729c2b4835",
      "tree": "2976c55910c4a2c3c8cdaa6b07d1de4d4401de5f",
      "parents": [
        "7e2daefe6cec40e143f519c46aec877ee053b407"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Nov 17 12:58:20 2011 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Nov 18 10:07:12 2011 -0800"
      },
      "message": "ASLR: enable pthread stack location randomization\n\nAllow the kernel to choose a memory location to put the\nthread stack, rather than hard coding 0x10000000\n\nChange-Id: Ib1f37cf0273d4977e8d274fbdab9431ec1b7cb4f\n"
    },
    {
      "commit": "7e2daefe6cec40e143f519c46aec877ee053b407",
      "tree": "5d7ddec5e8b274d86073673d5609fdc33b2e81fb",
      "parents": [
        "b38522983712432ba143c046343ba4fa01baf7c8",
        "468319ce4f3f7383d788b76c09cda2a405311f36"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Nov 16 10:43:56 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 16 10:43:56 2011 -0800"
      },
      "message": "Merge \"Make the linker relocatable.\""
    },
    {
      "commit": "0fec6b9d88ee5a9e359b2208038f9806c0804538",
      "tree": "09eeea71b53e27010352ac913e886459f2ed6c6c",
      "parents": [
        "b38522983712432ba143c046343ba4fa01baf7c8"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Nov 16 17:37:15 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Nov 16 17:37:15 2011 +0100"
      },
      "message": "libc: provide atomic operations will full barriers for NDK apps.\n\n__atomic_cmpxchg and other related atomic operations did not\nprovide memory barriers, which can be a problem for non-platform\ncode that links against them when it runs on multi-core devices.\n\nThis patch does two things to fix this:\n\n- It modifies the existing implementation of the functions\n  that are exported by the C library to always provide\n  full memory barriers. We need to keep them exported by\n  the C library to prevent breaking existing application\n  machine code.\n\n- It also modifies \u003csys/atomics.h\u003e to only export\n  always-inlined versions of the functions, to ensure that\n  any application code compiled against the new header will\n  not rely on the platform version of the functions.\n\n  This ensure that said machine code will run properly on\n  all multi-core devices.\n\nThis is based on the GCC built-in sync primitives.\n\nThe end result should be only slightly slower than the\nprevious implementation.\n\nNote that the platform code does not use these functions\nat all. A previous patch completely removed their usage in\nthe pthread and libstdc++ code.\n\n+ rename arch-arm/bionic/atomics_arm.S to futex_arm.S\n+ rename arch-x86/bionic/atomics_x86.S to futex_x86.S\n+ remove arch-x86/include/sys/atomics.h which already\n  provided inlined functions to the x86 platform.\n\nChange-Id: I752a594475090cf37fa926bb38209c2175dda539\n"
    },
    {
      "commit": "b38522983712432ba143c046343ba4fa01baf7c8",
      "tree": "dda761ca6d2ea14ee7f181fb89625fc4c97e1f28",
      "parents": [
        "90c4c1e82b946c838f22be9c0bb3dcf81eaf26ca",
        "9831ad3ce6bd5b22da16a275ed67e7236eae3d1f"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Nov 16 07:31:31 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 16 07:31:31 2011 -0800"
      },
      "message": "Merge \"libc: speed-up flockfile()/funlockfile()\""
    },
    {
      "commit": "90c4c1e82b946c838f22be9c0bb3dcf81eaf26ca",
      "tree": "7e25ee5cbb82a8d291cd0f05a904373b42c09ad2",
      "parents": [
        "fd7d5acdeb5b32a97640941539de2e56cf6b27f9",
        "e31bfae2baa96742f998155ee26e56c826a8ce3a"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@google.com",
        "time": "Wed Nov 16 07:29:59 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 16 07:29:59 2011 -0800"
      },
      "message": "Merge \"bionic: Do not use \u003csys/atomics.h\u003e for platform code.\""
    },
    {
      "commit": "e31bfae2baa96742f998155ee26e56c826a8ce3a",
      "tree": "b12cfb44ad035c26278f42fa9b19095e90b79e95",
      "parents": [
        "8180b08fb2f27052f9df2ae4787bb5bf409f13e0"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Tue Nov 15 15:47:02 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Nov 16 16:28:10 2011 +0100"
      },
      "message": "bionic: Do not use \u003csys/atomics.h\u003e for platform code.\n\nWe\u0027re going to modify the __atomic_xxx implementation to provide\nfull memory barriers, to avoid problems for NDK machine code that\nlink to these functions.\n\nFirst step is to remove their usage from our platform code.\nWe now use inlined versions of the same functions for a slight\nperformance boost.\n\n+ remove obsolete atomics_x86.c (was never compiled)\n\nNOTE: This improvement was benchmarked on various devices.\n      Comparing a pthread mutex lock + atomic increment + unlock\n      we get:\n\n  - ARMv7 emulator, running on a 2.4 GHz Xeon:\n       before: 396 ns    after: 288 ns\n\n  - x86 emulator in KVM mode on same machine:\n       before: 27 ns     after: 27 ns\n\n  - Google Nexus S, in ARMv7 mode (single-core):\n       before: 82 ns     after: 76 ns\n\n  - Motorola Xoom, in ARMv7 mode (multi-core):\n       before: 121 ns    after: 120 ns\n\nThe code has also been rebuilt in ARMv5TE mode for correctness.\n\nChange-Id: Ic1dc72b173d59b2e7af901dd70d6a72fb2f64b17\n"
    },
    {
      "commit": "a89c28b09178cb7d8e7aa910aacedafdc7cddf94",
      "tree": "5924a01d2a17ca305f8c63770e38bc6881ff5f07",
      "parents": [
        "0d9f87a3b71057cf804b2d7aa8589e3bf94eab28",
        "d717f5170f00a1dfcc164d6cac53e9543021acf8"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 16 06:45:21 2011 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 16 06:45:21 2011 -0800"
      },
      "message": "merge in ics-mr1-release history after reset to ics-mr1\n"
    },
    {
      "commit": "fd7d5acdeb5b32a97640941539de2e56cf6b27f9",
      "tree": "d1f6034ddc48905df394bedc3885bf59980603a6",
      "parents": [
        "8180b08fb2f27052f9df2ae4787bb5bf409f13e0",
        "0d9f87a3b71057cf804b2d7aa8589e3bf94eab28"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Nov 15 18:25:18 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 15 18:25:18 2011 -0800"
      },
      "message": "am 0d9f87a3: Add auto-exposure/auto-white balance lock support to soc2030 image sensor.\n\n* commit \u00270d9f87a3b71057cf804b2d7aa8589e3bf94eab28\u0027:\n  Add auto-exposure/auto-white balance lock support to soc2030 image sensor.\n"
    },
    {
      "commit": "8180b08fb2f27052f9df2ae4787bb5bf409f13e0",
      "tree": "edcb7742bc8dab8519c535849f21155799d78ef2",
      "parents": [
        "4b469eae40368913b2841b390dada6c58296c602"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Nov 15 17:17:28 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Nov 15 17:17:28 2011 +0100"
      },
      "message": "linker: Fix the computation of si-\u003ebase\n\nThe computation of si-\u003ebase assumed that the first entry in the\nprogram header table is a PT_PHDR. This results in the dynamic\nlinker crashing with a SIGSEGV/MAPERR when trying to load some\nof the NDK unit test programs, which happen to have an EXIDX\nheader first, followed byu a PHDR one.\n\nThis patch fixes the computation by parsing the program header\ntable, looking explicitely for the PHDR entry. This fixes the\nload of the NDK unit test programs, and doesn\u0027t affect system\nlibraries.\n\nChange-Id: Id18ea6037dbe950b5abbbce816c2960321f0b81d\n"
    },
    {
      "commit": "9831ad3ce6bd5b22da16a275ed67e7236eae3d1f",
      "tree": "2f5152add91760c209361fb918ad83a4f24b3502",
      "parents": [
        "4b469eae40368913b2841b390dada6c58296c602"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Aug 29 21:43:46 2011 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Nov 15 13:16:42 2011 +0100"
      },
      "message": "libc: speed-up flockfile()/funlockfile()\n\nFor Honeycomb, we added proper file thread-safety for\nall FILE* operations. However, we did implement that by\nusing an out-of-band hash table to map FILE* pointers\nto phtread_mutex_t mutexes, because we couldn\u0027t change\nthe size of \u0027struct _sFILE\u0027 without breaking the ABI.\n\nIt turns out that our BSD-derived code already has\nsome support code to extend FILE* objects, so use it\ninstead. See libc/stdio/fileext.h\n\nThis patch gets rid of the hash table, and put the\nmutex directly into the sFILE extension.\n\nChange-Id: If1c3fe0a0a89da49c568e9a7560b7827737ff4d0\n"
    },
    {
      "commit": "4b469eae40368913b2841b390dada6c58296c602",
      "tree": "c428da430eef110cd301e34b73d661d7eb0edb54",
      "parents": [
        "9bf330b5676d0f60b3e4c3b8985494bcb1134e8b",
        "0aa8289c6fddda6502fa97c8789341f1462c4224"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Nov 14 15:12:43 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 14 15:12:43 2011 -0800"
      },
      "message": "Merge \"generate PIC code.\""
    },
    {
      "commit": "9bf330b5676d0f60b3e4c3b8985494bcb1134e8b",
      "tree": "b45e394b4e8b7fe8cebb1aa4d04b3131e0c4e48b",
      "parents": [
        "7939908c8310342c8e1b717c4599273a782b3c2b"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Nov 14 12:57:47 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Nov 14 22:57:24 2011 +0100"
      },
      "message": "libc: fix the pthread_sigmask implementation\n\nThe old code didn\u0027t work because the kernel expects a 64-bit sigset_t\nwhile the one provided by our ABI is only 32-bit. This is originally\ndue to the fact that the kernel headers themselves define sigset_t\nas a 32-bit type when __KERNEL__ is not defined (apparently to cater\nto libc5 or some similarly old C library).\n\nWe can\u0027t modify the size of sigset_t without breaking the NDK ABI,\nso instead perform runtime translation during the call.\n\nChange-Id: Ibfdc3cbceaff864af7a05ca193aa050047b4773f\n"
    },
    {
      "commit": "468319ce4f3f7383d788b76c09cda2a405311f36",
      "tree": "75be29e8c9b3f67fcfe51c8ec84fe1520282f8a9",
      "parents": [
        "0aa8289c6fddda6502fa97c8789341f1462c4224"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Nov 11 15:53:17 2011 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Nov 11 18:01:53 2011 -0800"
      },
      "message": "Make the linker relocatable.\n\nPreviously, the linker always loaded itself into the same\nlocation in memory, which inhibited the effectiveness of Android\u0027s\nASLR implementation. Modify the linker code so it can be relocatable\nand link itself at runtime.\n\nChange-Id: Ia80273d7a00ff648b4da545f4b69debee6343968\n"
    },
    {
      "commit": "0aa8289c6fddda6502fa97c8789341f1462c4224",
      "tree": "20b4b4f1459278304f61d0361b86dbb0327394ac",
      "parents": [
        "7939908c8310342c8e1b717c4599273a782b3c2b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Nov 11 15:47:24 2011 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Nov 11 17:28:59 2011 -0800"
      },
      "message": "generate PIC code.\n\nChange-Id: I6740c30e2782ae203aa7ddaeaf3b233e90de9c4d\n"
    },
    {
      "commit": "7939908c8310342c8e1b717c4599273a782b3c2b",
      "tree": "21934e597ce223a46480bd97db15e5302d3ffe1b",
      "parents": [
        "8e8a7b1f0fb9daf8d4434e18a9fff5c28f849cb8"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Nov 04 10:11:26 2011 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Nov 04 10:22:55 2011 -0700"
      },
      "message": "linker: set LOCAL_NO_CRT :\u003d true\n\nUse LOCAL_NO_CRT to prevent linking against crtbegin.o, rather than\nmessing with build rules. This also prevents linking against crtend.o,\nwhich isn\u0027t needed for the linker.\n\nChange-Id: I0c5b9999be7e8676560fe145c1c033ffce8db4d1\n"
    },
    {
      "commit": "8e8a7b1f0fb9daf8d4434e18a9fff5c28f849cb8",
      "tree": "94d387ed8c58504162550b1b2ae8c93f3dfffa30",
      "parents": [
        "994e9a5ed1c4e9f23a8bed79caea684eaa270027"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Nov 03 09:25:06 2011 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Nov 03 09:25:06 2011 -0700"
      },
      "message": "Revert \"Make the linker relocatable.\"\n\nThis reverts commit 994e9a5ed1c4e9f23a8bed79caea684eaa270027.\n\nBroke x86 build.\n"
    },
    {
      "commit": "994e9a5ed1c4e9f23a8bed79caea684eaa270027",
      "tree": "0c860675ec867f02616a74cac6d2adfc58b07d10",
      "parents": [
        "29992cf9787496216440ed9c6c60dc40377aebe1"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Nov 01 10:51:22 2011 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Nov 02 16:20:06 2011 -0700"
      },
      "message": "Make the linker relocatable.\n\nPreviously, the linker always loaded itself into the same\nlocation in memory, which inhibited the effectiveness of Android\u0027s\nASLR implementation. Modify the linker code so it can be relocatable\nand link itself at runtime.\n\nChange-Id: I90d064743abdd29450ac0482ed28752b2196286c\n"
    },
    {
      "commit": "29992cf9787496216440ed9c6c60dc40377aebe1",
      "tree": "94d387ed8c58504162550b1b2ae8c93f3dfffa30",
      "parents": [
        "31f0610798a604a93b59129c947ab50846c4cfdc",
        "f3dbdbe269e368c94d54f5c166426773b68da111"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 31 14:43:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 31 14:43:50 2011 -0700"
      },
      "message": "Merge \"Update to tzdata2011n.\""
    },
    {
      "commit": "f3dbdbe269e368c94d54f5c166426773b68da111",
      "tree": "94d387ed8c58504162550b1b2ae8c93f3dfffa30",
      "parents": [
        "bcb2edac654962758c6d7d8d3e0e4cdcb75c89fc"
      ],
      "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": "Mon Oct 31 14:11:32 2011 -0700"
      },
      "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\nChange-Id: I7a0fba88d1fc6face649648013aaf2b111c29d7f\n"
    },
    {
      "commit": "31f0610798a604a93b59129c947ab50846c4cfdc",
      "tree": "3fe66b6c98d2a141a6064b719382c771cd57b377",
      "parents": [
        "bcb2edac654962758c6d7d8d3e0e4cdcb75c89fc",
        "d717f5170f00a1dfcc164d6cac53e9543021acf8"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Oct 31 13:19:03 2011 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Oct 31 13:19:03 2011 -0700"
      },
      "message": "Reconcile with ics-mr1-release\n\nChange-Id: Ifc8b7e46968eb77bb47eb85274aa7ab35ed36925\n"
    },
    {
      "commit": "0d9f87a3b71057cf804b2d7aa8589e3bf94eab28",
      "tree": "5924a01d2a17ca305f8c63770e38bc6881ff5f07",
      "parents": [
        "b0641d4a446fa98c72fd6252e5a5ca7e44c41f1f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Oct 31 10:52:50 2011 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Oct 31 11:42:18 2011 -0700"
      },
      "message": "Add auto-exposure/auto-white balance lock support to soc2030 image\nsensor.\n\nBug: 4980604\nChange-Id: I1be07a23573b70eeddd9ecb2370605713aea3d03\n"
    },
    {
      "commit": "bcb2edac654962758c6d7d8d3e0e4cdcb75c89fc",
      "tree": "3fe66b6c98d2a141a6064b719382c771cd57b377",
      "parents": [
        "d9ad62343c2db6b66a5fa597c9b20a6faabd7a9a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 10:47:25 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 24 10:52:14 2011 -0700"
      },
      "message": "Update to tzdata2011m.\n\nFixes for Europe/Tiraspol (Moldova) and all four Ukrainian zones.\n\nAlso show the MD5 of the downloaded data, for comparison against the MD5\ngiven in the announcement mails. (There\u0027s a plan to move to proper signing,\nbut that\u0027s not implemented on their end yet.)\n\nChange-Id: I845e6f125c0f54298abadc643adfeca2eff4827a\n"
    },
    {
      "commit": "d9ad62343c2db6b66a5fa597c9b20a6faabd7a9a",
      "tree": "32c3b060bfdc7f792ddb0d0cf95007dc2e809137",
      "parents": [
        "b0641d4a446fa98c72fd6252e5a5ca7e44c41f1f"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Oct 20 14:57:56 2011 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Oct 22 13:19:23 2011 -0700"
      },
      "message": "Add linker support for PIE\n\nModify the dynamic linker so that executables can be loaded\nat locations other than 0x00000000.\n\nModify crtbegin* so that non-PIC compilant \"thumb interwork\nveneers\" are not created by the linker.\n\nBug: 5323301\nChange-Id: Iece0272e2b708c79034f302c20160e1fe9029588\n"
    },
    {
      "commit": "d717f5170f00a1dfcc164d6cac53e9543021acf8",
      "tree": "6d92c90b54d6ebcf4b201d8e592d1c259c081729",
      "parents": [
        "b0641d4a446fa98c72fd6252e5a5ca7e44c41f1f",
        "df331f5f9b74a2f54f6786384fc3b2b55902d366"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Thu Oct 13 06:59:20 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Thu Oct 13 06:59:20 2011 -0700"
      },
      "message": "merge in ics-release history after reset to master\n"
    },
    {
      "commit": "b0641d4a446fa98c72fd6252e5a5ca7e44c41f1f",
      "tree": "6d92c90b54d6ebcf4b201d8e592d1c259c081729",
      "parents": [
        "faa7c1d29f9ed0b3eb252bb0bd43e7596eed5d9c",
        "487b613e572160e80d0700e1bcd0e405420d14ea"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Oct 12 07:51:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 12 07:51:53 2011 -0700"
      },
      "message": "Merge \"Use ENTRY and EXIT macros for strcmp, memcpy, atexit.\""
    },
    {
      "commit": "df331f5f9b74a2f54f6786384fc3b2b55902d366",
      "tree": "33a18305c613596faa1cd9f692e7c9eee09e69d0",
      "parents": [
        "faa7c1d29f9ed0b3eb252bb0bd43e7596eed5d9c",
        "bf8f6bb8202beb1c3e1d9cc861e8b0e3879372d3"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Oct 11 05:32:11 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Oct 11 05:32:11 2011 -0700"
      },
      "message": "merge in ics-release history after reset to master\n"
    },
    {
      "commit": "487b613e572160e80d0700e1bcd0e405420d14ea",
      "tree": "1b412ce8aa13d2a7eb40005cbfdf24b9851d27a4",
      "parents": [
        "0a1b306fe1e86b4d218506d2d3d3e72df8f795ba"
      ],
      "author": {
        "name": "Evgeniy Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue Oct 04 14:22:15 2011 +0400"
      },
      "committer": {
        "name": "Evgeniy Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue Oct 11 12:12:05 2011 +0400"
      },
      "message": "Use ENTRY and EXIT macros for strcmp, memcpy, atexit.\n\nWithout this change strcmp size is zero (not set), and it gets\nignored by Valgrind. Changes to memcpy and atexit don\u0027t affect the\ngenerated binary in any way.\n\nChange-Id: I05818cb5951f75901dc8c0eef02807a2e83a9231\n"
    },
    {
      "commit": "faa7c1d29f9ed0b3eb252bb0bd43e7596eed5d9c",
      "tree": "33a18305c613596faa1cd9f692e7c9eee09e69d0",
      "parents": [
        "0a1b306fe1e86b4d218506d2d3d3e72df8f795ba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 10 14:05:53 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 10 14:05:53 2011 -0700"
      },
      "message": "Update to tzdata2011l.\n\nThis affects Asia/Hebron and Pacific/Fiji (and historical data for\nAmerica/Sitka).\n\nChange-Id: I111a34038e44416f1900f774bdb78750e815eb5f\n"
    },
    {
      "commit": "bf8f6bb8202beb1c3e1d9cc861e8b0e3879372d3",
      "tree": "3d67d5521578b01dc26fde9be539fc30ca604933",
      "parents": [
        "0a1b306fe1e86b4d218506d2d3d3e72df8f795ba",
        "cd17f880102e3bdff87e8e86487ece5ad9c9eabb"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Fri Sep 30 06:44:15 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Fri Sep 30 06:44:15 2011 -0700"
      },
      "message": "merge in ics-release history after reset to master\n"
    },
    {
      "commit": "0a1b306fe1e86b4d218506d2d3d3e72df8f795ba",
      "tree": "3d67d5521578b01dc26fde9be539fc30ca604933",
      "parents": [
        "229ab1a33ea79fcea42302fbe9680a6c1047325f",
        "32ca348eecb114b9b2a9393f178c82310f590ddb"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Sep 29 21:09:08 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 29 21:09:08 2011 -0700"
      },
      "message": "am 32ca348e: am ce0d646c: resolved conflicts for merge of 6cda7b62 to gingerbread-plus-aosp\n\n* commit \u002732ca348eecb114b9b2a9393f178c82310f590ddb\u0027:\n  Bionic: x86: Fix libm macro definitions\n"
    },
    {
      "commit": "32ca348eecb114b9b2a9393f178c82310f590ddb",
      "tree": "1d374b6ff31c98b742b5135d6f10056885be91ac",
      "parents": [
        "91966c30efbdc7feecd6c45a46ab488e715c0a35",
        "ce0d646cc0beb6b44d5429d01e51d00005264f44"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Sep 29 21:03:00 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 29 21:03:00 2011 -0700"
      },
      "message": "am ce0d646c: resolved conflicts for merge of 6cda7b62 to gingerbread-plus-aosp\n\n* commit \u0027ce0d646cc0beb6b44d5429d01e51d00005264f44\u0027:\n  Bionic: x86: Fix libm macro definitions\n"
    },
    {
      "commit": "ce0d646cc0beb6b44d5429d01e51d00005264f44",
      "tree": "0249a6a1c10ddf04e0a303b0d1b05b4a47633ca9",
      "parents": [
        "0acdbe0892105d01a38de9baf4e34eef22b8259c",
        "6cda7b6249c05ebcaebeb86badf957ec0f04e4ad"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Sep 30 05:56:51 2011 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Sep 30 05:56:51 2011 +0200"
      },
      "message": "resolved conflicts for merge of 6cda7b62 to gingerbread-plus-aosp\n\nChange-Id: I85bd5291c2a9cd29bff538b6d5a4dcd73f85a1fd\n"
    },
    {
      "commit": "229ab1a33ea79fcea42302fbe9680a6c1047325f",
      "tree": "4bcab1fb59b3633dae576cc3320a96dcb9f8332f",
      "parents": [
        "4638822fc07aae8cc08600c85c16183ed8d5ef79",
        "f432de2de7288c0589d1e50c2aa949a76c571794"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Sep 29 10:52:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 29 10:52:23 2011 -0700"
      },
      "message": "Merge \"Send both A and AAAA queries if all probes fail.\""
    },
    {
      "commit": "4638822fc07aae8cc08600c85c16183ed8d5ef79",
      "tree": "8d9faefa3bcd482cba3ec6875da0f6b7cc6898c1",
      "parents": [
        "bda5da074eab4bdf374e1f4a19d480c62c72f5ff",
        "b82532d11a301370c14f77f2e56dee11f8bfa971"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Sep 29 10:52:16 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 29 10:52:16 2011 -0700"
      },
      "message": "Merge \"Revert \"Use framework hints to determine dns query type.\"\""
    },
    {
      "commit": "6cda7b6249c05ebcaebeb86badf957ec0f04e4ad",
      "tree": "14578aaa3b23795029c105c6e1af50e8a05b8891",
      "parents": [
        "50a83255d80f98b857c3f72dd2225d4bbc720ca3"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Thu Sep 15 10:59:01 2011 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Sep 29 17:35:33 2011 +0200"
      },
      "message": "Bionic: x86: Fix libm macro definitions\n\nhttp://code.google.com/p/android/issues/detail?id\u003d19276\n\nGCC would remove inline asm due to lack of knowledge\nof FPU register changes.\n\nChange-Id: I9f9e8623fa6580843b7cd8178439ace8c2db2d51\nSigned-off-by: Mark D Horn \u003cmark.d.horn@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\nAuthor: Jingwei Zhang \u003cjingwei.zhang@intel.com\u003e\n"
    },
    {
      "commit": "f432de2de7288c0589d1e50c2aa949a76c571794",
      "tree": "85acbd556d21ef44361b56b4b117b734412c8e21",
      "parents": [
        "b82532d11a301370c14f77f2e56dee11f8bfa971"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 28 19:47:38 2011 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 28 22:38:08 2011 -0700"
      },
      "message": "Send both A and AAAA queries if all probes fail.\n\nAI_ADDRCONFIG is currently implemented by trying to connect\nto well-known addresses in order to see if IPv4 and/or IPv6\nconnectivity is available.\n\nIn some cases (e.g., walled gardens with no global\nconnectivity) both probes can fail. If this happens,\nquery for both IPv4 and IPv6 addresses instead of doing\nnothing and failing the query.\n\nBug: 5284168\nChange-Id: I4e3a69ea86fb6d839a6bd31236b98da81e5cbf45\n"
    },
    {
      "commit": "b82532d11a301370c14f77f2e56dee11f8bfa971",
      "tree": "b4d9dbda5963d9d7f8d24811e2cbfb3812730bbd",
      "parents": [
        "00964912745f0bb7e081f84ddcc74940f973149f"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 28 19:28:32 2011 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 28 22:37:41 2011 -0700"
      },
      "message": "Revert \"Use framework hints to determine dns query type.\"\n\nChange Ife82a8d8 broke IPv6 on wifi. Change I4e3a69ea is\nan alternate approach that does not require any framework\nchanges.\n\nBug: 5284168\nChange-Id: Ib52614be3875a2ae2eaedd1be265f90e506eda41\n"
    },
    {
      "commit": "cd17f880102e3bdff87e8e86487ece5ad9c9eabb",
      "tree": "87a4c2fd35e6b071476d4a5fd02aca7c61c6e3f9",
      "parents": [
        "bda5da074eab4bdf374e1f4a19d480c62c72f5ff",
        "c90290899956a3e711fd3789a5f8169f4661a558"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Sep 28 17:56:54 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Sep 28 17:56:54 2011 -0700"
      },
      "message": "merge in ics-release history after reset to master\n"
    },
    {
      "commit": "bda5da074eab4bdf374e1f4a19d480c62c72f5ff",
      "tree": "87a4c2fd35e6b071476d4a5fd02aca7c61c6e3f9",
      "parents": [
        "00964912745f0bb7e081f84ddcc74940f973149f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 27 22:30:19 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 28 12:17:34 2011 -0700"
      },
      "message": "fix prototype of dladdr\n\nthis breaks C++ source code in particular.\n\nChange-Id: Ie06b5d31d23b5455e6950c470adc64dd5e7784df\n"
    },
    {
      "commit": "c90290899956a3e711fd3789a5f8169f4661a558",
      "tree": "557f79f3244d9115ae8ec8756d08f4442baa733f",
      "parents": [
        "00964912745f0bb7e081f84ddcc74940f973149f",
        "0c7245213d10c50e0ca49e4e8f279872c4b9877f"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Sep 27 06:59:11 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Sep 27 06:59:11 2011 -0700"
      },
      "message": "merge in ics-release history after reset to master\n"
    },
    {
      "commit": "00964912745f0bb7e081f84ddcc74940f973149f",
      "tree": "557f79f3244d9115ae8ec8756d08f4442baa733f",
      "parents": [
        "924c8785f0b0822ab23a8a8917d312b7c5f63243"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 10:53:50 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 26 10:53:50 2011 -0700"
      },
      "message": "Update to tzdata2011k.\n\nAffects Palestine, Gaza, Hebron, Belarus, Ukraine, and \"Russia\".\n\nChange-Id: Ib17f848c3b0e86d0bfcf289c4c4a3ae53dd2f8c4\n"
    },
    {
      "commit": "0c7245213d10c50e0ca49e4e8f279872c4b9877f",
      "tree": "fba3dd840a29128132398f5995eb53f212d8fbc2",
      "parents": [
        "924c8785f0b0822ab23a8a8917d312b7c5f63243",
        "d98f3e9f71e9ab950fb834e7281268d25cf12989"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Sun Sep 25 06:59:15 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Sun Sep 25 06:59:15 2011 -0700"
      },
      "message": "merge in ics-release history after reset to master\n"
    },
    {
      "commit": "924c8785f0b0822ab23a8a8917d312b7c5f63243",
      "tree": "fba3dd840a29128132398f5995eb53f212d8fbc2",
      "parents": [
        "771600415f41b9075b83dcf1e5395d2292ea05b2",
        "8af58f0fd4ff3fb11cb8a3c61e4654e3633906a4"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Sep 22 23:39:54 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 22 23:39:54 2011 -0700"
      },
      "message": "am 8af58f0f: Use framework hints to determine dns query type.\n\n* commit \u00278af58f0fd4ff3fb11cb8a3c61e4654e3633906a4\u0027:\n  Use framework hints to determine dns query type.\n"
    }
  ],
  "next": "8af58f0fd4ff3fb11cb8a3c61e4654e3633906a4"
}
