)]}'
{
  "log": [
    {
      "commit": "8c4f3ce8d084e3949d77ad8743593b5c83c3d41c",
      "tree": "4061fa7982521c070a1a9bc688ddfc279e722c08",
      "parents": [
        "3a7ea52f17b68f62fa088d57f96ff24a76f50ea2"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Apr 04 12:43:32 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Apr 04 12:43:32 2012 -0700"
      },
      "message": "linker: surround \"debug_verbosity\" by \"#if LINKER_DEBUG\"\n\nAvoid executing useless code when we\u0027re not compiled\nwith debugging support.\n\nChange-Id: Iea1821b241acacdf65d1a91d743356058dfef273\n"
    },
    {
      "commit": "3a7ea52f17b68f62fa088d57f96ff24a76f50ea2",
      "tree": "478757954be8e33d3bbb1f27f6ecf0decbf88aaf",
      "parents": [
        "8aeaa478df4e3a649c3b8560c23bc8d70483f4b1"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Apr 04 10:18:27 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Apr 04 11:13:51 2012 -0700"
      },
      "message": "linker: enable -fvisibility\u003dhidden\n\nCompile the linker with -fvisibility\u003dhidden. This reduces the number\nof symbols that show up in the .dynsym section of the linker.\nThese symbols are never exported to other applications.\n\nIn particular, this fixes a problem with setting -DLINKER_DEBUG\u003d1\nintroduced in 468319ce4f3f7383d788b76c09cda2a405311f36.\nBecause the symbols \"debug_verbosity\" and \"format_log\" have not been\nresolved before the linker links itself, any attempt to call\nPRINT / INFO / TRACE / WARN / ERROR will result in a segfault.\nThis change allows the static linker to produce a relative reference\nto these symbols rather than relying on relocation.\n\nThis also has a nice side effect of making the linker slightly smaller\nand slightly more optimized.\n\nThe following symbols no longer in the .dynsym section of the linker\nafter this change:\n\n-addr_to_name\n-call_constructors_recursi\n-calloc\n-debugger_init\n-debugger_signal_handler\n-debug_verbosity\n-dladdr\n-dlclose\n-dlerror\n-dl_lock\n-dlopen\n-dlsym\n-dl_unwind_find_exidx\n-find_containing_library\n-find_containing_symbol\n-find_library\n-format_buffer\n-free\n-libdl_info\n-linker_env_get\n-linker_env_init\n-linker_env_secure\n-linker_env_unset\n-linker_get_error\n-__linker_init\n-lookup\n-lookup_in_library\n-malloc\n-notify_gdb_of_libraries\n-notify_gdb_of_load\n-notify_gdb_of_unload\n-realloc\n-rtld_db_dlactivity\n-unload_library\n-vsnprintf\n\nBug: 5827809\nChange-Id: I5e8cd7dcf48c1d6831a970a67f63f24916c5e437\n"
    },
    {
      "commit": "8aeaa478df4e3a649c3b8560c23bc8d70483f4b1",
      "tree": "bef9bbcc8c412927e30b4dd55323362ce886e939",
      "parents": [
        "1302f6936bf85199318bee9846d4e2be83c2489a",
        "de3c594723b6b3704a3d8fd735ff30d93662a35d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Apr 03 11:35:33 2012 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Apr 03 11:35:33 2012 -0700"
      },
      "message": "Merge remote-tracking branch \u0027goog/ics-aah\u0027\n"
    },
    {
      "commit": "1302f6936bf85199318bee9846d4e2be83c2489a",
      "tree": "bef9bbcc8c412927e30b4dd55323362ce886e939",
      "parents": [
        "4e362f230b36596650feaa305bdf5f6af7b634f8",
        "fdb119297ac421e2fc2ec096a6d5370b81938de8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 16:09:36 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 02 16:09:36 2012 -0700"
      },
      "message": "am fdb11929: am b88f810d: Merge \"Update to tzdata2012c.\"\n\n* commit \u0027fdb119297ac421e2fc2ec096a6d5370b81938de8\u0027:\n  Update to tzdata2012c.\n"
    },
    {
      "commit": "fdb119297ac421e2fc2ec096a6d5370b81938de8",
      "tree": "2b16427b930059f91b71f33b50b4a9b46d7ebca4",
      "parents": [
        "cd834618c4752b61d54ff4005a8baa8219b822e4",
        "b88f810d585a1736a1759c2c22e9f4999441ae00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 16:07:46 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 02 16:07:46 2012 -0700"
      },
      "message": "am b88f810d: Merge \"Update to tzdata2012c.\"\n\n* commit \u0027b88f810d585a1736a1759c2c22e9f4999441ae00\u0027:\n  Update to tzdata2012c.\n"
    },
    {
      "commit": "b88f810d585a1736a1759c2c22e9f4999441ae00",
      "tree": "2b16427b930059f91b71f33b50b4a9b46d7ebca4",
      "parents": [
        "63b14755512d515762cbe3ad8544c561a576f32e",
        "8f78ddb422173de7ce0bc5b8080db6f486bd66c9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 10:25:43 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 02 10:25:43 2012 -0700"
      },
      "message": "Merge \"Update to tzdata2012c.\""
    },
    {
      "commit": "8f78ddb422173de7ce0bc5b8080db6f486bd66c9",
      "tree": "2b16427b930059f91b71f33b50b4a9b46d7ebca4",
      "parents": [
        "63b14755512d515762cbe3ad8544c561a576f32e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 07:35:13 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 07:43:15 2012 -0700"
      },
      "message": "Update to tzdata2012c.\n\nFrom the release notes:\n\n       africa\n               Summer time changes for Morocco (to start late April 2012)\n\n       asia\n               Changes for 2012 for Gaza \u0026 the West Bank (Hebron) and Syria\n\n       northamerica\n               Haiti following US/Canada rules for 2012 (and we\u0027re assuming,\n               for now anyway, for the future).\n\nAlso include a change made internally to the \u0027generate\u0027 script as part of\nthe tzdata2011m update that apparently never made it to AOSP; the original\ncheckin comment for which was:\n\n    Update to tzdata2011m.\n\n    Fixes for Europe/Tiraspol (Moldova) and all four Ukrainian zones.\n\n    Also show the MD5 of the downloaded data, for comparison against the MD5\n    given in the announcement mails. (There\u0027s a plan to move to proper signing,\n    but that\u0027s not implemented on their end yet.)\n\n(I\u0027m repeating the tzdata change for the convenience of anyone grepping the\nlog, since the 2012 tzdata releases also contain the 2011m changes; 2011m\nis the only missing release I noticed.)\n\nChange-Id: I9a2e530b3a8ea88e3375334a12376e3d8526f267\n"
    },
    {
      "commit": "4e362f230b36596650feaa305bdf5f6af7b634f8",
      "tree": "587dd8a5da3eb158e498b970d22e13118f004e33",
      "parents": [
        "ddb2f135490e4b500e5f06d58997a1102fd6f0b1",
        "cd834618c4752b61d54ff4005a8baa8219b822e4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 22:16:02 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 30 22:16:02 2012 -0700"
      },
      "message": "am cd834618: am 63b14755: Merge \"libc/x86: ensure the stack 16-byte aligned when tasks created\"\n\n* commit \u0027cd834618c4752b61d54ff4005a8baa8219b822e4\u0027:\n  libc/x86: ensure the stack 16-byte aligned when tasks created\n"
    },
    {
      "commit": "cd834618c4752b61d54ff4005a8baa8219b822e4",
      "tree": "ac52ac3af7e5771a325599be8bf4f0ac3f1bf86a",
      "parents": [
        "ea76f4147825cc39d9aa91230cd863ed29f28e27",
        "63b14755512d515762cbe3ad8544c561a576f32e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 15:53:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 30 15:53:19 2012 -0700"
      },
      "message": "am 63b14755: Merge \"libc/x86: ensure the stack 16-byte aligned when tasks created\"\n\n* commit \u002763b14755512d515762cbe3ad8544c561a576f32e\u0027:\n  libc/x86: ensure the stack 16-byte aligned when tasks created\n"
    },
    {
      "commit": "63b14755512d515762cbe3ad8544c561a576f32e",
      "tree": "ac52ac3af7e5771a325599be8bf4f0ac3f1bf86a",
      "parents": [
        "d509f9ccbba6e1dd53acfd7425bfc06d6b3f8693",
        "cb08204053a285951b1907ef14a832f16a1a4679"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 13:42:42 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 30 13:42:42 2012 -0700"
      },
      "message": "Merge \"libc/x86: ensure the stack 16-byte aligned when tasks created\""
    },
    {
      "commit": "ddb2f135490e4b500e5f06d58997a1102fd6f0b1",
      "tree": "0084f8565d8bb6b0111279f6119f0c12e7fd9f3f",
      "parents": [
        "8fd682f7f28bcd3da365f8a4cd9615fd6e386d05"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Fri Mar 30 10:21:16 2012 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Fri Mar 30 10:21:25 2012 -0700"
      },
      "message": "Revert \"libc/kernel: Add rules to autogenerate device specific kernel headers\"\n\nThis reverts commit 884147c7d0b1b6571256feb11e12d893432625b2.\n\nChange-Id: I09723858ac961f3e1155791aa5c54d5d3abfbd36\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "8fd682f7f28bcd3da365f8a4cd9615fd6e386d05",
      "tree": "aa468a2ee3e7548847c54f987b987fd4c4fe9232",
      "parents": [
        "32913bf7d923ead76a3feebf6ccaa8bfa4e51d7f",
        "ea76f4147825cc39d9aa91230cd863ed29f28e27"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 17:58:57 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 27 17:58:57 2012 -0700"
      },
      "message": "am ea76f414: am d509f9cc: am 09ce7749: Merge \"[MIPS] Clean Kernel headers are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture.\"\n\n* commit \u0027ea76f4147825cc39d9aa91230cd863ed29f28e27\u0027:\n  [MIPS] Clean Kernel headers are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture.\n"
    },
    {
      "commit": "ea76f4147825cc39d9aa91230cd863ed29f28e27",
      "tree": "0e99e6a10dd0687e3792146dfdc22981b801cb73",
      "parents": [
        "b52c941ed4f24134b78a73daee84bdc328f969da",
        "d509f9ccbba6e1dd53acfd7425bfc06d6b3f8693"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 17:57:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 27 17:57:41 2012 -0700"
      },
      "message": "am d509f9cc: am 09ce7749: Merge \"[MIPS] Clean Kernel headers are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture.\"\n\n* commit \u0027d509f9ccbba6e1dd53acfd7425bfc06d6b3f8693\u0027:\n  [MIPS] Clean Kernel headers are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture.\n"
    },
    {
      "commit": "d509f9ccbba6e1dd53acfd7425bfc06d6b3f8693",
      "tree": "0e99e6a10dd0687e3792146dfdc22981b801cb73",
      "parents": [
        "d7c6147eff65572762d55950b965db949ccd0281",
        "09ce7749d74733b28d4fa7a1d36457cb366cc5da"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 17:53:35 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 27 17:53:35 2012 -0700"
      },
      "message": "am 09ce7749: Merge \"[MIPS] Clean Kernel headers are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture.\"\n\n* commit \u002709ce7749d74733b28d4fa7a1d36457cb366cc5da\u0027:\n  [MIPS] Clean Kernel headers are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture.\n"
    },
    {
      "commit": "09ce7749d74733b28d4fa7a1d36457cb366cc5da",
      "tree": "80d5c3b101c2b6347d6de2528db1917fcc5c69f9",
      "parents": [
        "56731351de7230180fc99a1a4b0afd12f881b0f7",
        "82fa43febc9d679ae6276f6bf992b9b345bb5815"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 16:49:28 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 27 16:49:29 2012 -0700"
      },
      "message": "Merge \"[MIPS] Clean Kernel headers are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture.\""
    },
    {
      "commit": "82fa43febc9d679ae6276f6bf992b9b345bb5815",
      "tree": "80d5c3b101c2b6347d6de2528db1917fcc5c69f9",
      "parents": [
        "56731351de7230180fc99a1a4b0afd12f881b0f7"
      ],
      "author": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Tue Mar 27 11:37:17 2012 -0700"
      },
      "committer": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Tue Mar 27 11:38:00 2012 -0700"
      },
      "message": "[MIPS] Clean Kernel headers are generated by running\nlibc/kernel/tools/update_all.py script. This patch ignores\nany changes to libc/kernel directory not related to MIPS\narchitecture.\n\nChange-Id: I2c9e461dccb7c33eb4420be2db1a562f45137c8d\nSigned-off-by: Raghu Gandham \u003craghu@mips.com\u003e\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\n"
    },
    {
      "commit": "32913bf7d923ead76a3feebf6ccaa8bfa4e51d7f",
      "tree": "3deb27b9b8a03c5971bea7a37aa407310b273013",
      "parents": [
        "8491327448327dbdc7701b3d88f28c986565fcb6",
        "b52c941ed4f24134b78a73daee84bdc328f969da"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Mar 27 10:10:50 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 27 10:10:50 2012 -0700"
      },
      "message": "am b52c941e: am d7c6147e: am 56731351: Merge \"bionic: fix atfork hanlder_mutex deadlock\"\n\n* commit \u0027b52c941ed4f24134b78a73daee84bdc328f969da\u0027:\n  bionic: fix atfork hanlder_mutex deadlock\n"
    },
    {
      "commit": "b52c941ed4f24134b78a73daee84bdc328f969da",
      "tree": "db5f9975d6e92f137b9d4e72238f2705a01a7556",
      "parents": [
        "be741d472868a8ffcb455588f18cda889b0f465c",
        "d7c6147eff65572762d55950b965db949ccd0281"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 26 18:29:23 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 26 18:29:23 2012 -0700"
      },
      "message": "am d7c6147e: am 56731351: Merge \"bionic: fix atfork hanlder_mutex deadlock\"\n\n* commit \u0027d7c6147eff65572762d55950b965db949ccd0281\u0027:\n  bionic: fix atfork hanlder_mutex deadlock\n"
    },
    {
      "commit": "d7c6147eff65572762d55950b965db949ccd0281",
      "tree": "db5f9975d6e92f137b9d4e72238f2705a01a7556",
      "parents": [
        "2f460fbee9abe2936175379c49c6618de7421233",
        "56731351de7230180fc99a1a4b0afd12f881b0f7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 26 18:25:43 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 26 18:25:43 2012 -0700"
      },
      "message": "am 56731351: Merge \"bionic: fix atfork hanlder_mutex deadlock\"\n\n* commit \u002756731351de7230180fc99a1a4b0afd12f881b0f7\u0027:\n  bionic: fix atfork hanlder_mutex deadlock\n"
    },
    {
      "commit": "8491327448327dbdc7701b3d88f28c986565fcb6",
      "tree": "3deb27b9b8a03c5971bea7a37aa407310b273013",
      "parents": [
        "faca92f2f17cea192c5fbde4d869aa7620315196",
        "2ab5bfd43fc3d814cbb823ade5f2c983472f0f84"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon Mar 26 17:14:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 26 17:14:24 2012 -0700"
      },
      "message": "Merge \"Add auto-generated headers for USB FunctionFS\""
    },
    {
      "commit": "56731351de7230180fc99a1a4b0afd12f881b0f7",
      "tree": "22b5dd0a852417d06cfda795ef04a65d0f5e859d",
      "parents": [
        "73b5cad989da317cc8089b57ee25f502b1cac71f",
        "34e89c232dd5645fe3b5f9b40856d8e3e4cae57a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 26 16:19:35 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 26 16:19:36 2012 -0700"
      },
      "message": "Merge \"bionic: fix atfork hanlder_mutex deadlock\""
    },
    {
      "commit": "faca92f2f17cea192c5fbde4d869aa7620315196",
      "tree": "e8cbfe294c0b00a9de2c928d4cbe9ac915fd0ca7",
      "parents": [
        "126601dd3f5303b50033dcb88945d928aa764aa4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 26 15:25:19 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 26 15:38:59 2012 -0700"
      },
      "message": "Handle pthread-related changes (mutex/atfork)\n\nFirst commit:\n\nRevert \"Revert \"am be741d47: am 2f460fbe: am 73b5cad9: Merge \"bionic: Fix wrong kernel_id in pthread descriptor after fork()\"\"\"\n\nThis reverts commit 06823da2f0c8b4a4ce4c45113032f03df85c94b8.\n\nSecond commit:\n\nbionic: fix atfork hanlder_mutex deadlock\n\nThis cherry-picks commit 34e89c232dd5645fe3b5f9b40856d8e3e4cae57a\n\nAfter applying the kernel_id fix, the system refused to boot up and we\ngot following crash log:\nI/DEBUG   (  113): pid: 618, tid: 618  \u003e\u003e\u003e org.simalliance.openmobileapi.service:remote \u003c\u003c\u003c\nI/DEBUG   (  113): signal 16 (SIGSTKFLT), code -6 (?), fault addr --------\nI/DEBUG   (  113):  eax fffffe00  ebx b77de994  ecx 00000080  edx 00724002\nI/DEBUG   (  113):  esi 00000000  edi 00004000\nI/DEBUG   (  113):  xcs 00000073  xds 0000007b  xes 0000007b  xfs 00000000 xss 0000007b\nI/DEBUG   (  113):  eip b7761351  ebp bfdf3de8  esp bfdf3dc4  flags 00000202\nI/DEBUG   (  113):     #00  eip: 00015351  /system/lib/libc.so\nI/DEBUG   (  113):     #01  eip: 0000d13c  /system/lib/libc.so (pthread_mutex_lock)\nI/DEBUG   (  113):     #02  eip: 00077b48  /system/lib/libc.so (__bionic_atfork_run_prepare)\nI/DEBUG   (  113):     #03  eip: 00052cdb  /system/lib/libc.so (fork)\nI/DEBUG   (  113):     #04  eip: 0009ae91  /system/lib/libdvm.so (_Z18dvmOptimizeDexFileillPKcjjb)\nI/DEBUG   (  113):     #05  eip: 000819d6  /system/lib/libdvm.so (_Z14dvmJarFileOpenPKcS0_PP7JarFileb)\nI/DEBUG   (  113):     #06  eip: 000b175e  /system/lib/libdvm.so (_ZL40Dalvik_dalvik_system_DexFile_openDexFilePKjP6JValue)\nI/DEBUG   (  113):     #07  eip: 0011fb94  /system/lib/libdvm.so\n\nRoot cause:\nThe atfork uses the mutex handler_mutex to protect the atfork_head. The\nparent will call __bionic_atfork_run_prepare() to lock the handler_mutex,\nand need both the parent and child to unlock their own copy of handler_mutex\nafter fork. At that time, the owner of hanlder_mutex is set as the parent.\nIf we apply the kernel_id fix, then the child\u0027s kernel_id will be set as\nchild\u0027s tid.\nThe handler_mutex is a recursive lock, and pthread_mutex_unlock(\u0026hander_mutex)\nwill fail because the mutex owner is the parent, while the current tid\n(__get_thread()-\u003ekernel_id) is child, not matched with the mutex owner.\nAt that time, the handler_mutex is left in lock state.If the child wants to\nfork other process after than, then it will try to lock handler_mutex, and\nthen be deadlocked.\n\nFix:\nSince the child has its own copy of vm space from the the parent, the\nchild space\u0027s handler_mutex should be reset to the initialized state.\n\nChange-Id: I3907dd9a153418fb78862f2aa6d0302c375d9e27\nSigned-off-by: Jack Ren \u003cjack.ren@intel.com\u003e\nSigned-off-by: Chenyang Du \u003cchenyang.du@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n\nChange-Id: Ic8072f366a877443a60fe215f3c00b3df5a259c8\n"
    },
    {
      "commit": "2ab5bfd43fc3d814cbb823ade5f2c983472f0f84",
      "tree": "4bae7f74234c55bd2d84af46c75cdddd2fa12617",
      "parents": [
        "126601dd3f5303b50033dcb88945d928aa764aa4"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon Mar 05 16:10:41 2012 -0800"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon Mar 26 15:10:29 2012 -0700"
      },
      "message": "Add auto-generated headers for USB FunctionFS\n\nlinux/usb/ch9.h and linux/usb/functionfs.h\n\nChange-Id: I2907081aba63b32740eb9916315759692a96ab42\n"
    },
    {
      "commit": "126601dd3f5303b50033dcb88945d928aa764aa4",
      "tree": "36f80c2aaa18e794fc65cd4a756a28146bd50b5e",
      "parents": [
        "eaae81082cb76efa43a2c3fb57997b28ca270634"
      ],
      "author": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Fri Mar 23 23:07:36 2012 +0800"
      },
      "committer": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Fri Mar 23 23:07:36 2012 +0800"
      },
      "message": "Fixed to #include correct 32-bit headers; Refreshed libc/kernel headers\n\nThis patch fixes an issue where 64-bit hreaders are incorrectly included\nin kernel headers.  For example, file \"libc/kernel/arch-x86/asm/io.h\"\nincorreclty includes \"io_64.h\" (missing, BTW) instead of \"io_32.h\".\n\nThe reason is because CONFIG_X86_32 isn\u0027t considered pre-defined in\n\"kernel_default_arch_macros\" for x86, and clean_header.py doesn\u0027t\nlook at it at all anyway (ie. __i386__ is also ignored, but it\u0027s\nokay since x86 cross compiler defines it back)\n\nFixed 2 tools/*py, README.TXT, and refreshed libc/kernel headers\n\nChange-Id: Iac834cc8b3548f055d3f2a214af36072dd679fe8\n"
    },
    {
      "commit": "cb08204053a285951b1907ef14a832f16a1a4679",
      "tree": "772348f2f3c36865486c8c8a6f380db21c7b647e",
      "parents": [
        "73b5cad989da317cc8089b57ee25f502b1cac71f"
      ],
      "author": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Wed Mar 21 17:48:13 2012 +0800"
      },
      "committer": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Fri Mar 23 20:04:04 2012 +0800"
      },
      "message": "libc/x86: ensure the stack 16-byte aligned when tasks created\n\nCurrently Renderscript sample code RsBalls crashed on x86 when SSE2\nenabled. The root cause is that the stack was not 16-byte aligned\nfrom the beginning when the processes/threads were created, so the\nRsBalls crashed when SSE2 instructions tried to access the variables\non the stack.\n\n- For the thread created by fork():\nIts stack alignment is determined by crtbegin_{dynamic, static}.S\n\n- For the thread created by pthread_create():\nIts stack alignment is determined by clone.S. __thread_entry( ) is\na standard C function. In order to have its stack be aligned with\n16 byte properly, __thread_entry() needs the stack with following\nlayout when it is called:\nlayout #1 (correct)\n--------------\n|            |\n-------------- \u003c--ESP (ECX - 20)\n| ret EIP    |\n-------------- \u003c--ECX - 16\n| arg0       |\n-------------- \u003c--ECX - 12\n| arg1       |\n-------------- \u003c--ECX - 8\n| arg2       |\n-------------- \u003c--ECX - 4\n| unused     |\n-------------- \u003c--ECX (16-byte boundary)\n\nBut it has following layout for now:\nlayout #2: (incorrect)\n--------------\n|            |\n-------------- \u003c--ESP (ECX - 16)\n| unused     |\n-------------- \u003c--ECX - 12\n| arg0       |\n-------------- \u003c--ECX - 8\n| arg1       |\n-------------- \u003c--ECX - 4\n| arg2       |\n-------------- \u003c--ECX (16-byte boundary)\n\nFixed in this patch.\n\nChange-Id: Ibe01f64db14be14033c505d854c73033556ddaa8\nSigned-off-by: Michael Liao \u003cmichael.liao@intel.com\u003e\nSigned-off-by: H.J. Lu \u003chongjiu.lu@intel.com\u003e\nSigned-off-by: Jack Ren \u003cjack.ren@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "eaae81082cb76efa43a2c3fb57997b28ca270634",
      "tree": "9681625e91934782d14cc848ea9acb06995a3a67",
      "parents": [
        "891966d0209b17d27d8d1f7a94bc6404be93f7bf"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Mar 21 15:47:12 2012 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Mar 21 15:47:12 2012 -0700"
      },
      "message": "Initialize mspace-\u003eleast_addr properly in the mmap path.\n\nBUG: 6206963\nChange-Id: Id2ab580246de50a4511b56a734a7bece98fb945c\n"
    },
    {
      "commit": "891966d0209b17d27d8d1f7a94bc6404be93f7bf",
      "tree": "20719cfd7d01b542682746d730f78fb29fc715ca",
      "parents": [
        "1ca0b9d158f8d536a777fdb2cef6adadfea9c176",
        "a677907ee8ecca034318fdb97902fa73e7392c4f"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Mar 21 14:40:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 14:40:41 2012 -0700"
      },
      "message": "Merge \"string.h: add __attribute__ ((pure)) to string functions\""
    },
    {
      "commit": "1ca0b9d158f8d536a777fdb2cef6adadfea9c176",
      "tree": "6bc9967fb1891104da5dcb518bb0625d36e17b69",
      "parents": [
        "16a8fcce9f354b183e1465545baf255a0874ae9a",
        "b8e1e9685efc82d6ac112b9aa316e7f6bf5186ca"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Mar 21 13:51:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 13:51:42 2012 -0700"
      },
      "message": "Merge \"bionic: pass MADV_MERGEABLE on private \u0026 anonymous mmaps\""
    },
    {
      "commit": "16a8fcce9f354b183e1465545baf255a0874ae9a",
      "tree": "2553fd09d0eaa56098f6661dbc798b29bf0f396f",
      "parents": [
        "f082444291d23f0098757b7b55a22715ffed1118",
        "2f33c5a8e489fe9ea3fdcc6c8e54cfbb0b7e35fe"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed Mar 21 13:43:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 13:43:10 2012 -0700"
      },
      "message": "Merge \"Update the libc kernel includes to support the newer mman for KSM support\""
    },
    {
      "commit": "b8e1e9685efc82d6ac112b9aa316e7f6bf5186ca",
      "tree": "efcb0fbcfd1e3cb904b29d4fe438461c2de1bec8",
      "parents": [
        "2f33c5a8e489fe9ea3fdcc6c8e54cfbb0b7e35fe"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed Mar 21 13:19:51 2012 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed Mar 21 13:21:33 2012 -0700"
      },
      "message": "bionic: pass MADV_MERGEABLE on private \u0026 anonymous mmaps\n\nChange-Id: I8bc167bb33dec6417fe772172697ea6ff97da2f6\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "2f33c5a8e489fe9ea3fdcc6c8e54cfbb0b7e35fe",
      "tree": "d5e651b496363b347d3fabce27948ab926e60d3a",
      "parents": [
        "ad812ef2a4bc4339143bb1259620bcca443433d4"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed Mar 21 13:21:08 2012 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed Mar 21 13:21:33 2012 -0700"
      },
      "message": "Update the libc kernel includes to support the newer mman for KSM support\n\nThese are generated from the matching external/kernel-headers/original\nfiles (from kernel/samsung android-samsung-3.0-wip).\n\nChange-Id: I982ff6a0d522ea250c3a437f5756766fcc6c5c91\n"
    },
    {
      "commit": "f082444291d23f0098757b7b55a22715ffed1118",
      "tree": "78f868bacc1f30e3751be74306bcc85bb3221d22",
      "parents": [
        "e80f799d897d02c08c3420216b679163d092e09f",
        "d1860ad8ddccc17c31783d08a518380d0f205702"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Mar 21 10:07:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 10:07:55 2012 -0700"
      },
      "message": "Merge \"fnmatch.c: Update to version in OpenBSD HEAD\""
    },
    {
      "commit": "d1860ad8ddccc17c31783d08a518380d0f205702",
      "tree": "89425a30d3aa7ff8ad1e653a20c4414c040f2a56",
      "parents": [
        "aac0dc97a9ad91231fa89878e745548d693366c1"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Mar 21 09:46:46 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Mar 21 09:53:05 2012 -0700"
      },
      "message": "fnmatch.c: Update to version in OpenBSD HEAD\n\nUpgrade fnmatch.c from OpenBSD version 1.13 to 1.16.\nThis is needed primarily to address CVE-2011-0419.\n\nThis is a straight copy from upstream\u0027s version at\nhttp://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/gen/fnmatch.c and\nincorporates the following changes:\n\nRevision 1.16:\nNew fnmatch(3) implementation which is not recursive.\nWritten and provided under BSD licence by William A. Rowe Jr.\nOriginally released in Apache APR-1.4.5.\nMerged class matching code from r1.14 and PATH_MAX check from r1.15.\nok miod millert\n\nRevision 1.15:\nPut a limit on recursion during matching, and reject input of size greater\nor equal PATH_MAX. Based on similar fix made in NetBSD.\nok miod@ millert@\n\nRevision 1.14:\nPOSIX character class support for fnmatch(3) and glob(3).  OK deraadt@\n\nVersion 1.14 introduced charclasses.h, which we copy unmodified\nfrom upstream version 1.1.\nhttp://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/gen/charclass.h\n\nBug: 3435120\nChange-Id: I45133468f0c3d439fd10eb087a1c647799f9d25b\n"
    },
    {
      "commit": "e80f799d897d02c08c3420216b679163d092e09f",
      "tree": "d46082d5e7f6c6904658635b49971c4cf590a026",
      "parents": [
        "884147c7d0b1b6571256feb11e12d893432625b2",
        "21eab513e7eec280a7a8bcb9482a1a8b61e59442"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Mar 21 09:32:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 09:32:24 2012 -0700"
      },
      "message": "Merge \"New additions/bug fixes required/found when porting perf.\""
    },
    {
      "commit": "a677907ee8ecca034318fdb97902fa73e7392c4f",
      "tree": "e937fcefb5cc8719a7a388cfdb45c9425443ae20",
      "parents": [
        "aac0dc97a9ad91231fa89878e745548d693366c1"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Mar 21 08:48:18 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Mar 21 08:54:54 2012 -0700"
      },
      "message": "string.h: add __attribute__ ((pure)) to string functions\n\ncdefs.h: Introduce the __purefunc attribute, which allows us to mark\ncertain functions as being \"pure\".\n\nhttp://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html\n\n  Many functions have no effects except the return value and their\n  return value depends only on the parameters and/or global variables.\n  Such a function can be subject to common subexpression elimination\n  and loop optimization just as an arithmetic operator would be.\n\nstring.h: Mark many commently used string functions as \"pure\", to\nallow for additional compiler optimizations.\n\nChange-Id: I42961f90f822b6dbcbc3fd72cdbe774a7adc8785\n"
    },
    {
      "commit": "884147c7d0b1b6571256feb11e12d893432625b2",
      "tree": "b0043f5cd7470434597569451a055e154caa6773",
      "parents": [
        "aac0dc97a9ad91231fa89878e745548d693366c1"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Fri Mar 16 16:18:15 2012 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Mar 20 15:28:34 2012 -0700"
      },
      "message": "libc/kernel: Add rules to autogenerate device specific kernel headers\n\nThis change will automatically post-process kernel headers\nspecified by device, board, and product. This will allow us\nto not check in each kernel header twice, at least for the\ndevice specific headers for now.\n\nChange-Id: I3bb144b6535504b7c26b807daa75de495554356d\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "21eab513e7eec280a7a8bcb9482a1a8b61e59442",
      "tree": "28ba8f7977161897ebddf533fb8e09755a6f35d7",
      "parents": [
        "adb6989786dcc7248d51a3a5a76221b93951f84a"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Tue Mar 13 23:04:57 2012 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Tue Mar 20 12:54:55 2012 -0700"
      },
      "message": "New additions/bug fixes required/found when porting perf.\n\nNew functions:\n\ttfind\n\ttsearch\n\ttdelete\n\ttwalk\n\ttdestroy (GNU extension)\n\nBug fix: the current implementation for realpath would crash\n\tif the second argument (resolved_path) is NULL.\n\nNew headers:\n\tar.h\n\tsearch.h\n\nChange-Id: Ib6c1e42fc186a6d597a6e5a9692b16acaa155804\n"
    },
    {
      "commit": "aac0dc97a9ad91231fa89878e745548d693366c1",
      "tree": "f6e117bc03dc1662455d4cfc8c62245e697acbb8",
      "parents": [
        "0814eea3ec6767e2957da9b32261ef52ec881fee",
        "d73b5cafa0ef381f7c63a75e968fb7eec8e9f555"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Mar 20 10:52:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 10:52:42 2012 -0700"
      },
      "message": "Merge \"linker: fix off-by-one error in GNU_RELRO handling\""
    },
    {
      "commit": "0814eea3ec6767e2957da9b32261ef52ec881fee",
      "tree": "11802d0f3c2577822fec69db840726e08481cb6f",
      "parents": [
        "ad812ef2a4bc4339143bb1259620bcca443433d4",
        "6625986f3a5c7989b45022413c851f611783f361"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Mar 20 10:52:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 10:52:23 2012 -0700"
      },
      "message": "Merge \"linker: initially reserved memory as PROT_NONE\""
    },
    {
      "commit": "d73b5cafa0ef381f7c63a75e968fb7eec8e9f555",
      "tree": "d28334136a7a2580531c85ddc4ddaef7006675b3",
      "parents": [
        "adb6989786dcc7248d51a3a5a76221b93951f84a"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 16 11:38:58 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Mar 20 09:24:58 2012 -0700"
      },
      "message": "linker: fix off-by-one error in GNU_RELRO handling\n\nFix a bug where the GNU_RELRO end address could be exactly\nthe end of the loadable segment.\n\nChange-Id: If6c43acabc06e9aff9217c0f6016e158b28bb41f\n"
    },
    {
      "commit": "34e89c232dd5645fe3b5f9b40856d8e3e4cae57a",
      "tree": "22b5dd0a852417d06cfda795ef04a65d0f5e859d",
      "parents": [
        "73b5cad989da317cc8089b57ee25f502b1cac71f"
      ],
      "author": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Fri Mar 16 16:37:35 2012 +0800"
      },
      "committer": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Sat Mar 17 17:08:54 2012 +0800"
      },
      "message": "bionic: fix atfork hanlder_mutex deadlock\n\nAfter applying the kernel_id fix, the system refused to boot up and we\ngot following crash log:\nI/DEBUG   (  113): pid: 618, tid: 618  \u003e\u003e\u003e org.simalliance.openmobileapi.service:remote \u003c\u003c\u003c\nI/DEBUG   (  113): signal 16 (SIGSTKFLT), code -6 (?), fault addr --------\nI/DEBUG   (  113):  eax fffffe00  ebx b77de994  ecx 00000080  edx 00724002\nI/DEBUG   (  113):  esi 00000000  edi 00004000\nI/DEBUG   (  113):  xcs 00000073  xds 0000007b  xes 0000007b  xfs 00000000 xss 0000007b\nI/DEBUG   (  113):  eip b7761351  ebp bfdf3de8  esp bfdf3dc4  flags 00000202\nI/DEBUG   (  113):     #00  eip: 00015351  /system/lib/libc.so\nI/DEBUG   (  113):     #01  eip: 0000d13c  /system/lib/libc.so (pthread_mutex_lock)\nI/DEBUG   (  113):     #02  eip: 00077b48  /system/lib/libc.so (__bionic_atfork_run_prepare)\nI/DEBUG   (  113):     #03  eip: 00052cdb  /system/lib/libc.so (fork)\nI/DEBUG   (  113):     #04  eip: 0009ae91  /system/lib/libdvm.so (_Z18dvmOptimizeDexFileillPKcjjb)\nI/DEBUG   (  113):     #05  eip: 000819d6  /system/lib/libdvm.so (_Z14dvmJarFileOpenPKcS0_PP7JarFileb)\nI/DEBUG   (  113):     #06  eip: 000b175e  /system/lib/libdvm.so (_ZL40Dalvik_dalvik_system_DexFile_openDexFilePKjP6JValue)\nI/DEBUG   (  113):     #07  eip: 0011fb94  /system/lib/libdvm.so\n\nRoot cause:\nThe atfork uses the mutex handler_mutex to protect the atfork_head. The\nparent will call __bionic_atfork_run_prepare() to lock the handler_mutex,\nand need both the parent and child to unlock their own copy of handler_mutex\nafter fork. At that time, the owner of hanlder_mutex is set as the parent.\nIf we apply the kernel_id fix, then the child\u0027s kernel_id will be set as\nchild\u0027s tid.\nThe handler_mutex is a recursive lock, and pthread_mutex_unlock(\u0026hander_mutex)\nwill fail because the mutex owner is the parent, while the current tid\n(__get_thread()-\u003ekernel_id) is child, not matched with the mutex owner.\nAt that time, the handler_mutex is left in lock state.If the child wants to\nfork other process after than, then it will try to lock handler_mutex, and\nthen be deadlocked.\n\nFix:\nSince the child has its own copy of vm space from the the parent, the\nchild space\u0027s handler_mutex should be reset to the initialized state.\n\nChange-Id: I3907dd9a153418fb78862f2aa6d0302c375d9e27\nSigned-off-by: Jack Ren \u003cjack.ren@intel.com\u003e\nSigned-off-by: Chenyang Du \u003cchenyang.du@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "6625986f3a5c7989b45022413c851f611783f361",
      "tree": "de566f83421e8b4c31d7bab4fdbbc0e0ae51fe79",
      "parents": [
        "adb6989786dcc7248d51a3a5a76221b93951f84a"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 16 13:06:12 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 16 13:06:12 2012 -0700"
      },
      "message": "linker: initially reserved memory as PROT_NONE\n\nWhen the dynamic linker loads a shared library into memory, it\ninitially allocates a chunk of memory. The memory is then carved\ninto smaller chunks for each LOAD region, and appropriate memory\nprotections applied.\n\nModify the initial memory allocation so that the pages are mapped\nas PROT_NONE, rather than PROT_READ / PROT_EXEC. This ensures that\ngaps between LOAD regions are not inadvertantly readable / executable.\n\n(Long term, we should munmap() these gaps entirely)\n\nChange-Id: If128a203ccc6fe12dcbbd2bfe0cf13a2045675af\n"
    },
    {
      "commit": "ad812ef2a4bc4339143bb1259620bcca443433d4",
      "tree": "f14741a637b410b777e8f28bca6eb6d4f64e6a45",
      "parents": [
        "adb6989786dcc7248d51a3a5a76221b93951f84a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 15 21:59:01 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 15 21:59:01 2012 -0700"
      },
      "message": "Add in auto-generated if_alg.h header\n\nChange-Id: I5d0934069e74be2eafecdee43074590124db57a7\n"
    },
    {
      "commit": "adb6989786dcc7248d51a3a5a76221b93951f84a",
      "tree": "d8b47197ec9dcf70e39ae2f87b160ca51b413a62",
      "parents": [
        "06823da2f0c8b4a4ce4c45113032f03df85c94b8",
        "1a823691a21519014daf252691a314f0726d7c3a"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Tue Mar 13 13:04:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 13:04:22 2012 -0700"
      },
      "message": "Merge \"Update kernel headers and add syscall \"perf_event_open\"\""
    },
    {
      "commit": "1a823691a21519014daf252691a314f0726d7c3a",
      "tree": "aaf44aebed27ae43e9a9e2682b22f42c99d7201a",
      "parents": [
        "654325de026a2ca5b76b8b40e576c959d8211fdc"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Tue Mar 13 12:28:40 2012 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Tue Mar 13 12:28:40 2012 -0700"
      },
      "message": "Update kernel headers and add syscall \"perf_event_open\"\n\nChange-Id: I43f12b727881df002a8524f2738586c043833bae\n"
    },
    {
      "commit": "06823da2f0c8b4a4ce4c45113032f03df85c94b8",
      "tree": "eacafbaa2b301b0e28ab145cb4f28e10ae2fd212",
      "parents": [
        "76d56cf4a94e875a8b621025e2780775247adb6e"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Mar 12 22:05:36 2012 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Mar 12 22:05:36 2012 -0700"
      },
      "message": "Revert \"am be741d47: am 2f460fbe: am 73b5cad9: Merge \"bionic: Fix wrong kernel_id in pthread descriptor after fork()\"\"\n\nThis reverts commit 76d56cf4a94e875a8b621025e2780775247adb6e, reversing\nchanges made to c59ba4595be25a1213955233fcf9bcd1afe6438e.\n\nBug: 6157577\n"
    },
    {
      "commit": "76d56cf4a94e875a8b621025e2780775247adb6e",
      "tree": "9101c17f6134d7c2f18a956fb50816695689e888",
      "parents": [
        "c59ba4595be25a1213955233fcf9bcd1afe6438e",
        "be741d472868a8ffcb455588f18cda889b0f465c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 12 17:12:35 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 12 17:12:35 2012 -0700"
      },
      "message": "am be741d47: am 2f460fbe: am 73b5cad9: Merge \"bionic: Fix wrong kernel_id in pthread descriptor after fork()\"\n\n* commit \u0027be741d472868a8ffcb455588f18cda889b0f465c\u0027:\n  bionic: Fix wrong kernel_id in pthread descriptor after fork()\n"
    },
    {
      "commit": "be741d472868a8ffcb455588f18cda889b0f465c",
      "tree": "4c27624ea016135ce74398d7d4579e50e3583170",
      "parents": [
        "6d074bb71a316f73f35f4430a71fa706c46d4b75",
        "2f460fbee9abe2936175379c49c6618de7421233"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 12 17:10:46 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 12 17:10:46 2012 -0700"
      },
      "message": "am 2f460fbe: am 73b5cad9: Merge \"bionic: Fix wrong kernel_id in pthread descriptor after fork()\"\n\n* commit \u00272f460fbee9abe2936175379c49c6618de7421233\u0027:\n  bionic: Fix wrong kernel_id in pthread descriptor after fork()\n"
    },
    {
      "commit": "2f460fbee9abe2936175379c49c6618de7421233",
      "tree": "4c27624ea016135ce74398d7d4579e50e3583170",
      "parents": [
        "70d1d45f0ecaee262627a6ca323fc2b4fe3e9024",
        "73b5cad989da317cc8089b57ee25f502b1cac71f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 12 17:06:09 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 12 17:06:09 2012 -0700"
      },
      "message": "am 73b5cad9: Merge \"bionic: Fix wrong kernel_id in pthread descriptor after fork()\"\n\n* commit \u002773b5cad989da317cc8089b57ee25f502b1cac71f\u0027:\n  bionic: Fix wrong kernel_id in pthread descriptor after fork()\n"
    },
    {
      "commit": "73b5cad989da317cc8089b57ee25f502b1cac71f",
      "tree": "00a129ca73e415545e7a629ceb1ec4e7bbe525ef",
      "parents": [
        "a58c88c235bfeeb17ac495991e66f7b906935852",
        "d8bc6e7119450f263afcf89c8b581f6aaa23d186"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 12 10:32:02 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 12 10:32:02 2012 -0700"
      },
      "message": "Merge \"bionic: Fix wrong kernel_id in pthread descriptor after fork()\""
    },
    {
      "commit": "d8bc6e7119450f263afcf89c8b581f6aaa23d186",
      "tree": "00a129ca73e415545e7a629ceb1ec4e7bbe525ef",
      "parents": [
        "a58c88c235bfeeb17ac495991e66f7b906935852"
      ],
      "author": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Tue Jan 17 16:27:42 2012 +0800"
      },
      "committer": {
        "name": "Jack Ren",
        "email": "jack.ren@intel.com",
        "time": "Mon Mar 12 23:14:56 2012 +0800"
      },
      "message": "bionic: Fix wrong kernel_id in pthread descriptor after fork()\n\nAfter forking, the kernel_id field in the phtread_internal_t returned by pthread_self()\nis incorrect --- it\u0027s the tid from the parent, not the new tid of the\nchild.\n\nThe root cause is that: currently the kernel_id is set by\n_init_thread(), which is called in 2 cases:\n(1) called by __libc_init_common(). That happens when the execv( ) is\ncalled after fork( ). But when the zygote tries to fork the android\napplication, the child application doesn\u0027t call execv( ), instread, it\ntries to call the Java main method directly.\n(2) called by pthread_create(). That happens when a new thread is\ncreated.\n\nFor the lead thread which is the thread created by fork(), it should\ncall execv() but it doesn\u0027t, as described in (1) above. So its kernel_id\nwill inherit the parent\u0027s kernel_id.\n\nFixed it in this patch.\n\nChange-Id: I63513e82af40ec5fe51fbb69456b1843e4bc0fc7\nSigned-off-by: Chenyang Du \u003cchenyang.du@intel.com\u003e\nSigned-off-by: Jack Ren \u003cjack.ren@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "c59ba4595be25a1213955233fcf9bcd1afe6438e",
      "tree": "eacafbaa2b301b0e28ab145cb4f28e10ae2fd212",
      "parents": [
        "ca9a0712b89eee017c2a40056c101d86c1f7d02f"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Mar 09 11:34:27 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Mar 09 11:50:46 2012 -0800"
      },
      "message": "Use new binary code format\n\n3-digits + null.  Old was 3-digits + space + null.\n\nChange-Id: If5fdf9ced073f432ace3a76858025ad651c74e3d\n"
    },
    {
      "commit": "ca9a0712b89eee017c2a40056c101d86c1f7d02f",
      "tree": "e9fde715b179915d7c8928f8b989c5079b7c7b45",
      "parents": [
        "654325de026a2ca5b76b8b40e576c959d8211fdc"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Mar 08 11:14:37 2012 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Mar 08 11:14:37 2012 -0800"
      },
      "message": "Re-throw signals\n\nIf we catch a fatal signal that won\u0027t automatically re-throw when\nthe thread resumes, re-throw it manually.  (Common examples are\nSIGPIPE and the SIGFPE from integer division by zero.)\n\nChange-Id: I329e6d4db907047c555957b42cbd09c50fc808e7\n"
    },
    {
      "commit": "654325de026a2ca5b76b8b40e576c959d8211fdc",
      "tree": "1c5dca11f5d9a792f0b4c7d3df8f57958532a091",
      "parents": [
        "db6d20be77d7a176822db4106dc43605e22c7b39"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Mar 07 21:13:49 2012 -0800"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Mar 07 21:13:49 2012 -0800"
      },
      "message": "Update bionic kernel headers using update_all.py\n\nChange-Id: I9c377436e9bf158e7236b3b7dcebf3e79fa961de\n"
    },
    {
      "commit": "db6d20be77d7a176822db4106dc43605e22c7b39",
      "tree": "86c99b5aa1c3e1f03e7f45b8d2bd29e5af05bcd5",
      "parents": [
        "36c8c1039fca1c338796c4a8951c31e4fdf1d3b9",
        "06e1831f194389b6f56ac016ebb52ed5cd430bb2"
      ],
      "author": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Wed Mar 07 17:05:15 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 17:05:15 2012 -0800"
      },
      "message": "Merge \"Prevent potential stall on dns proxy operations.\""
    },
    {
      "commit": "36c8c1039fca1c338796c4a8951c31e4fdf1d3b9",
      "tree": "fc661a73e7311d4b2cfceb47f3eb9228e16ab96b",
      "parents": [
        "27a5923b24a7f0a1a75498bcb6771f380b681e09",
        "4b29af0a1b8b25b43e4c0cb9bf066c52f3add9bd"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Mar 07 16:16:10 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 16:16:10 2012 -0800"
      },
      "message": "Merge \"Revert \"Update bionic kernel headers using update_all.py\"\""
    },
    {
      "commit": "4b29af0a1b8b25b43e4c0cb9bf066c52f3add9bd",
      "tree": "81138dd64a4b9ea18c3cfd5c69783add6deeb201",
      "parents": [
        "94a85f663694e1869acb1c2e8a3c374a6fa3ab86"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Mar 07 16:14:53 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 16:14:53 2012 -0800"
      },
      "message": "Revert \"Update bionic kernel headers using update_all.py\"\n\nThis reverts commit 94a85f663694e1869acb1c2e8a3c374a6fa3ab86\n\nThere is a smoke test failure for Prime but Crespo/Stingray are fine. Will revert the change for now until further investigation is made."
    },
    {
      "commit": "06e1831f194389b6f56ac016ebb52ed5cd430bb2",
      "tree": "1bae36f75baac7fd29c053323e6f17af609ec573",
      "parents": [
        "83c366cf093b068da38e24e4ae4525c015ddde20"
      ],
      "author": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Mon Feb 27 15:58:54 2012 -0800"
      },
      "committer": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Wed Mar 07 15:09:05 2012 -0800"
      },
      "message": "Prevent potential stall on dns proxy operations.\n\nUpdate wire protocol to return and process error code first.\nThis will make sure dns proxy operations do not stall when\nan internal error happens.\nAlso fix a compiler warning.\nAlso fix a potential buffer overflow.\nAnd use correct types (uint32_t) rather than int when reading from network.\n\nChange-Id: I9f99c16d6fd5e9137491a4d1b293a7c78e31b9c3\n"
    },
    {
      "commit": "27a5923b24a7f0a1a75498bcb6771f380b681e09",
      "tree": "9fcee023682e2b28669207e70e1e72fe346f96d4",
      "parents": [
        "e5cf8166dcfeebe50e0981467f93b79ac4f69a4f",
        "94a85f663694e1869acb1c2e8a3c374a6fa3ab86"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Mar 07 13:57:09 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 13:57:09 2012 -0800"
      },
      "message": "Merge \"Update bionic kernel headers using update_all.py\""
    },
    {
      "commit": "e5cf8166dcfeebe50e0981467f93b79ac4f69a4f",
      "tree": "fc661a73e7311d4b2cfceb47f3eb9228e16ab96b",
      "parents": [
        "d027ffdd7a2b2239db929a53d3a3c82be42dd1a0",
        "3df3e672f51580525452c2eeb4d35633d4dba873"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Mar 07 13:09:36 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 13:09:36 2012 -0800"
      },
      "message": "Merge \"Log the thread id and name for fatal signals.\""
    },
    {
      "commit": "3df3e672f51580525452c2eeb4d35633d4dba873",
      "tree": "86d8417655599f1c44f416865488237826fe88c0",
      "parents": [
        "45976873353d05b44f23fa53cbcd793b22927820"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Mar 07 09:04:18 2012 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Mar 07 12:32:15 2012 -0800"
      },
      "message": "Log the thread id and name for fatal signals.\n\nThis adds the thread id and name to the \"Fatal signal\" logging,\nmaking it easier to track down where in process it actually crashed.\n\nChange-Id: I17a365042b2f10b161debe98bc2e7070af055dfb\n"
    },
    {
      "commit": "94a85f663694e1869acb1c2e8a3c374a6fa3ab86",
      "tree": "096ba2712dc3e41a18223abff203b6f08dd093c6",
      "parents": [
        "d027ffdd7a2b2239db929a53d3a3c82be42dd1a0"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Tue Mar 06 15:45:52 2012 -0800"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Mar 07 12:27:59 2012 -0800"
      },
      "message": "Update bionic kernel headers using update_all.py\n\nChange-Id: I4da6b23cdbce89445f1ca5d2fadeb23345ce694c\n"
    },
    {
      "commit": "d027ffdd7a2b2239db929a53d3a3c82be42dd1a0",
      "tree": "81138dd64a4b9ea18c3cfd5c69783add6deeb201",
      "parents": [
        "45976873353d05b44f23fa53cbcd793b22927820",
        "9ec0f03a0d0b17bbb94ac0b9fef6add28a133c3a"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Mar 06 11:31:59 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 11:31:59 2012 -0800"
      },
      "message": "Merge \"Add relro support\""
    },
    {
      "commit": "9ec0f03a0d0b17bbb94ac0b9fef6add28a133c3a",
      "tree": "dde5e86b6ae51f92087a9034750c282e11884164",
      "parents": [
        "1fe109ecf3b1acd10d55091f3e0eed7efeca98f1"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 28 10:40:00 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Mar 05 16:44:42 2012 -0800"
      },
      "message": "Add relro support\n\nAdd support for PT_GNU_RELRO. This allows the static linker to\nindicate that certain regions of memory should be marked as\n\"read-only\" after dynamic linking is complete.\n\nSee:\n  * http://www.akkadia.org/drepper/nonselsec.pdf (section 6)\n  * http://tk-blog.blogspot.com/2009/02/relro-not-so-well-known-memory.html\n\nNote that this change has no effect on Android right now, because\nwe don\u0027t compile our code with relro enabled.\n\nChange-Id: I6541f8775367e8558b4388f7d105b1ae6e8f046b\n"
    },
    {
      "commit": "45976873353d05b44f23fa53cbcd793b22927820",
      "tree": "70e376f699f4a354dd7135601d6b489af99665e0",
      "parents": [
        "1fe109ecf3b1acd10d55091f3e0eed7efeca98f1",
        "be101bf39aaaaaee3a96d62fbc4c1136548480de"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Mar 05 10:46:01 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 05 10:46:01 2012 -0800"
      },
      "message": "Merge \"Revert \"Reference __dso_handle in PIC way\"\""
    },
    {
      "commit": "be101bf39aaaaaee3a96d62fbc4c1136548480de",
      "tree": "af2003dd9e75b71015e03dbf4d5e64fe285c3740",
      "parents": [
        "93cb30813764b140f0adbaa620dcdbb1cae56dd8"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Mar 05 10:45:31 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 05 10:45:31 2012 -0800"
      },
      "message": "Revert \"Reference __dso_handle in PIC way\"\n\nThis reverts commit 93cb30813764b140f0adbaa620dcdbb1cae56dd8"
    },
    {
      "commit": "1fe109ecf3b1acd10d55091f3e0eed7efeca98f1",
      "tree": "a9f19447aa5be60be335d46ac136e14e59db2495",
      "parents": [
        "079989259f257a29bb0734ed968d80a1e35c494f",
        "93cb30813764b140f0adbaa620dcdbb1cae56dd8"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Mar 02 16:05:57 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 16:05:57 2012 -0800"
      },
      "message": "Merge \"Reference __dso_handle in PIC way\""
    },
    {
      "commit": "93cb30813764b140f0adbaa620dcdbb1cae56dd8",
      "tree": "3e96ed0c75c2b4e06edfd7fa1d637bc8142f1f4a",
      "parents": [
        "3690bcb217668a26675a7144637a4eed14bf7741"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Mar 02 13:05:25 2012 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Mar 02 13:09:36 2012 -0800"
      },
      "message": "Reference __dso_handle in PIC way\n\nUse the same pattern in atexit.S to reference __dso_handle in a way that\ndoesn\u0027t require a TEXTREL flag to be set.\n\nChange-Id: Id69d20863ee203d2b2f7ef0db230f9b548657741\n"
    },
    {
      "commit": "079989259f257a29bb0734ed968d80a1e35c494f",
      "tree": "70e376f699f4a354dd7135601d6b489af99665e0",
      "parents": [
        "da16ad11fe83d41d43bcf30b3aad01aafa8f5bc6",
        "6d074bb71a316f73f35f4430a71fa706c46d4b75"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 11:13:05 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 02 11:13:05 2012 -0800"
      },
      "message": "am 6d074bb7: am 70d1d45f: am a58c88c2: Merge \"Upgrade to tzdata2012b.\"\n\n* commit \u00276d074bb71a316f73f35f4430a71fa706c46d4b75\u0027:\n  Upgrade to tzdata2012b.\n"
    },
    {
      "commit": "6d074bb71a316f73f35f4430a71fa706c46d4b75",
      "tree": "d1e0ba4d3a8d51932411ddd56e3dc4349746e88d",
      "parents": [
        "a2b1bbc9a605819eb5ecd1df61d4f2a79f1a8f92",
        "70d1d45f0ecaee262627a6ca323fc2b4fe3e9024"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 11:10:43 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 02 11:10:43 2012 -0800"
      },
      "message": "am 70d1d45f: am a58c88c2: Merge \"Upgrade to tzdata2012b.\"\n\n* commit \u002770d1d45f0ecaee262627a6ca323fc2b4fe3e9024\u0027:\n  Upgrade to tzdata2012b.\n"
    },
    {
      "commit": "70d1d45f0ecaee262627a6ca323fc2b4fe3e9024",
      "tree": "d1e0ba4d3a8d51932411ddd56e3dc4349746e88d",
      "parents": [
        "a480cf930f31ab404e7efe66259427a53d72fa2b",
        "a58c88c235bfeeb17ac495991e66f7b906935852"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 11:07:03 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 02 11:07:03 2012 -0800"
      },
      "message": "am a58c88c2: Merge \"Upgrade to tzdata2012b.\"\n\n* commit \u0027a58c88c235bfeeb17ac495991e66f7b906935852\u0027:\n  Upgrade to tzdata2012b.\n"
    },
    {
      "commit": "da16ad11fe83d41d43bcf30b3aad01aafa8f5bc6",
      "tree": "e7fc79dfe375fd5f84e0297198dc58ac5f22ee95",
      "parents": [
        "3690bcb217668a26675a7144637a4eed14bf7741",
        "a2b1bbc9a605819eb5ecd1df61d4f2a79f1a8f92"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 10:49:45 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 02 10:49:45 2012 -0800"
      },
      "message": "am a2b1bbc9: am a480cf93: resolved conflicts for merge of cfe535ef to stage-aosp-master\n\n* commit \u0027a2b1bbc9a605819eb5ecd1df61d4f2a79f1a8f92\u0027:\n  Upgrade to tzdata2011a.\n"
    },
    {
      "commit": "a2b1bbc9a605819eb5ecd1df61d4f2a79f1a8f92",
      "tree": "caa4710856a2f74c9eed75f13f3ddc10e432a600",
      "parents": [
        "cff86bdc02f70bb5758234ace75a2f84a626cc3c",
        "a480cf930f31ab404e7efe66259427a53d72fa2b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 10:47:23 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 02 10:47:23 2012 -0800"
      },
      "message": "am a480cf93: resolved conflicts for merge of cfe535ef to stage-aosp-master\n\n* commit \u0027a480cf930f31ab404e7efe66259427a53d72fa2b\u0027:\n  Upgrade to tzdata2011a.\n"
    },
    {
      "commit": "a480cf930f31ab404e7efe66259427a53d72fa2b",
      "tree": "caa4710856a2f74c9eed75f13f3ddc10e432a600",
      "parents": [
        "018c27eda89b54e59e6c043ea2986c6e39ec2ee0",
        "cfe535ef9fe08ffceef826f6a0f1ba281528843a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 10:11:18 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 10:11:18 2012 -0800"
      },
      "message": "resolved conflicts for merge of cfe535ef to stage-aosp-master\n\nChange-Id: I21a1dd41503518e75892180c14f1ce79102772ad\n"
    },
    {
      "commit": "a58c88c235bfeeb17ac495991e66f7b906935852",
      "tree": "65a9535d8628950ae1b4de0275c7da2643908e28",
      "parents": [
        "cfe535ef9fe08ffceef826f6a0f1ba281528843a",
        "dd8e4045e73a3cd7fc64353252bd553ed1a53236"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 00:09:03 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 02 00:09:04 2012 -0800"
      },
      "message": "Merge \"Upgrade to tzdata2012b.\""
    },
    {
      "commit": "dd8e4045e73a3cd7fc64353252bd553ed1a53236",
      "tree": "65a9535d8628950ae1b4de0275c7da2643908e28",
      "parents": [
        "cfe535ef9fe08ffceef826f6a0f1ba281528843a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 01 23:34:11 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 01 23:34:11 2012 -0800"
      },
      "message": "Upgrade to tzdata2012b.\n\nSummer time in Cuba has been delayed 3 weeks (now starts April 1 rather\nthan March 11). Since March 11 (the old start date, as listed in 2012a)\nis just a little over a week away, this change is urgent.\n\nChange-Id: Iadf4dc30072bdac0bcd0ad4b9e076a9ca071efbe\n"
    },
    {
      "commit": "cfe535ef9fe08ffceef826f6a0f1ba281528843a",
      "tree": "9502849e097181c5740c06bac3b4b2a591ce6540",
      "parents": [
        "25f2d1f0c3c7802af0d4d1e2bbd3bf95a7e0970b",
        "69ea1c03e0856c264ff9eb66974f53134ab9bc3a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 01 23:32:14 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 01 23:32:15 2012 -0800"
      },
      "message": "Merge \"Upgrade to tzdata2011a.\""
    },
    {
      "commit": "3690bcb217668a26675a7144637a4eed14bf7741",
      "tree": "af2003dd9e75b71015e03dbf4d5e64fe285c3740",
      "parents": [
        "4053f8530d5f57d47c113c40bc7afd873f8ed1bb",
        "cff86bdc02f70bb5758234ace75a2f84a626cc3c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Mar 01 15:35:45 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 01 15:35:45 2012 -0800"
      },
      "message": "am cff86bdc: am 018c27ed: am 25f2d1f0: Merge \"update stddef.h\"\n\n* commit \u0027cff86bdc02f70bb5758234ace75a2f84a626cc3c\u0027:\n  update stddef.h\n"
    },
    {
      "commit": "4053f8530d5f57d47c113c40bc7afd873f8ed1bb",
      "tree": "af2003dd9e75b71015e03dbf4d5e64fe285c3740",
      "parents": [
        "446a772bc407b45253afaaf37ec137ab06306eba",
        "568ee0d135c23c5a49fb4f93de01999b76523428"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Mar 01 15:35:44 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 01 15:35:44 2012 -0800"
      },
      "message": "am 568ee0d1: am 51d22d7e: am afab5a70: Merge \"Eliminate duplicate constants\"\n\n* commit \u0027568ee0d135c23c5a49fb4f93de01999b76523428\u0027:\n  Eliminate duplicate constants\n"
    },
    {
      "commit": "446a772bc407b45253afaaf37ec137ab06306eba",
      "tree": "af2003dd9e75b71015e03dbf4d5e64fe285c3740",
      "parents": [
        "86addd65abdde06c96fb72f359f63cf72b206325",
        "dc755140c11bb0ff64f7c3d224dd5588fc643485"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Mar 01 15:35:20 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 01 15:35:20 2012 -0800"
      },
      "message": "am dc755140: (-s ours) am 7c38f53d: am 7f28e0b4: Merge \"Clean up the remnants of SuperH support\"\n\n* commit \u0027dc755140c11bb0ff64f7c3d224dd5588fc643485\u0027:\n  Clean up the remnants of SuperH support\n"
    },
    {
      "commit": "69ea1c03e0856c264ff9eb66974f53134ab9bc3a",
      "tree": "9502849e097181c5740c06bac3b4b2a591ce6540",
      "parents": [
        "25f2d1f0c3c7802af0d4d1e2bbd3bf95a7e0970b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 01 09:38:31 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 01 09:38:31 2012 -0800"
      },
      "message": "Upgrade to tzdata2011a.\n\nFrom the notes:\n\n       Chile 2011/2012 and 2012/2013 summer time date adjustments.\n       Falkland Islands onto permanent summer time (we\u0027re assuming for the\n               foreseeable future, though 2012 is all we\u0027re fairly certain of.)\n       Armenia has abolished Summer Time.\n       Tokelau jumped the International Date Line back last December\n               (just the same as their near neighbour, Samoa).\n       America/Creston is a new zone for a small area of British Columbia\n       There will be a leapsecod 2012-06-30 23:59:60 UTC.\n\nChange-Id: I1d66edf8d33fd1dbcf21178def91844025fd9047\n"
    },
    {
      "commit": "cff86bdc02f70bb5758234ace75a2f84a626cc3c",
      "tree": "7203d2fa92c163fdbff444e81786556dfd68f8da",
      "parents": [
        "568ee0d135c23c5a49fb4f93de01999b76523428",
        "018c27eda89b54e59e6c043ea2986c6e39ec2ee0"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 29 19:12:17 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 29 19:12:17 2012 -0800"
      },
      "message": "am 018c27ed: am 25f2d1f0: Merge \"update stddef.h\"\n\n* commit \u0027018c27eda89b54e59e6c043ea2986c6e39ec2ee0\u0027:\n  update stddef.h\n"
    },
    {
      "commit": "568ee0d135c23c5a49fb4f93de01999b76523428",
      "tree": "3f6150fbf5547ceb51749b3bea185341d7544563",
      "parents": [
        "dc755140c11bb0ff64f7c3d224dd5588fc643485",
        "51d22d7ea92e77f47accee59c99cb8157bf29fcb"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 29 19:12:16 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 29 19:12:16 2012 -0800"
      },
      "message": "am 51d22d7e: am afab5a70: Merge \"Eliminate duplicate constants\"\n\n* commit \u002751d22d7ea92e77f47accee59c99cb8157bf29fcb\u0027:\n  Eliminate duplicate constants\n"
    },
    {
      "commit": "018c27eda89b54e59e6c043ea2986c6e39ec2ee0",
      "tree": "7203d2fa92c163fdbff444e81786556dfd68f8da",
      "parents": [
        "51d22d7ea92e77f47accee59c99cb8157bf29fcb",
        "25f2d1f0c3c7802af0d4d1e2bbd3bf95a7e0970b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 29 19:08:50 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 29 19:08:50 2012 -0800"
      },
      "message": "am 25f2d1f0: Merge \"update stddef.h\"\n\n* commit \u002725f2d1f0c3c7802af0d4d1e2bbd3bf95a7e0970b\u0027:\n  update stddef.h\n"
    },
    {
      "commit": "51d22d7ea92e77f47accee59c99cb8157bf29fcb",
      "tree": "3f6150fbf5547ceb51749b3bea185341d7544563",
      "parents": [
        "7c38f53d1911e04acf6398921a7bd4444d585c2b",
        "afab5a703d30df613848cb30ab3ecceafd76102b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 29 19:08:49 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 29 19:08:49 2012 -0800"
      },
      "message": "am afab5a70: Merge \"Eliminate duplicate constants\"\n\n* commit \u0027afab5a703d30df613848cb30ab3ecceafd76102b\u0027:\n  Eliminate duplicate constants\n"
    },
    {
      "commit": "25f2d1f0c3c7802af0d4d1e2bbd3bf95a7e0970b",
      "tree": "4d5e35bd85c432de2d1be8383f9369ffcd31d028",
      "parents": [
        "afab5a703d30df613848cb30ab3ecceafd76102b",
        "53d161a2bc8a4c827225818709dae069416c9c85"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 29 18:59:15 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 29 18:59:16 2012 -0800"
      },
      "message": "Merge \"update stddef.h\""
    },
    {
      "commit": "afab5a703d30df613848cb30ab3ecceafd76102b",
      "tree": "80ef6214f13ab93abd40160313cd38e89bb6c1b1",
      "parents": [
        "7f28e0b4501de7c4f8f627fd3e4be323d737ae82",
        "9921947e6fa4547c10f68281fc1a7ad72e11cf56"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 29 18:58:52 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 29 18:58:53 2012 -0800"
      },
      "message": "Merge \"Eliminate duplicate constants\""
    },
    {
      "commit": "53d161a2bc8a4c827225818709dae069416c9c85",
      "tree": "4d5e35bd85c432de2d1be8383f9369ffcd31d028",
      "parents": [
        "9921947e6fa4547c10f68281fc1a7ad72e11cf56"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 28 13:36:31 2012 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 29 18:43:55 2012 -0800"
      },
      "message": "update stddef.h\n\nPull in an updated version of stddef.h from the linux kernel.\nPulled from upstream kernel at 891003abb0db6bfffd61b76ad0ed39bb7c3db8e1\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/stddef.h\n\nChange-Id: I6c29f3fa100c5368da41d0f0da39bc50fa668e9d\n"
    },
    {
      "commit": "9921947e6fa4547c10f68281fc1a7ad72e11cf56",
      "tree": "80ef6214f13ab93abd40160313cd38e89bb6c1b1",
      "parents": [
        "7f28e0b4501de7c4f8f627fd3e4be323d737ae82"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 28 11:49:41 2012 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 29 18:43:51 2012 -0800"
      },
      "message": "Eliminate duplicate constants\n\ninclude/elf.h contains basically the same values as\nlinux/auxvec.h. Eliminate dups.\n\ninclude/sys/exec_elf.h contains basically the same\nvalues as linux/elf.h. Eliminate dups.\n\nChange-Id: I66b8358161bb52223bb657f8f73ba28b324f4fa3\n"
    },
    {
      "commit": "dc755140c11bb0ff64f7c3d224dd5588fc643485",
      "tree": "8956d2f496db464333e6a18c8c3775e4c78857b7",
      "parents": [
        "2e236c132fe38e52d8a52d264cca5c520d778c98",
        "7c38f53d1911e04acf6398921a7bd4444d585c2b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 29 15:43:24 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 29 15:43:24 2012 -0800"
      },
      "message": "am 7c38f53d: am 7f28e0b4: Merge \"Clean up the remnants of SuperH support\"\n\n* commit \u00277c38f53d1911e04acf6398921a7bd4444d585c2b\u0027:\n  Clean up the remnants of SuperH support\n"
    },
    {
      "commit": "7c38f53d1911e04acf6398921a7bd4444d585c2b",
      "tree": "8956d2f496db464333e6a18c8c3775e4c78857b7",
      "parents": [
        "17edd38f03300af28c89f9031dad177af8232c3a",
        "7f28e0b4501de7c4f8f627fd3e4be323d737ae82"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 29 15:38:55 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 29 15:38:55 2012 -0800"
      },
      "message": "am 7f28e0b4: Merge \"Clean up the remnants of SuperH support\"\n\n* commit \u00277f28e0b4501de7c4f8f627fd3e4be323d737ae82\u0027:\n  Clean up the remnants of SuperH support\n"
    },
    {
      "commit": "7f28e0b4501de7c4f8f627fd3e4be323d737ae82",
      "tree": "187c638706e047a1f9291409fe50834b81e50560",
      "parents": [
        "9c9b0fc7e1dff39baa8cdf2536be9776aa4af766",
        "b69060f1ae0bd14c93caed2d113a72cf81d98f1d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 29 14:39:41 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 29 14:39:42 2012 -0800"
      },
      "message": "Merge \"Clean up the remnants of SuperH support\""
    },
    {
      "commit": "86addd65abdde06c96fb72f359f63cf72b206325",
      "tree": "af2003dd9e75b71015e03dbf4d5e64fe285c3740",
      "parents": [
        "4fc127345968c0e75775a6377c6f784ae6600cff",
        "67e7a93844989a4ea4660e6cfb9613e486c6d352"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Feb 29 13:30:48 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 29 13:30:48 2012 -0800"
      },
      "message": "Merge \"Eliminate duplicate constants\""
    },
    {
      "commit": "67e7a93844989a4ea4660e6cfb9613e486c6d352",
      "tree": "80c24f58ede5bdc1d7a1200f106bb4b0c84fcf0f",
      "parents": [
        "d638a500e96bdfec2bd3e34fc5545561b60cd9e6"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 28 11:49:41 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Feb 29 11:21:53 2012 -0800"
      },
      "message": "Eliminate duplicate constants\n\ninclude/elf.h contains basically the same values as\nlinux/auxvec.h. Eliminate dups.\n\ninclude/sys/exec_elf.h contains basically the same\nvalues as linux/elf.h. Eliminate dups.\n\nChange-Id: I66b8358161bb52223bb657f8f73ba28b324f4fa3\n"
    },
    {
      "commit": "4fc127345968c0e75775a6377c6f784ae6600cff",
      "tree": "28f49f7aa5dd646e233c95cd967856b31eed7104",
      "parents": [
        "d638a500e96bdfec2bd3e34fc5545561b60cd9e6",
        "58b2c1616bed68fe5a6a1794c8764b24d29ad8cb"
      ],
      "author": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Wed Feb 29 09:40:49 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 29 09:40:49 2012 -0800"
      },
      "message": "Merge \"Trivial fix in comment\""
    },
    {
      "commit": "d638a500e96bdfec2bd3e34fc5545561b60cd9e6",
      "tree": "de5ae8a1d1778dc3badc1b73a385f94342bf82fa",
      "parents": [
        "a1d3e0d8eb0e1e76f6200d6d1dce602512a3f6a7",
        "ec37237d69289e2bb9836bfa0d071ab958234d00"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 28 14:39:12 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 28 14:39:12 2012 -0800"
      },
      "message": "Merge \"update stddef.h\""
    },
    {
      "commit": "ec37237d69289e2bb9836bfa0d071ab958234d00",
      "tree": "54ec0eae52a5ff9a57274d1f21754555de4270ad",
      "parents": [
        "83c366cf093b068da38e24e4ae4525c015ddde20"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 28 13:36:31 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 28 14:04:57 2012 -0800"
      },
      "message": "update stddef.h\n\nPull in an updated version of stddef.h from the linux kernel.\nPulled from upstream kernel at 891003abb0db6bfffd61b76ad0ed39bb7c3db8e1\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/stddef.h\n\nChange-Id: I6c29f3fa100c5368da41d0f0da39bc50fa668e9d\n"
    },
    {
      "commit": "a1d3e0d8eb0e1e76f6200d6d1dce602512a3f6a7",
      "tree": "3dc8a5931eeb6b072f19ce6db8fc0c1bffa165e6",
      "parents": [
        "83c366cf093b068da38e24e4ae4525c015ddde20",
        "2e236c132fe38e52d8a52d264cca5c520d778c98"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Feb 28 13:55:51 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 28 13:55:51 2012 -0800"
      },
      "message": "am 2e236c13: am 17edd38f: am 9c9b0fc7: Merge \"libm: cherry-pick one patch from freebsd to fix logb() denormals issue\"\n\n* commit \u00272e236c132fe38e52d8a52d264cca5c520d778c98\u0027:\n  libm: cherry-pick one patch from freebsd to fix logb() denormals issue\n"
    },
    {
      "commit": "2e236c132fe38e52d8a52d264cca5c520d778c98",
      "tree": "55ccc4fe3ee86e3871fa94396f710f1fc795d0b5",
      "parents": [
        "5d8fd2a0bc059cd07405a372c98617829f8ac378",
        "17edd38f03300af28c89f9031dad177af8232c3a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Feb 28 13:53:14 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 28 13:53:14 2012 -0800"
      },
      "message": "am 17edd38f: am 9c9b0fc7: Merge \"libm: cherry-pick one patch from freebsd to fix logb() denormals issue\"\n\n* commit \u002717edd38f03300af28c89f9031dad177af8232c3a\u0027:\n  libm: cherry-pick one patch from freebsd to fix logb() denormals issue\n"
    },
    {
      "commit": "17edd38f03300af28c89f9031dad177af8232c3a",
      "tree": "55ccc4fe3ee86e3871fa94396f710f1fc795d0b5",
      "parents": [
        "a71aefc66f6d4bf1302e0ce5c321aff1a2c769d1",
        "9c9b0fc7e1dff39baa8cdf2536be9776aa4af766"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Feb 28 13:28:30 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 28 13:28:30 2012 -0800"
      },
      "message": "am 9c9b0fc7: Merge \"libm: cherry-pick one patch from freebsd to fix logb() denormals issue\"\n\n* commit \u00279c9b0fc7e1dff39baa8cdf2536be9776aa4af766\u0027:\n  libm: cherry-pick one patch from freebsd to fix logb() denormals issue\n"
    }
  ],
  "next": "9c9b0fc7e1dff39baa8cdf2536be9776aa4af766"
}
