)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "8af58f0fd4ff3fb11cb8a3c61e4654e3633906a4",
      "tree": "b4aa27455c5b7ed1fd07483ddad38a0dfe3288c4",
      "parents": [
        "3884bfe9661955543ce203c60f9225bbdf33f6bb"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Sep 13 17:33:52 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Sep 22 11:43:06 2011 -0700"
      },
      "message": "Use framework hints to determine dns query type.\n\nInstead of checking for IPv4 or IPv6 connectivity, try using pid-specific\nhints the framework has left for us.\n\nbug:5284168\nChange-Id: Id64d48db3900865a7d58ada8309870c63d6eab12\n"
    },
    {
      "commit": "771600415f41b9075b83dcf1e5395d2292ea05b2",
      "tree": "6280b32ab308ebd595a92e255b8fca670bb34906",
      "parents": [
        "d53cae0e45dafdb3a83ccc3675051c0aee532111",
        "3884bfe9661955543ce203c60f9225bbdf33f6bb"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Sat Sep 17 16:32:00 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Sep 17 16:32:00 2011 -0700"
      },
      "message": "am 3884bfe9: libc: popen: work around data corruption\n\n* commit \u00273884bfe9661955543ce203c60f9225bbdf33f6bb\u0027:\n  libc: popen: work around data corruption\n"
    },
    {
      "commit": "3884bfe9661955543ce203c60f9225bbdf33f6bb",
      "tree": "3623958287a5af79d5da2dc15f511d94662da00b",
      "parents": [
        "b8ef90d67950c5d4e04f95c30e164e924f41f70a"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Sat Sep 17 15:22:21 2011 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Sat Sep 17 15:22:21 2011 -0700"
      },
      "message": "libc: popen: work around data corruption\n\nvfork() would not save the registers that the parent would expect\nto have restored after execl() completed.\nSpecially that execl() would call execve() underneath, further messing\nup the stack of the parent.\nTo avoid that, we fork() for now. Later we will revisit and cleanup\nvfork()+execve() to actually have vfork() store all the register\nthat the parent expects to see, and not those left by execve().\n\nIn the original code, looking at the registers just before the call to\npopen(), and after the call showed that r7 would get clobbered.\nThis would leave the caller with an invalid pointer, leading to all\nkinds of data corruptions.\nexecve() is simpler that execl() in this case.\n\n\nBug: 5336252\nChange-Id: I3bf718c0bb4c0439f6f2753f153cdea14175be9c\n"
    },
    {
      "commit": "d53cae0e45dafdb3a83ccc3675051c0aee532111",
      "tree": "c8771059f9c172b0da3b05f7e4903e1225008635",
      "parents": [
        "b8ef90d67950c5d4e04f95c30e164e924f41f70a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 11 15:41:28 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 16 12:38:28 2011 -0700"
      },
      "message": "Add non-NDK internal API __pthread_gettid\n\nTracking bugs 5267571 and 5090073 (for deadlock detection logs).\n\nChange-Id: Icb90f91ec1525607551c2234ef921bf88296484f\n"
    },
    {
      "commit": "b8ef90d67950c5d4e04f95c30e164e924f41f70a",
      "tree": "34cb78228d01966be2252ffe08c5e7eb05de0535",
      "parents": [
        "5da3ed177c52cdd8344b86f9b95b08b6aa473210"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Sep 14 11:20:23 2011 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Sep 14 11:20:23 2011 -0700"
      },
      "message": "update linux/fb.h\n\nChange-Id: Ib00343e3b6f95eaf3d347d4b8b9df950d0686e70\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "5da3ed177c52cdd8344b86f9b95b08b6aa473210",
      "tree": "332c341242f8872fc8f2a0c590ac4f221599de86",
      "parents": [
        "763230ae5509da3ec83cde5bf6ce54dd728a0adf",
        "6ea19d78157651cee17e5da0b11c60c7b8a49c6d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 12 11:19:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 12 11:19:51 2011 -0700"
      },
      "message": "Merge \"Update to tzdata2011j.\""
    },
    {
      "commit": "6ea19d78157651cee17e5da0b11c60c7b8a49c6d",
      "tree": "4be23dc2a65409845f5e0ffd4dfbd146e42e0e3b",
      "parents": [
        "38bccb271f121fc06eaa0d8fbd3c982bc44c36b7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 12 10:28:11 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 12 10:28:11 2011 -0700"
      },
      "message": "Update to tzdata2011j.\n\nAffects Samoa, Kenya, Uganda, and Tanzania.\n\nChange-Id: Ibee638d415d4f0389ff27ea1c9c481543e181f1f\n"
    },
    {
      "commit": "763230ae5509da3ec83cde5bf6ce54dd728a0adf",
      "tree": "7d3f21d452de03e1dfcb389e1c64434f879d414a",
      "parents": [
        "7f84da69f86ed9daf610c8d1129392ba3f7c4405"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Sep 07 12:53:22 2011 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Sep 07 12:53:22 2011 -0700"
      },
      "message": "update kernel video/dsscomp.h\n\nChange-Id: Ifc4f96e3a9c3435c0b0ee80ac9da295b4e9463a1\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    },
    {
      "commit": "7f84da69f86ed9daf610c8d1129392ba3f7c4405",
      "tree": "dd1d2b0e5659065334bec7962b7d2a83de541824",
      "parents": [
        "96e5faccdc5616bb6d4a55d50a0e6148f99d943b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Sep 02 07:44:36 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Sep 02 07:44:36 2011 -0700"
      },
      "message": "Add some logging of dns cache operations\n\nAdded info about what entries are getting flushed due to ttl or size limits.\n\nChange-Id: I69fb70ce23b5b820f5f1a5738c0f1aa57b6a1127\n"
    },
    {
      "commit": "b0bbbff6060b382d2c4607f026e182adb67d0cc0",
      "tree": "d7c8efb664960e2413aba2688650841ee186ccb5",
      "parents": [
        "4f3465240a9f0a7ba913188acb048483aef9d6b9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 29 08:58:09 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 29 08:58:09 2011 -0700"
      },
      "message": "Update to tzdata2011i.\n\nAffects South Sudan (Africa/Juba), Samoa, Europe/Kalingrad, Newfoundland,\nAmerica/Resolute, Metlakatla, America/Honolulu, America/Goose_Bay and\nAmerica/St_Johns.\n\nChange-Id: I8e60a7c7ba5ab71eedcc66937443a9e6993accd6\n"
    },
    {
      "commit": "4f3465240a9f0a7ba913188acb048483aef9d6b9",
      "tree": "679eedd573bea6925cd7e395bdb8f7358812d08f",
      "parents": [
        "0b33d9982e68991efb5035d126516391113b0baa",
        "97497538897020d0319d4b7278ef5c452ffa82eb"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Aug 24 15:01:13 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 15:01:13 2011 -0700"
      },
      "message": "Merge \"update video/dsscomp.h\""
    }
  ],
  "next": "97497538897020d0319d4b7278ef5c452ffa82eb"
}
