)]}'
{
  "log": [
    {
      "commit": "7f7ac8cd19f1a7fc61aa640505747dee9036fa61",
      "tree": "6541ff921f9a79436b8f912efaf847ef1c0b0e7f",
      "parents": [
        "6db8f5bb75bb79e0b4873e6d293aa25e2c9f090b",
        "e3c7b5192e65eeb0bd90bf884d3435ed9adfad0e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 17:37:04 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 01 17:37:04 2012 -0700"
      },
      "message": "am e3c7b519: Merge \"Don\\\u0027t corrupt the thread list if the main thread exits.\"\n\n* commit \u0027e3c7b5192e65eeb0bd90bf884d3435ed9adfad0e\u0027:\n  Don\u0027t corrupt the thread list if the main thread exits.\n"
    },
    {
      "commit": "e3c7b5192e65eeb0bd90bf884d3435ed9adfad0e",
      "tree": "c286f766235443120712c1260b81442df49abcde",
      "parents": [
        "d30116cf4a590e7bea3b73fa49bb27502a920819",
        "4f251bee5d51228217c1bf4dfc9219f3058bd3ed"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 17:28:00 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 01 17:28:01 2012 -0700"
      },
      "message": "Merge \"Don\u0027t corrupt the thread list if the main thread exits.\""
    },
    {
      "commit": "4f251bee5d51228217c1bf4dfc9219f3058bd3ed",
      "tree": "3d0f1faef6a38e494f8157e467e7fc0f876f6cd4",
      "parents": [
        "064f862d557ab741575dfae479499a07ca0ab742"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 16:33:29 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 17:27:07 2012 -0700"
      },
      "message": "Don\u0027t corrupt the thread list if the main thread exits.\n\n...and don\u0027t pass a non-heap pointer to free(3), either.\n\nThis patch replaces the \"node** prev\" with the clearer \"node* prev\"\nstyle and fixes the null pointer dereference in the old code. That\u0027s\nnot sufficient to fix the reporter\u0027s bug, though. The pthread_internal_t*\nfor the main thread isn\u0027t heap-allocated --- __libc_init_tls causes a\npointer to a statically-allocated pthread_internal_t to be added to\nthe thread list.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d37410\nChange-Id: I112b7f22782fc789d58f9c783f7b323bda8fb8b7\n"
    },
    {
      "commit": "6db8f5bb75bb79e0b4873e6d293aa25e2c9f090b",
      "tree": "1ecb7fb41088f98f9fbd179601a5a9d7539e65dd",
      "parents": [
        "65ba5b62c5a59181317b86f772d9ebb756d4741f",
        "d30116cf4a590e7bea3b73fa49bb27502a920819"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 17:00:13 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 01 17:00:13 2012 -0700"
      },
      "message": "am d30116cf: Merge \"Keep the dynamic linker\\\u0027s soinfo pools mostly read-only.\"\n\n* commit \u0027d30116cf4a590e7bea3b73fa49bb27502a920819\u0027:\n  Keep the dynamic linker\u0027s soinfo pools mostly read-only.\n"
    },
    {
      "commit": "d30116cf4a590e7bea3b73fa49bb27502a920819",
      "tree": "a3604b996016d73b2ccaf2982d338dc5d5ae53a3",
      "parents": [
        "064f862d557ab741575dfae479499a07ca0ab742",
        "d23736e4f228e46304b7cbc674a1d0094d73e0f5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 16:49:37 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 01 16:49:37 2012 -0700"
      },
      "message": "Merge \"Keep the dynamic linker\u0027s soinfo pools mostly read-only.\""
    },
    {
      "commit": "d23736e4f228e46304b7cbc674a1d0094d73e0f5",
      "tree": "a3604b996016d73b2ccaf2982d338dc5d5ae53a3",
      "parents": [
        "064f862d557ab741575dfae479499a07ca0ab742"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 15:16:56 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 16:48:14 2012 -0700"
      },
      "message": "Keep the dynamic linker\u0027s soinfo pools mostly read-only.\n\nWe\u0027ll need a lot more refactoring of this code before we can reduce\nthe granularity, but this is a step forward.\n\nChange-Id: I07061720e734b571a8399c1d5b4f2f35cd681307\n"
    },
    {
      "commit": "65ba5b62c5a59181317b86f772d9ebb756d4741f",
      "tree": "1076e134e730084844ca752bc1510f3aa1d682f5",
      "parents": [
        "3bb62578beb36a35d3b1d2fbe18bd34a9d4ecca4",
        "064f862d557ab741575dfae479499a07ca0ab742"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 14:14:00 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 01 14:14:00 2012 -0700"
      },
      "message": "am 064f862d: Merge \"Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too.\"\n\n* commit \u0027064f862d557ab741575dfae479499a07ca0ab742\u0027:\n  Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too.\n"
    },
    {
      "commit": "064f862d557ab741575dfae479499a07ca0ab742",
      "tree": "37e1243251773431c52c106026b0cb405babb7c3",
      "parents": [
        "0be1819b22b33fbedcb150f96a196ed096abe2fc",
        "1a6961650c82168864afe040dbdc05977db701df"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 13:56:59 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 01 13:57:00 2012 -0700"
      },
      "message": "Merge \"Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too.\""
    },
    {
      "commit": "1a6961650c82168864afe040dbdc05977db701df",
      "tree": "37e1243251773431c52c106026b0cb405babb7c3",
      "parents": [
        "0be1819b22b33fbedcb150f96a196ed096abe2fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 13:49:32 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 13:53:26 2012 -0700"
      },
      "message": "Stop defining our own PAGE_SIZE and PAGE_MASK, and test dlclose(3) too.\n\nAlso remove an unnecessary #include and a now-obsolete TODO.\n\nChange-Id: I36d923721e349a286934b9534090a67ce0786e7b\n"
    },
    {
      "commit": "3bb62578beb36a35d3b1d2fbe18bd34a9d4ecca4",
      "tree": "c4f93e3323a793f76f87c5f281fecc87fde9a304",
      "parents": [
        "1de3af51d459c2ced602f10e4f7e7fe704400cdc",
        "0be1819b22b33fbedcb150f96a196ed096abe2fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 11:44:29 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 01 11:44:29 2012 -0700"
      },
      "message": "am 0be1819b: Merge \"Dynamically allocate soinfo-structs in linker\"\n\n* commit \u00270be1819b22b33fbedcb150f96a196ed096abe2fc\u0027:\n  Dynamically allocate soinfo-structs in linker\n"
    },
    {
      "commit": "0be1819b22b33fbedcb150f96a196ed096abe2fc",
      "tree": "f9072e739578645fc5ec927b6c7ed511b15ba144",
      "parents": [
        "c0ac7eba934fb88f321c75a71312ea482e9a85e9",
        "ba98d9237b0eabc1d8caf2600fd787b988645249"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 11:36:01 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 01 11:36:02 2012 -0700"
      },
      "message": "Merge \"Dynamically allocate soinfo-structs in linker\""
    },
    {
      "commit": "ba98d9237b0eabc1d8caf2600fd787b988645249",
      "tree": "f9072e739578645fc5ec927b6c7ed511b15ba144",
      "parents": [
        "c0ac7eba934fb88f321c75a71312ea482e9a85e9"
      ],
      "author": {
        "name": "Magnus Malmborn",
        "email": "magnus.malmborn@sonymobile.com",
        "time": "Wed Sep 12 13:00:55 2012 +0200"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 01 11:31:39 2012 -0700"
      },
      "message": "Dynamically allocate soinfo-structs in linker\n\nRequest memory from the system when needed instead of having a fixed\narray for soinfo structs. Note that malloc() et al can\u0027t be used in\nlinker, so use mmap() instead.\n\nChange-Id: I4b495995931d7752b0e8c944e64d1fe41b9f7144\n"
    },
    {
      "commit": "1de3af51d459c2ced602f10e4f7e7fe704400cdc",
      "tree": "bb3e1800b42fd5fb8999bcb675b708d473eb5971",
      "parents": [
        "f510fc789a67344080543b9ae06d0ff3322561d5",
        "c0ac7eba934fb88f321c75a71312ea482e9a85e9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 31 15:13:30 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 31 15:13:30 2012 -0700"
      },
      "message": "am c0ac7eba: Merge \"Reject .so files with no sysv hash table.\"\n\n* commit \u0027c0ac7eba934fb88f321c75a71312ea482e9a85e9\u0027:\n  Reject .so files with no sysv hash table.\n"
    },
    {
      "commit": "c0ac7eba934fb88f321c75a71312ea482e9a85e9",
      "tree": "4e7b568b09fef856dbc1a7f0cab9770c96a15d39",
      "parents": [
        "b46530bd3e5984047bd780f5d3a6a5ebabd9f02d",
        "124fae9eabd7a25d80dfa8c3b56bed0f0fba16f1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 31 15:09:45 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 31 15:09:46 2012 -0700"
      },
      "message": "Merge \"Reject .so files with no sysv hash table.\""
    },
    {
      "commit": "124fae9eabd7a25d80dfa8c3b56bed0f0fba16f1",
      "tree": "4e7b568b09fef856dbc1a7f0cab9770c96a15d39",
      "parents": [
        "b46530bd3e5984047bd780f5d3a6a5ebabd9f02d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 31 14:20:03 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 31 14:30:50 2012 -0700"
      },
      "message": "Reject .so files with no sysv hash table.\n\nAlso ensure that dlopen(3) errors always include the name of the library we\nfailed to open.\n\nAlso fix a bug where we\u0027d fall back to searching LD_LIBRARY_PATH and the\nbuilt-in paths for names that include slashes.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d38479\nChange-Id: Ib2c009ed083344a7a012749d58f8679db2f26c78\n"
    },
    {
      "commit": "f510fc789a67344080543b9ae06d0ff3322561d5",
      "tree": "7fa5a63098fbb6924e421de994b182d12d9248bd",
      "parents": [
        "089111a80a6a167de827bf32ae2d2a935ff5874f",
        "b46530bd3e5984047bd780f5d3a6a5ebabd9f02d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 31 13:51:50 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 31 13:51:50 2012 -0700"
      },
      "message": "am b46530bd: Merge \"Start cleaning up libm.\"\n\n* commit \u0027b46530bd3e5984047bd780f5d3a6a5ebabd9f02d\u0027:\n  Start cleaning up libm.\n"
    },
    {
      "commit": "b46530bd3e5984047bd780f5d3a6a5ebabd9f02d",
      "tree": "f06ea661913e4026a4836ad3d2cc2a58503b7cd4",
      "parents": [
        "084be591923d3d509cea0a0f4b11b073e362d730",
        "0f7809d5c364565e210554ca2b5d8eedf8a57ec7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 31 13:43:41 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 31 13:43:41 2012 -0700"
      },
      "message": "Merge \"Start cleaning up libm.\""
    },
    {
      "commit": "0f7809d5c364565e210554ca2b5d8eedf8a57ec7",
      "tree": "75e2745991b16f19275c5454c07d4765045f9177",
      "parents": [
        "155e8d1df5b8fdfeabda3e7b61d95beb5b8d1467"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 31 13:26:46 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 31 13:32:34 2012 -0700"
      },
      "message": "Start cleaning up libm.\n\nWe have two copies of fenv.h for every architecture, one of which\nisn\u0027t used. We also have unused makefiles and files for architectures\nwe don\u0027t support.\n\nThis patch removes all the obviously useless files.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d38196\nChange-Id: I1919b6621ba513aa24aa947a34815bc51191487c\n"
    },
    {
      "commit": "089111a80a6a167de827bf32ae2d2a935ff5874f",
      "tree": "cd989147d5b36fbda8ca413c698f1270eb429eb4",
      "parents": [
        "3cd7a1653aa579213cb68a666bd9949e2b8fff95",
        "f29c214d6ad97f9a5348407cc66a58aec2228ca9"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Oct 31 09:15:16 2012 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Oct 31 09:15:16 2012 -0700"
      },
      "message": "Reconcile with jb-mr1-release - do not merge\n\nChange-Id: Ice07f7813d823b0419153d5ac321ad784a690af4\n"
    },
    {
      "commit": "f29c214d6ad97f9a5348407cc66a58aec2228ca9",
      "tree": "34349145ea386f6b6b743c383d7aa9e7f68bd146",
      "parents": [
        "a811d7a8e638ca49aee704c613cb9f1e03c3698d",
        "5ba74660e3f0f9478dcb8ca6ee2ce53ceda6d926"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Oct 30 20:11:57 2012 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Oct 30 20:11:57 2012 -0700"
      },
      "message": "merge in jb-mr1-release history after reset to jb-mr1-dev\n"
    },
    {
      "commit": "3cd7a1653aa579213cb68a666bd9949e2b8fff95",
      "tree": "cd989147d5b36fbda8ca413c698f1270eb429eb4",
      "parents": [
        "914112ea21a62c7658dc4b094a369358009be6a9",
        "084be591923d3d509cea0a0f4b11b073e362d730"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 30 17:18:04 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 30 17:18:04 2012 -0700"
      },
      "message": "am 084be591: Merge \"linker: handle R_ARM_COPY relocations in a proper way\"\n\n* commit \u0027084be591923d3d509cea0a0f4b11b073e362d730\u0027:\n  linker: handle R_ARM_COPY relocations in a proper way\n"
    },
    {
      "commit": "084be591923d3d509cea0a0f4b11b073e362d730",
      "tree": "1dde02285286f2f48e4becd2c89d8b2ffc1085db",
      "parents": [
        "155e8d1df5b8fdfeabda3e7b61d95beb5b8d1467",
        "5ae44f302b7d1d19f25c4c6f125e32dc369961d9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 30 17:10:30 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 30 17:10:30 2012 -0700"
      },
      "message": "Merge \"linker: handle R_ARM_COPY relocations in a proper way\""
    },
    {
      "commit": "5ae44f302b7d1d19f25c4c6f125e32dc369961d9",
      "tree": "1dde02285286f2f48e4becd2c89d8b2ffc1085db",
      "parents": [
        "155e8d1df5b8fdfeabda3e7b61d95beb5b8d1467"
      ],
      "author": {
        "name": "Ard Biesheuvel",
        "email": "ard.biesheuvel@gmail.com",
        "time": "Thu Aug 30 12:48:32 2012 +0200"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 30 17:09:21 2012 -0700"
      },
      "message": "linker: handle R_ARM_COPY relocations in a proper way\n\nIf an executable contain copy relocations, other references\nto the symbol it points to should be preempted and made to\npoint to the copy instead.\n\nAlso, the linker should make sure the target area has\nsufficient space to contain the copy. It also checks\nwhether the library that supplies the symbol is built\nwith -Bsymbolic, and errors out if this is the case.\n\nChange-Id: If135c83590092741cfd8f82f54816f363a4a4a3b\nSigned-off-by: Ard Biesheuvel \u003card.biesheuvel@gmail.com\u003e\n"
    },
    {
      "commit": "914112ea21a62c7658dc4b094a369358009be6a9",
      "tree": "28e4c63b5744a9ffb308ee5f012de8262a5f0c6b",
      "parents": [
        "b0ac82e9baf969236be1174b49784500b33e6f48",
        "155e8d1df5b8fdfeabda3e7b61d95beb5b8d1467"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 30 16:56:29 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 30 16:56:29 2012 -0700"
      },
      "message": "am 155e8d1d: Merge \"More dynamic linker cleanup.\"\n\n* commit \u0027155e8d1df5b8fdfeabda3e7b61d95beb5b8d1467\u0027:\n  More dynamic linker cleanup.\n"
    },
    {
      "commit": "155e8d1df5b8fdfeabda3e7b61d95beb5b8d1467",
      "tree": "2f211404b359cb7278f6963bb82f507e6c9a2050",
      "parents": [
        "06b596104a9ed3ac089abd00186a5698d7e8544f",
        "18a206c81d9743481e364384affd43306911283d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 30 16:41:00 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 30 16:41:01 2012 -0700"
      },
      "message": "Merge \"More dynamic linker cleanup.\""
    },
    {
      "commit": "18a206c81d9743481e364384affd43306911283d",
      "tree": "2f211404b359cb7278f6963bb82f507e6c9a2050",
      "parents": [
        "06b596104a9ed3ac089abd00186a5698d7e8544f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 17:37:13 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 30 16:35:38 2012 -0700"
      },
      "message": "More dynamic linker cleanup.\n\nI still want to break linker_format out into its own library so we can reuse\nit for malloc debugging and so forth. (There are many similar pieces of code\nin bionic, but the linker\u0027s one seems to be the most complete/functional.)\n\nChange-Id: If3721853d28937c8e821ca1d23cf200e228a409a\n"
    },
    {
      "commit": "b0ac82e9baf969236be1174b49784500b33e6f48",
      "tree": "d1d3fe1697073e596c0cb56345f8e5106eb13c6e",
      "parents": [
        "4569ab9773efb1c984bde146002975e7a3753f11",
        "bd8ee3d35ee1560abeddf39bf13140791ce24c1f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 30 15:20:13 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 30 15:20:13 2012 -0700"
      },
      "message": "Merge commit \u0027bd8ee3d3\u0027 into mm\n"
    },
    {
      "commit": "bd8ee3d35ee1560abeddf39bf13140791ce24c1f",
      "tree": "ba8cdd203490d786638b846dc89f655dee50a4f7",
      "parents": [
        "bc77942a9a5b2a30eb04fab495cb30ac21bb150d",
        "a811d7a8e638ca49aee704c613cb9f1e03c3698d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 30 14:30:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 30 14:30:12 2012 -0700"
      },
      "message": "am a811d7a8: Upgrade to tzdata2012h.\n\n* commit \u0027a811d7a8e638ca49aee704c613cb9f1e03c3698d\u0027:\n  Upgrade to tzdata2012h.\n"
    },
    {
      "commit": "4569ab9773efb1c984bde146002975e7a3753f11",
      "tree": "d1d3fe1697073e596c0cb56345f8e5106eb13c6e",
      "parents": [
        "743a273e40e49c199d79462338fc606ae12c999f",
        "06b596104a9ed3ac089abd00186a5698d7e8544f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 30 13:04:23 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 30 13:04:23 2012 -0700"
      },
      "message": "am 06b59610: Merge \"Fix bug in pthread_join, pthread_exit, pthread_detach\"\n\n* commit \u002706b596104a9ed3ac089abd00186a5698d7e8544f\u0027:\n  Fix bug in pthread_join, pthread_exit, pthread_detach\n"
    },
    {
      "commit": "06b596104a9ed3ac089abd00186a5698d7e8544f",
      "tree": "fee68e3aaa870bc72c2e7f6fee3de18bac42bcc4",
      "parents": [
        "1f21ece48a87abbbdd9fb939b79a1dd81fb867eb",
        "10ce96944eaea4c459392952652fdb24742c9c29"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 30 12:57:57 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 30 12:57:58 2012 -0700"
      },
      "message": "Merge \"Fix bug in pthread_join, pthread_exit, pthread_detach\""
    },
    {
      "commit": "743a273e40e49c199d79462338fc606ae12c999f",
      "tree": "7369fd69dd15050476f80ae1e10411c55707c7f2",
      "parents": [
        "5f787190a9e7a749d95f566f920b78eafcd05050",
        "1f21ece48a87abbbdd9fb939b79a1dd81fb867eb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 17:15:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 29 17:15:12 2012 -0700"
      },
      "message": "am 1f21ece4: Merge \"Clean up the \u003clibgen.h\u003e implementation a little, bring in tests.\"\n\n* commit \u00271f21ece48a87abbbdd9fb939b79a1dd81fb867eb\u0027:\n  Clean up the \u003clibgen.h\u003e implementation a little, bring in tests.\n"
    },
    {
      "commit": "5f787190a9e7a749d95f566f920b78eafcd05050",
      "tree": "a8578dea7e3cc4eba15aad4ef872d2b072e7fb6a",
      "parents": [
        "0b8fa1d456f6cf831be41a6dc6b0a67e89f01bd5",
        "4d36b0bd38559ae0376b61a0ac2f5fa8329ec56d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 17:15:09 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 29 17:15:09 2012 -0700"
      },
      "message": "am 4d36b0bd: Merge \"Fix the pthread_join on self error case.\"\n\n* commit \u00274d36b0bd38559ae0376b61a0ac2f5fa8329ec56d\u0027:\n  Fix the pthread_join on self error case.\n"
    },
    {
      "commit": "0b8fa1d456f6cf831be41a6dc6b0a67e89f01bd5",
      "tree": "42033f4d663248b41952d721541670da32cc82d1",
      "parents": [
        "40e467ec668b59be25491bd44bf348a884d6a68d",
        "9297af943887d9d6974aaec8c45a4e7d93422965"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 17:15:03 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 29 17:15:03 2012 -0700"
      },
      "message": "am 9297af94: Merge \"Fix a potential NULL pointer dereference in _init_thread().\"\n\n* commit \u00279297af943887d9d6974aaec8c45a4e7d93422965\u0027:\n  Fix a potential NULL pointer dereference in _init_thread().\n"
    },
    {
      "commit": "40e467ec668b59be25491bd44bf348a884d6a68d",
      "tree": "58e79114d12109c5feaa8c33c0081e8db70a62fa",
      "parents": [
        "8576560979e3d126ef8204959b87336d980b390b",
        "33c4a3adde3cf1753af0661f48ce86358e105277"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 17:15:02 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 29 17:15:02 2012 -0700"
      },
      "message": "am 33c4a3ad: Merge \"libc: Fix alphasort() signature (and implementation).\"\n\n* commit \u002733c4a3adde3cf1753af0661f48ce86358e105277\u0027:\n  libc: Fix alphasort() signature (and implementation).\n"
    },
    {
      "commit": "8576560979e3d126ef8204959b87336d980b390b",
      "tree": "3bf400e3b8adace3a0d75dccf5bf393f5204af1b",
      "parents": [
        "a67cedb52cb57f116a545482bddb979d995fd634",
        "8f9a1eb108f22fc2ce7283ef184d909ec0ca1152"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 17:15:01 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 29 17:15:01 2012 -0700"
      },
      "message": "am 8f9a1eb1: Merge \"Upgrade to tzdata2012h.\"\n\n* commit \u00278f9a1eb108f22fc2ce7283ef184d909ec0ca1152\u0027:\n  Upgrade to tzdata2012h.\n"
    },
    {
      "commit": "a67cedb52cb57f116a545482bddb979d995fd634",
      "tree": "d2bd01f61c6e55c5a00a8a40a22d921fc58492ca",
      "parents": [
        "8cacc639b6ae660c494aca07c537cb443c6c6cd9",
        "9e783963d58acf48e06902236ea64c7f5b337a0f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 17:14:59 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 29 17:14:59 2012 -0700"
      },
      "message": "am 9e783963: Merge \"Clean up the implementation of the \u003cdirent.h\u003e functions.\"\n\n* commit \u00279e783963d58acf48e06902236ea64c7f5b337a0f\u0027:\n  Clean up the implementation of the \u003cdirent.h\u003e functions.\n"
    },
    {
      "commit": "1f21ece48a87abbbdd9fb939b79a1dd81fb867eb",
      "tree": "1129d62c5b93cf1195be6270b1904d8885264d33",
      "parents": [
        "4d36b0bd38559ae0376b61a0ac2f5fa8329ec56d",
        "58b575485c446f9d76ee00f67516ed42cf017769"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 15:03:21 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 29 15:03:36 2012 -0700"
      },
      "message": "Merge \"Clean up the \u003clibgen.h\u003e implementation a little, bring in tests.\""
    },
    {
      "commit": "58b575485c446f9d76ee00f67516ed42cf017769",
      "tree": "1129d62c5b93cf1195be6270b1904d8885264d33",
      "parents": [
        "4d36b0bd38559ae0376b61a0ac2f5fa8329ec56d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 14:27:10 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 14:27:10 2012 -0700"
      },
      "message": "Clean up the \u003clibgen.h\u003e implementation a little, bring in tests.\n\nMost of these tests were in system/extras, but I\u0027ve added more to cover other\ncases explicitly mentioned by POSIX.\n\nChange-Id: I5e8d77e4179028d77306935cceadbb505515dcde\n"
    },
    {
      "commit": "10ce96944eaea4c459392952652fdb24742c9c29",
      "tree": "2691b3629da1399e527f9719bdebea6d14837cbb",
      "parents": [
        "4d36b0bd38559ae0376b61a0ac2f5fa8329ec56d"
      ],
      "author": {
        "name": "Sergey Melnikov",
        "email": "sergey.melnikov@intel.com",
        "time": "Fri Oct 26 14:06:43 2012 +0400"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 11:31:26 2012 -0700"
      },
      "message": "Fix bug in pthread_join, pthread_exit, pthread_detach\n\npthread_no_op_detach_after_join test from bionic-unit-tests hangs\non x86 emulator. There is a race in the pthread_join, pthread_exit,\npthread_detach functions:\n- pthread_join waits for the non-detached thread\n- pthread_detach sets the detached flag on that thread\n- the thread executes pthread_exit which just kills the now-detached\nthread, without sending the join notification.\n\nThis patch improves the test so it fails on ARM too, and modifies\npthread_detach to behave more like glibc, not setting the detach state if\ncalled on a thread that\u0027s already being joined (but not returning an error).\n\nChange-Id: I87dc688221ce979ef5178753dd63d01ac0b108e6\nSigned-off-by: Sergey Melnikov \u003csergey.melnikov@intel.com\u003e\n"
    },
    {
      "commit": "4d36b0bd38559ae0376b61a0ac2f5fa8329ec56d",
      "tree": "db8ec2a48bc49fb499ce7ecbdac495f14cc0e1ab",
      "parents": [
        "9297af943887d9d6974aaec8c45a4e7d93422965",
        "14f19592ae7c819855052bcebc79de87069c2954"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 10:30:15 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 29 10:30:16 2012 -0700"
      },
      "message": "Merge \"Fix the pthread_join on self error case.\""
    },
    {
      "commit": "14f19592ae7c819855052bcebc79de87069c2954",
      "tree": "db8ec2a48bc49fb499ce7ecbdac495f14cc0e1ab",
      "parents": [
        "9297af943887d9d6974aaec8c45a4e7d93422965"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 10:19:44 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 10:19:44 2012 -0700"
      },
      "message": "Fix the pthread_join on self error case.\n\nWe should return EDEADLK, not deadlock the calling thread.\n\nChange-Id: I1243483f709c11b2a60e41142725c54c7dbfcbc9\n"
    },
    {
      "commit": "9297af943887d9d6974aaec8c45a4e7d93422965",
      "tree": "7a5b7bf7eed38b5a7a5129cd1f261e66277381b0",
      "parents": [
        "33c4a3adde3cf1753af0661f48ce86358e105277",
        "ae8eb74675722b57ab66a51f1d6f4f250137bb23"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 08:26:01 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 29 08:26:01 2012 -0700"
      },
      "message": "Merge \"Fix a potential NULL pointer dereference in _init_thread().\""
    },
    {
      "commit": "ae8eb74675722b57ab66a51f1d6f4f250137bb23",
      "tree": "7a5b7bf7eed38b5a7a5129cd1f261e66277381b0",
      "parents": [
        "33c4a3adde3cf1753af0661f48ce86358e105277"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Sat Oct 27 02:02:01 2012 -0400"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 08:22:13 2012 -0700"
      },
      "message": "Fix a potential NULL pointer dereference in _init_thread().\n\nThe first NULL pointer check against `attr\u0027 suggests that `attr\u0027 can\nbe NULL.  Then later `attr\u0027 is directly dereferenced, suggesting the\nopposite.\n\n    if (attr \u003d\u003d NULL) {\n        ...\n    } else {\n        ...\n    }\n    ...\n    if (attr-\u003estack_base \u003d\u003d ...) { ... }\n\nThe public API pthread_create(3) allows NULL, and interprets it as \"default\".\nOur implementation actually swaps in a pointer to the global default\npthread_attr_t, so we don\u0027t need any NULL checks in _init_thread. (The other\ninternal caller passes its own pthread_attr_t.)\n\nChange-Id: I0a4e79b83f5989249556a07eed1f2887e96c915e\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\n"
    },
    {
      "commit": "33c4a3adde3cf1753af0661f48ce86358e105277",
      "tree": "84df04116350a6895e76c26490bbcf499a3e3099",
      "parents": [
        "8f9a1eb108f22fc2ce7283ef184d909ec0ca1152",
        "c30396f5f225e0b5a83a35432e2d82a7063cfdb9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 07:45:12 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 29 07:45:13 2012 -0700"
      },
      "message": "Merge \"libc: Fix alphasort() signature (and implementation).\""
    },
    {
      "commit": "c30396f5f225e0b5a83a35432e2d82a7063cfdb9",
      "tree": "84df04116350a6895e76c26490bbcf499a3e3099",
      "parents": [
        "8f9a1eb108f22fc2ce7283ef184d909ec0ca1152"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Mon Oct 29 15:32:54 2012 +0100"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 07:44:27 2012 -0700"
      },
      "message": "libc: Fix alphasort() signature (and implementation).\n\nThe declaration for alphasort() in \u003cdirent.h\u003e used the deprecated:\n\n  int alphasort(const void*, const void*);\n\nwhile both Posix and GLibc use instead:\n\n  int alphasort(const struct dirent** a, const struct dirent** b);\n\nSee: http://pubs.opengroup.org/onlinepubs/9699919799/functions/alphasort.html\n\nThis patch does the following:\n\n- Update the declaration to match Posix/GLibc\n- Get rid of the upstream BSD code which isn\u0027t compatible with the new\n  signature.\n- Implement a new trivial alphasort() with the right signature, and\n  ensure that it uses strcoll() instead of strcmp().\n- Remove Bionic-specific #ifdef .. #else .. #endif block in\n  dirent_test.cpp which uses alphasort().\n\nEven through strcoll() currently uses strcmp(), this does the right\nthing in the case where we decide to update strcoll() to properly\nimplement locale-specific ordered comparison.\n\nChange-Id: I4fd45604d8a940aaf2eb0ecd7d73e2f11c9bca96\n"
    },
    {
      "commit": "8f9a1eb108f22fc2ce7283ef184d909ec0ca1152",
      "tree": "4d08d8a22b4f6d16b4e3853cfff8fcde46d059b6",
      "parents": [
        "9e783963d58acf48e06902236ea64c7f5b337a0f",
        "f93fc10fc4d5825ed097a93f0ed65a272735d13a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 07:29:13 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 29 07:29:13 2012 -0700"
      },
      "message": "Merge \"Upgrade to tzdata2012h.\""
    },
    {
      "commit": "f93fc10fc4d5825ed097a93f0ed65a272735d13a",
      "tree": "4d08d8a22b4f6d16b4e3853cfff8fcde46d059b6",
      "parents": [
        "9e783963d58acf48e06902236ea64c7f5b337a0f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Oct 27 14:32:44 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 28 11:34:35 2012 -0700"
      },
      "message": "Upgrade to tzdata2012h.\n\nThe 2012h release reflects the following changes recently circulated\non the tz mailing list:\n\n[Brazil]  Bahia no longer has DST.  (Thanks to Kelley Cook.)\n\n[Brazil]  Tocantins has DST.  (Thanks to Rodrigo Severo.)\n\n[Israel]  Israel has new DST rules next year.  (Thanks to Ephraim Silverberg.)\n\n[Jordan]  Jordan stays on DST this winter.  (Thanks to Steffen Thorsen.)\n\nBug: 7429010\nChange-Id: I0ec5fb72343e42f3f79490dfdea5f7f1946ae76f\n"
    },
    {
      "commit": "a811d7a8e638ca49aee704c613cb9f1e03c3698d",
      "tree": "34349145ea386f6b6b743c383d7aa9e7f68bd146",
      "parents": [
        "f0e402dbd257ab495eab514b347db4b3d6844826"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Oct 27 14:29:14 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 28 11:33:56 2012 -0700"
      },
      "message": "Upgrade to tzdata2012h.\n\nThe 2012h release reflects the following changes recently circulated\non the tz mailing list:\n\n[Brazil]  Bahia no longer has DST.  (Thanks to Kelley Cook.)\n\n[Brazil]  Tocantins has DST.  (Thanks to Rodrigo Severo.)\n\n[Israel]  Israel has new DST rules next year.  (Thanks to Ephraim Silverberg.)\n\n[Jordan]  Jordan stays on DST this winter.  (Thanks to Steffen Thorsen.)\n\nBug: 7429010\nChange-Id: I82f19ce49f944f928b6dd8dc5a893786266e5cb9\n"
    },
    {
      "commit": "9e783963d58acf48e06902236ea64c7f5b337a0f",
      "tree": "ec94389e76f6fd79d573c4a689b7c83c4711edd0",
      "parents": [
        "7193731ae6b8083bc7a5e5e468fb98b1dbcf3f3d",
        "063cfb2084ea4b12d3c85b2d2c44e888f0857eb4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 26 16:42:47 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 26 16:42:48 2012 -0700"
      },
      "message": "Merge \"Clean up the implementation of the \u003cdirent.h\u003e functions.\""
    },
    {
      "commit": "063cfb2084ea4b12d3c85b2d2c44e888f0857eb4",
      "tree": "ec94389e76f6fd79d573c4a689b7c83c4711edd0",
      "parents": [
        "7193731ae6b8083bc7a5e5e468fb98b1dbcf3f3d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 20:55:23 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 26 16:42:06 2012 -0700"
      },
      "message": "Clean up the implementation of the \u003cdirent.h\u003e functions.\n\nChange-Id: I3c647cc9588525afc41fee90ee468d58cd13503a\n"
    },
    {
      "commit": "8cacc639b6ae660c494aca07c537cb443c6c6cd9",
      "tree": "db341c32fc8d0af2434cbae47de7924b40d58804",
      "parents": [
        "85819efe8f771759d12ab86f0bd47ede621dbb7d",
        "7193731ae6b8083bc7a5e5e468fb98b1dbcf3f3d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 15:20:29 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 25 15:20:29 2012 -0700"
      },
      "message": "am 7193731a: Merge \"Workaround g++ 4.7 compfail\"\n\n* commit \u00277193731ae6b8083bc7a5e5e468fb98b1dbcf3f3d\u0027:\n  Workaround g++ 4.7 compfail\n"
    },
    {
      "commit": "85819efe8f771759d12ab86f0bd47ede621dbb7d",
      "tree": "b2f39bf6014bbe47db864114cc670981f0dfca98",
      "parents": [
        "df7f24f310ee3ceb1dc9413d59d5a8816eb584ef",
        "f2b3ac9502e08ef53d4eedd7e93ea9a00d185055"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 15:09:29 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 25 15:09:29 2012 -0700"
      },
      "message": "am f2b3ac95: Merge \"Fix recovery: don\\\u0027t assert if there\\\u0027s no tzdata.\"\n\n* commit \u0027f2b3ac9502e08ef53d4eedd7e93ea9a00d185055\u0027:\n  Fix recovery: don\u0027t assert if there\u0027s no tzdata.\n"
    },
    {
      "commit": "7193731ae6b8083bc7a5e5e468fb98b1dbcf3f3d",
      "tree": "65e17329a378f259b6eddf9048bb7066ec53be3a",
      "parents": [
        "f2b3ac9502e08ef53d4eedd7e93ea9a00d185055",
        "20aa6c0f4cbe6fdaba8938536a7b80270cfe7203"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 15:00:45 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 25 15:00:45 2012 -0700"
      },
      "message": "Merge \"Workaround g++ 4.7 compfail\""
    },
    {
      "commit": "f2b3ac9502e08ef53d4eedd7e93ea9a00d185055",
      "tree": "47a1bb592168d9015caaec999d625196727ceca9",
      "parents": [
        "7b68e3f799d87e84c56687033326924fd8fec84c",
        "49271d89dabae182f5614c0d5fb232dac3c16067"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 14:56:53 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 25 14:56:53 2012 -0700"
      },
      "message": "Merge \"Fix recovery: don\u0027t assert if there\u0027s no tzdata.\""
    },
    {
      "commit": "49271d89dabae182f5614c0d5fb232dac3c16067",
      "tree": "47a1bb592168d9015caaec999d625196727ceca9",
      "parents": [
        "7b68e3f799d87e84c56687033326924fd8fec84c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 14:38:51 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 14:56:08 2012 -0700"
      },
      "message": "Fix recovery: don\u0027t assert if there\u0027s no tzdata.\n\nChange-Id: I4d808b57c63ec1ccc024da7fd6a65691e0d455c5\n"
    },
    {
      "commit": "df7f24f310ee3ceb1dc9413d59d5a8816eb584ef",
      "tree": "3ea53e1b84167d1479e4688be60fa036c8be7ce4",
      "parents": [
        "60c7ac262241588f7942ca068f33d706c8fe5cc4",
        "7b68e3f799d87e84c56687033326924fd8fec84c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 12:22:34 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 25 12:22:34 2012 -0700"
      },
      "message": "am 7b68e3f7: Merge \"Per-thread -fstack-protector guards for x86.\"\n\n* commit \u00277b68e3f799d87e84c56687033326924fd8fec84c\u0027:\n  Per-thread -fstack-protector guards for x86.\n"
    },
    {
      "commit": "7b68e3f799d87e84c56687033326924fd8fec84c",
      "tree": "9b5fcbe6ebc81b4fb781dd788b8795a334def653",
      "parents": [
        "d0f2b7e7e65f19f978c59abcbb522c08e76b1508",
        "ad88a0863110798cef5169dcf917e18b967a7cf6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 12:08:50 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 25 12:08:50 2012 -0700"
      },
      "message": "Merge \"Per-thread -fstack-protector guards for x86.\""
    },
    {
      "commit": "ad88a0863110798cef5169dcf917e18b967a7cf6",
      "tree": "9b5fcbe6ebc81b4fb781dd788b8795a334def653",
      "parents": [
        "d0f2b7e7e65f19f978c59abcbb522c08e76b1508"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 24 18:37:21 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 12:04:03 2012 -0700"
      },
      "message": "Per-thread -fstack-protector guards for x86.\n\nBased on a pair of patches from Intel:\n\n  https://android-review.googlesource.com/#/c/43909/\n  https://android-review.googlesource.com/#/c/44903/\n\nFor x86, this patch supports _both_ the global that ARM/MIPS use\nand the per-thread TLS entry (%gs:20) that GCC uses by default. This\nlets us support binaries built with any x86 toolchain (right now,\nthe NDK is emitting x86 code that uses the global).\n\nI\u0027ve also extended the original tests to cover ARM/MIPS too, and\nbe a little more thorough for x86.\n\nChange-Id: I02f279a80c6b626aecad449771dec91df235ad01\n"
    },
    {
      "commit": "20aa6c0f4cbe6fdaba8938536a7b80270cfe7203",
      "tree": "0212cfae4f91012942afd11e742969bd891b80be",
      "parents": [
        "d0f2b7e7e65f19f978c59abcbb522c08e76b1508"
      ],
      "author": {
        "name": "Pavel Chupin",
        "email": "pavel.v.chupin@intel.com",
        "time": "Thu Oct 25 12:17:05 2012 +0400"
      },
      "committer": {
        "name": "Pavel Chupin",
        "email": "pavel.v.chupin@intel.com",
        "time": "Thu Oct 25 17:58:45 2012 +0400"
      },
      "message": "Workaround g++ 4.7 compfail\n\nerror: C99 designator \u0027name\u0027 outside aggregate initializer\n\nG++ 4.7+ can\u0027t handle some of C99 designated initializers.\nMost likely it\u0027s just not implemented yet. Other possible workarounds is\nto compile this as C not C++ or define name as char* instead of char[SIZE].\n\nAppeared after this change https://android-review.googlesource.com/#/c/44470\n\nChange-Id: Ib28157848ce759b8bb5dbb2ac0d9a768fa4e5107\nSigned-off-by: Pavel Chupin \u003cpavel.v.chupin@intel.com\u003e\n"
    },
    {
      "commit": "60c7ac262241588f7942ca068f33d706c8fe5cc4",
      "tree": "9c4c4c47e1dbdce34db704f17c40f74b33577f93",
      "parents": [
        "45f075556b26cfe91b1b7e1299b54f0328a06acb",
        "d0f2b7e7e65f19f978c59abcbb522c08e76b1508"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 17:15:07 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 23 17:15:07 2012 -0700"
      },
      "message": "am d0f2b7e7: Merge \"More upstream NetBSD upgrades.\"\n\n* commit \u0027d0f2b7e7e65f19f978c59abcbb522c08e76b1508\u0027:\n  More upstream NetBSD upgrades.\n"
    },
    {
      "commit": "d0f2b7e7e65f19f978c59abcbb522c08e76b1508",
      "tree": "2ae72963003e3ada4cbb19acd73475b4164f515a",
      "parents": [
        "e3dbe1e3820d6ab0370566055e9cdc593c5cce48",
        "ab44f52202878cdf2bf22457aeae33ec24089556"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 16:55:19 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 23 16:55:19 2012 -0700"
      },
      "message": "Merge \"More upstream NetBSD upgrades.\""
    },
    {
      "commit": "ab44f52202878cdf2bf22457aeae33ec24089556",
      "tree": "2ae72963003e3ada4cbb19acd73475b4164f515a",
      "parents": [
        "e3dbe1e3820d6ab0370566055e9cdc593c5cce48"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 16:05:09 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 16:05:09 2012 -0700"
      },
      "message": "More upstream NetBSD upgrades.\n\nChange-Id: Idb781d37de3b05585271d7d258ecffd5ba87d0b8\n"
    },
    {
      "commit": "45f075556b26cfe91b1b7e1299b54f0328a06acb",
      "tree": "ae2d1fbd6718d1980f9ab86ca99747868937b697",
      "parents": [
        "4280143d371eae2123a5d8c4d8779db159ecd1e2",
        "e3dbe1e3820d6ab0370566055e9cdc593c5cce48"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 13:55:59 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 23 13:55:59 2012 -0700"
      },
      "message": "am e3dbe1e3: Merge \"Upgrade more functions to the current upstream NetBSD copy.\"\n\n* commit \u0027e3dbe1e3820d6ab0370566055e9cdc593c5cce48\u0027:\n  Upgrade more functions to the current upstream NetBSD copy.\n"
    },
    {
      "commit": "e3dbe1e3820d6ab0370566055e9cdc593c5cce48",
      "tree": "810eacbe3195f2064483973cc55b67384a7c4c32",
      "parents": [
        "fb93e6a5b322a87e61de19421a72d6dfcc82b614",
        "e8bcca3a2ca4a70156c72239d62bb68eeb2929fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 13:45:36 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 23 13:45:37 2012 -0700"
      },
      "message": "Merge \"Upgrade more functions to the current upstream NetBSD copy.\""
    },
    {
      "commit": "e8bcca3a2ca4a70156c72239d62bb68eeb2929fd",
      "tree": "810eacbe3195f2064483973cc55b67384a7c4c32",
      "parents": [
        "fb93e6a5b322a87e61de19421a72d6dfcc82b614"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 12:26:26 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 23 12:29:53 2012 -0700"
      },
      "message": "Upgrade more functions to the current upstream NetBSD copy.\n\nChange-Id: Ie0b3f8b3fccef28609eb210434413ebd51d6ef45\n"
    },
    {
      "commit": "4280143d371eae2123a5d8c4d8779db159ecd1e2",
      "tree": "33d6d959131f36db53341cf001a301e8b99def4d",
      "parents": [
        "69ec117b22e3e842bff15f54f3e777cdf3206d21",
        "fb93e6a5b322a87e61de19421a72d6dfcc82b614"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 18:06:55 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 22 18:06:55 2012 -0700"
      },
      "message": "am fb93e6a5: Merge \"Move setlocale(3) and the wchar stubs over to .cpp.\"\n\n* commit \u0027fb93e6a5b322a87e61de19421a72d6dfcc82b614\u0027:\n  Move setlocale(3) and the wchar stubs over to .cpp.\n"
    },
    {
      "commit": "fb93e6a5b322a87e61de19421a72d6dfcc82b614",
      "tree": "e915e00f3bd7c3e0a05fe3e0109b412dfc501d5d",
      "parents": [
        "5a9911e94086a15a7f2d5a7c9173847f123a46ea",
        "29c7f0b4d18f812267c2194b85204e19e41d0387"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 17:50:26 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 22 17:50:27 2012 -0700"
      },
      "message": "Merge \"Move setlocale(3) and the wchar stubs over to .cpp.\""
    },
    {
      "commit": "29c7f0b4d18f812267c2194b85204e19e41d0387",
      "tree": "e915e00f3bd7c3e0a05fe3e0109b412dfc501d5d",
      "parents": [
        "5a9911e94086a15a7f2d5a7c9173847f123a46ea"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 17:05:27 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 17:05:27 2012 -0700"
      },
      "message": "Move setlocale(3) and the wchar stubs over to .cpp.\n\nAlso separate out the C++ files so we can use -Werror on them. I\u0027d\nrather wait for LOCAL_CPPFLAGS to be in AOSP, but this also lets us\nsee which files still need to be sorted into one bucket or the other.\n\nChange-Id: I6acc1f7c043935c70a3b089f705d218b9aaaba0a\n"
    },
    {
      "commit": "69ec117b22e3e842bff15f54f3e777cdf3206d21",
      "tree": "7e52d1bf8bb588da105daa63cf510041fda0a64d",
      "parents": [
        "9d5a96c0d9583fe9a02190ba54a855a2dcc87eb9",
        "5a9911e94086a15a7f2d5a7c9173847f123a46ea"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 16:29:13 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 22 16:29:13 2012 -0700"
      },
      "message": "am 5a9911e9: Merge \"Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes.\"\n\n* commit \u00275a9911e94086a15a7f2d5a7c9173847f123a46ea\u0027:\n  Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes.\n"
    },
    {
      "commit": "9d5a96c0d9583fe9a02190ba54a855a2dcc87eb9",
      "tree": "c4a76bed077ea4b06bc51e26c580d009c860a963",
      "parents": [
        "75f33adcb1f845ae121eb5508b120aaaa9f7a217",
        "574773b1eae797e2f7a1d11d0176755d2e74eb41"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 16:29:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 22 16:29:12 2012 -0700"
      },
      "message": "am 574773b1: Merge \"Clean up warnings in stubs.cpp.\"\n\n* commit \u0027574773b1eae797e2f7a1d11d0176755d2e74eb41\u0027:\n  Clean up warnings in stubs.cpp.\n"
    },
    {
      "commit": "5a9911e94086a15a7f2d5a7c9173847f123a46ea",
      "tree": "a03ea3f20f47121ee5028f5589c1b3a240d1c79c",
      "parents": [
        "574773b1eae797e2f7a1d11d0176755d2e74eb41",
        "ce45fea03ddfd8d6d1900d6777a002dec98ea1e1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 16:13:03 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 22 16:13:04 2012 -0700"
      },
      "message": "Merge \"Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes.\""
    },
    {
      "commit": "574773b1eae797e2f7a1d11d0176755d2e74eb41",
      "tree": "1f0dead904c49cb71318baf9ef031701cd802e73",
      "parents": [
        "4e457759893a6a6ab4f84a5aea231d0a11c7bb13",
        "6fa26e21bc69e777222148fc0441fb461ba95c6a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 16:12:46 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 22 16:12:47 2012 -0700"
      },
      "message": "Merge \"Clean up warnings in stubs.cpp.\""
    },
    {
      "commit": "ce45fea03ddfd8d6d1900d6777a002dec98ea1e1",
      "tree": "faa21f4c8abfa6500b431ec98e56da7320ffa923",
      "parents": [
        "4e457759893a6a6ab4f84a5aea231d0a11c7bb13"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 16:10:27 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 16:10:27 2012 -0700"
      },
      "message": "Add missing BEGIN_DECLS/END_DECLS for FORTIFY_SOURCE stdio prototypes.\n\nChange-Id: I35ceb09fedf873c5e98e1e26efce5e4f00a17e74\n"
    },
    {
      "commit": "6fa26e21bc69e777222148fc0441fb461ba95c6a",
      "tree": "1f0dead904c49cb71318baf9ef031701cd802e73",
      "parents": [
        "4e457759893a6a6ab4f84a5aea231d0a11c7bb13"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 16:04:56 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 16:04:56 2012 -0700"
      },
      "message": "Clean up warnings in stubs.cpp.\n\nChange-Id: Ie0792846de7cf5f5c72737494bf78ab8dcb8cc3e\n"
    },
    {
      "commit": "75f33adcb1f845ae121eb5508b120aaaa9f7a217",
      "tree": "dea6c25a22bff68f2981a25182189c89050310a1",
      "parents": [
        "008744cedaa7e3be533bbedb51dd986c6dfea987",
        "4e457759893a6a6ab4f84a5aea231d0a11c7bb13"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 15:57:42 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 22 15:57:42 2012 -0700"
      },
      "message": "am 4e457759: Merge \"Move the FORTIFY_SOURCE helpers over to .cpp.\"\n\n* commit \u00274e457759893a6a6ab4f84a5aea231d0a11c7bb13\u0027:\n  Move the FORTIFY_SOURCE helpers over to .cpp.\n"
    },
    {
      "commit": "4e457759893a6a6ab4f84a5aea231d0a11c7bb13",
      "tree": "34a510f809226aeec79ddd766ed77ef89ce67127",
      "parents": [
        "df92635a57e8093d9cbffc38bbf513f3361ee91e",
        "4035b7a32155eac46f3f3782774deb5967ea2b54"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 15:51:11 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 22 15:51:12 2012 -0700"
      },
      "message": "Merge \"Move the FORTIFY_SOURCE helpers over to .cpp.\""
    },
    {
      "commit": "4035b7a32155eac46f3f3782774deb5967ea2b54",
      "tree": "34a510f809226aeec79ddd766ed77ef89ce67127",
      "parents": [
        "df92635a57e8093d9cbffc38bbf513f3361ee91e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 15:32:01 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 15:32:01 2012 -0700"
      },
      "message": "Move the FORTIFY_SOURCE helpers over to .cpp.\n\nChange-Id: Ib5067d51b983cac7760c975becce7fe2408ead04\n"
    },
    {
      "commit": "008744cedaa7e3be533bbedb51dd986c6dfea987",
      "tree": "ed3f372cfb1e3af8765d607123aee098bddda64d",
      "parents": [
        "417834b17ee00a6b1cd4e816f632c3596f3f51c3",
        "df92635a57e8093d9cbffc38bbf513f3361ee91e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 15:08:38 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 22 15:08:38 2012 -0700"
      },
      "message": "am df92635a: Merge \"Support zone.tab in bionic, and remove the file format version.\"\n\n* commit \u0027df92635a57e8093d9cbffc38bbf513f3361ee91e\u0027:\n  Support zone.tab in bionic, and remove the file format version.\n"
    },
    {
      "commit": "df92635a57e8093d9cbffc38bbf513f3361ee91e",
      "tree": "2785a19d597c8c24449de0b225aae3737982bc03",
      "parents": [
        "eb370aa31dd549ad7a7a2044dedab1140a7aeda9",
        "2393535f0d7df55dae3b4fbf5dbcfa7f87192762"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 14:56:31 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 22 14:56:32 2012 -0700"
      },
      "message": "Merge \"Support zone.tab in bionic, and remove the file format version.\""
    },
    {
      "commit": "2393535f0d7df55dae3b4fbf5dbcfa7f87192762",
      "tree": "2785a19d597c8c24449de0b225aae3737982bc03",
      "parents": [
        "eb370aa31dd549ad7a7a2044dedab1140a7aeda9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 14:47:58 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 14:47:58 2012 -0700"
      },
      "message": "Support zone.tab in bionic, and remove the file format version.\n\nBug: 7012465\nChange-Id: I6335c91ebadc609fae85bad94db972be7574b6e4\n"
    },
    {
      "commit": "417834b17ee00a6b1cd4e816f632c3596f3f51c3",
      "tree": "44703f1a50b6d38bcb0ca53d422fe81387b849ec",
      "parents": [
        "629a28cdf384d83a4d433de8e1299b01e42cc75e",
        "eb370aa31dd549ad7a7a2044dedab1140a7aeda9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 11:53:22 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 22 11:53:22 2012 -0700"
      },
      "message": "am eb370aa3: Merge \"Make bionic look in /data/misc for tzdata updates.\"\n\n* commit \u0027eb370aa31dd549ad7a7a2044dedab1140a7aeda9\u0027:\n  Make bionic look in /data/misc for tzdata updates.\n"
    },
    {
      "commit": "eb370aa31dd549ad7a7a2044dedab1140a7aeda9",
      "tree": "c8684a0ea3bb68ea0f76c57537e97429987888f3",
      "parents": [
        "dc595d830898e5859bf98d7436af2a777a11f810",
        "1c295720343009a7393706f2285a4d026e97eebf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 11:37:26 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 22 11:37:26 2012 -0700"
      },
      "message": "Merge \"Make bionic look in /data/misc for tzdata updates.\""
    },
    {
      "commit": "1c295720343009a7393706f2285a4d026e97eebf",
      "tree": "c8684a0ea3bb68ea0f76c57537e97429987888f3",
      "parents": [
        "dc595d830898e5859bf98d7436af2a777a11f810"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 18:13:15 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 22 11:34:05 2012 -0700"
      },
      "message": "Make bionic look in /data/misc for tzdata updates.\n\nBug: 7012465\nChange-Id: I4d1018f686f2409600fdb6630732cae33efe8f02\n"
    },
    {
      "commit": "629a28cdf384d83a4d433de8e1299b01e42cc75e",
      "tree": "ac2f6d3f6e54a1a778bbf95d0fed867389aa9656",
      "parents": [
        "58d08711af5e8237d6196652d59cc4e8b8caafcf",
        "dc595d830898e5859bf98d7436af2a777a11f810"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 17:21:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 19 17:21:41 2012 -0700"
      },
      "message": "am dc595d83: Merge \"Change ZoneCompator to generate the single \"tzdata\" file.\"\n\n* commit \u0027dc595d830898e5859bf98d7436af2a777a11f810\u0027:\n  Change ZoneCompator to generate the single \"tzdata\" file.\n"
    },
    {
      "commit": "58d08711af5e8237d6196652d59cc4e8b8caafcf",
      "tree": "00ad90f5be4cf9cdbd8a182b640ce0af0d3d0238",
      "parents": [
        "af72df5b98944cfb89cecb7abc05bceec0612981",
        "7a85c42b8f7af801a31208ed83589b5397baee73"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 17:21:40 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 19 17:21:40 2012 -0700"
      },
      "message": "am 7a85c42b: Merge \"Update generate-NOTICE.py to know about tzdata.\"\n\n* commit \u00277a85c42b8f7af801a31208ed83589b5397baee73\u0027:\n  Update generate-NOTICE.py to know about tzdata.\n"
    },
    {
      "commit": "dc595d830898e5859bf98d7436af2a777a11f810",
      "tree": "d8933adbb91476301ead644156ff1a356d251810",
      "parents": [
        "7a85c42b8f7af801a31208ed83589b5397baee73",
        "5b1497acdbcbfd21f57d11511294b541b6fb1130"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 17:12:37 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 19 17:12:37 2012 -0700"
      },
      "message": "Merge \"Change ZoneCompator to generate the single \"tzdata\" file.\""
    },
    {
      "commit": "7a85c42b8f7af801a31208ed83589b5397baee73",
      "tree": "2e903911bf4ea391333e4b08a100ee292ee41718",
      "parents": [
        "e75c273ac434043153f22b1c2f89c042928407bc",
        "4612763b441fc71dea1771b4821ec7b9500bdf43"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 17:07:45 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 19 17:07:46 2012 -0700"
      },
      "message": "Merge \"Update generate-NOTICE.py to know about tzdata.\""
    },
    {
      "commit": "5ba74660e3f0f9478dcb8ca6ee2ce53ceda6d926",
      "tree": "531992a2ffbd7483d994cf8831fb789979f97323",
      "parents": [
        "f0e402dbd257ab495eab514b347db4b3d6844826",
        "7cc2dec82e6b85c4a81cffab236f984dd26d35e2"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Fri Oct 19 15:45:58 2012 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Fri Oct 19 15:45:58 2012 -0700"
      },
      "message": "merge in jb-mr1-release history after reset to jb-mr1-dev\n"
    },
    {
      "commit": "5b1497acdbcbfd21f57d11511294b541b6fb1130",
      "tree": "d477c96038336896e0e17a3ae171f5d1b7fa6cdb",
      "parents": [
        "e75c273ac434043153f22b1c2f89c042928407bc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 14:47:37 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 15:45:46 2012 -0700"
      },
      "message": "Change ZoneCompator to generate the single \"tzdata\" file.\n\nAlso remove the obsolete individual files, and the temporary script\nthat converted between the formats.\n\nBug: 7012465\nChange-Id: I5a4030098e4d53e747fd6d395df2679d1567ee1f\n"
    },
    {
      "commit": "4612763b441fc71dea1771b4821ec7b9500bdf43",
      "tree": "2e903911bf4ea391333e4b08a100ee292ee41718",
      "parents": [
        "e75c273ac434043153f22b1c2f89c042928407bc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 14:55:19 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 14:55:19 2012 -0700"
      },
      "message": "Update generate-NOTICE.py to know about tzdata.\n\nAlso regenerate the NOTICE files. One had slipped behind.\n\nBug: 7012465\nChange-Id: Ice2e909b521472eb1acd53d8151038bebe19984a\n"
    },
    {
      "commit": "af72df5b98944cfb89cecb7abc05bceec0612981",
      "tree": "f2472be05d8ea5bd624b0b8d61bc5ff48ec7bc45",
      "parents": [
        "98533cfa4b69d053e111e46bc74d8e9b2035a96e",
        "e75c273ac434043153f22b1c2f89c042928407bc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 14:40:25 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 19 14:40:25 2012 -0700"
      },
      "message": "am e75c273a: Merge \"Track the tzdata2012g update in the new file format.\"\n\n* commit \u0027e75c273ac434043153f22b1c2f89c042928407bc\u0027:\n  Track the tzdata2012g update in the new file format.\n"
    },
    {
      "commit": "e75c273ac434043153f22b1c2f89c042928407bc",
      "tree": "4dc4f6fb4c8bb1f5a3e825395dd9f055f289a317",
      "parents": [
        "88cd1a2188cde62d9f94881549791b7c197b2116",
        "8af5412efc8144cb5752afe2015221355b80ff5f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 14:30:04 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 19 14:30:05 2012 -0700"
      },
      "message": "Merge \"Track the tzdata2012g update in the new file format.\""
    },
    {
      "commit": "8af5412efc8144cb5752afe2015221355b80ff5f",
      "tree": "4dc4f6fb4c8bb1f5a3e825395dd9f055f289a317",
      "parents": [
        "88cd1a2188cde62d9f94881549791b7c197b2116"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 14:28:56 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 14:28:56 2012 -0700"
      },
      "message": "Track the tzdata2012g update in the new file format.\n\nChange-Id: Id18aeb1122df769d83c4be06fbf37681231e79f0\n"
    },
    {
      "commit": "98533cfa4b69d053e111e46bc74d8e9b2035a96e",
      "tree": "6f37d0c75571001cef473ca38a7864d3bc86673b",
      "parents": [
        "f0af78c27bede71304a894c23fb3100d027fc74b",
        "88cd1a2188cde62d9f94881549791b7c197b2116"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 13:51:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 19 13:51:19 2012 -0700"
      },
      "message": "am 88cd1a21: Merge \"Upgrade to tzdata2012g.\"\n\n* commit \u002788cd1a2188cde62d9f94881549791b7c197b2116\u0027:\n  Upgrade to tzdata2012g.\n"
    },
    {
      "commit": "f0af78c27bede71304a894c23fb3100d027fc74b",
      "tree": "6f37d0c75571001cef473ca38a7864d3bc86673b",
      "parents": [
        "356c0af60b83988bdb55970c8f29886a2fa5a672",
        "551ca77e35098272abfe9484457827c661d23ef0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 13:51:18 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 19 13:51:18 2012 -0700"
      },
      "message": "am 551ca77e: Merge \"Do all the zoneinfo.* file generation in Java.\"\n\n* commit \u0027551ca77e35098272abfe9484457827c661d23ef0\u0027:\n  Do all the zoneinfo.* file generation in Java.\n"
    },
    {
      "commit": "88cd1a2188cde62d9f94881549791b7c197b2116",
      "tree": "7b24bafa04204a09d25cd768dc70cb1d864c9057",
      "parents": [
        "551ca77e35098272abfe9484457827c661d23ef0",
        "c2c2a488453b52c24b612cbff70d4a3eaeffb8a6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 13:45:50 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 19 13:45:55 2012 -0700"
      },
      "message": "Merge \"Upgrade to tzdata2012g.\""
    },
    {
      "commit": "c2c2a488453b52c24b612cbff70d4a3eaeffb8a6",
      "tree": "7b24bafa04204a09d25cd768dc70cb1d864c9057",
      "parents": [
        "551ca77e35098272abfe9484457827c661d23ef0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 18 16:34:48 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 13:43:10 2012 -0700"
      },
      "message": "Upgrade to tzdata2012g.\n\nThis release reflects the following changes recently circulated on the tz\nmailing list:\n\n        Samoa fall 2012 and later.  (Thanks to Nicholas Pereira\n        and Robert Elz.)\n\n        Palestine fall 2012.  (Thanks to Steffen Thorsen.)\n\nThis release does not reflect the possible changes discussed yesterday\nfor Tocantins and Bahia.\n\n(cherry-pick of f0e402dbd257ab495eab514b347db4b3d6844826.)\n\nChange-Id: I8202292b11accedb811194a821dacf837a1bbd6e\n"
    },
    {
      "commit": "551ca77e35098272abfe9484457827c661d23ef0",
      "tree": "451df8d58c5483e88621469f659501aa68e33857",
      "parents": [
        "2266e4956f4b245903acd66f0cc32ec5caf5abae",
        "328a48458880ed12f2e7d1632b98c5df8d211be7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 13:37:24 2012 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 19 13:37:25 2012 -0700"
      },
      "message": "Merge \"Do all the zoneinfo.* file generation in Java.\""
    },
    {
      "commit": "356c0af60b83988bdb55970c8f29886a2fa5a672",
      "tree": "7a4a8b5bcb6566d91e0db9cc37f6d7b38777891c",
      "parents": [
        "fb8ecd6e2f20dba3b6eaf0bd6b834c2c072322c5",
        "2266e4956f4b245903acd66f0cc32ec5caf5abae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 13:18:07 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 19 13:18:07 2012 -0700"
      },
      "message": "am 2266e495: Merge \"Switch bionic over to using libcore\\\u0027s copy of libcore.util.ZoneInfo.\"\n\n* commit \u00272266e4956f4b245903acd66f0cc32ec5caf5abae\u0027:\n  Switch bionic over to using libcore\u0027s copy of libcore.util.ZoneInfo.\n"
    },
    {
      "commit": "328a48458880ed12f2e7d1632b98c5df8d211be7",
      "tree": "451df8d58c5483e88621469f659501aa68e33857",
      "parents": [
        "2266e4956f4b245903acd66f0cc32ec5caf5abae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 13:03:52 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 19 13:03:52 2012 -0700"
      },
      "message": "Do all the zoneinfo.* file generation in Java.\n\nBug: 7012465\nChange-Id: Ia5d5ad75db94d680a6b34ccc26eb68d5bd2bfc29\n"
    }
  ],
  "next": "2266e4956f4b245903acd66f0cc32ec5caf5abae"
}
