)]}'
{
  "log": [
    {
      "commit": "e0905c94d37ad8bc0dd259d37866da5d18fb9ccd",
      "tree": "2ddd96ede5e104e7f2816e5b7bd8332b03f9fa44",
      "parents": [
        "42d7468f99a49bd598fca9c3cebba33b9bdd0e57"
      ],
      "author": {
        "name": "Kyle Repinski",
        "email": "repinski23@gmail.com",
        "time": "Tue Apr 28 13:39:41 2015 -0500"
      },
      "committer": {
        "name": "Kyle Repinski",
        "email": "repinski23@gmail.com",
        "time": "Tue Apr 28 14:29:15 2015 -0500"
      },
      "message": "cortex-a9: Fix reference to __memcpy_base_aligned.\n\nWith a different memcpy, __memcpy_base_aligned ceased to exist.\nInstead, point to the name defined by whatever includes memcpy_base.S\n\nChange-Id: I242cf49cbada35337ba155d7f170e86a905ff55f\n"
    },
    {
      "commit": "59bce688c7edfa2479f63a76268cc30f98d1044c",
      "tree": "f4b7bdc40e8525bff6e1750f79c8016e14d9f36c",
      "parents": [
        "682a240c5d6a479ed3b8187ea99044627bf2394c",
        "0a93df369cf3f44d40ca1f0cb4a58aeab42fb39c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Apr 27 17:17:44 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 27 17:17:45 2015 +0000"
      },
      "message": "Merge \"Fix opcode to compile with both gcc and llvm.\""
    },
    {
      "commit": "682a240c5d6a479ed3b8187ea99044627bf2394c",
      "tree": "20d14e2ced435fa6fcc0d518c705f57ba547fcdf",
      "parents": [
        "1d76f1cc8be1f40141adac6147cd51061f1ee0b4",
        "d2177404e28290064e087ecb2655e5fdcb9057e5"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Apr 27 08:19:13 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 27 08:19:16 2015 +0000"
      },
      "message": "Merge \"Update to tzdata 2015c\""
    },
    {
      "commit": "1d76f1cc8be1f40141adac6147cd51061f1ee0b4",
      "tree": "a64dd9fcaf615e61e96064dea7405c9dc0c6336f",
      "parents": [
        "42502d702e1625c9f3337f7a18ea5fc4cfc6090c",
        "3244d9f07fda946d62afdfa61ed5a876d380d0ff"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Apr 26 02:23:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Apr 26 02:23:04 2015 +0000"
      },
      "message": "Merge \"add a fortified implementation of realpath\""
    },
    {
      "commit": "42502d702e1625c9f3337f7a18ea5fc4cfc6090c",
      "tree": "0b2b068e214267f7c5760a91ecac92ac0bcc89be",
      "parents": [
        "2eaff07839393485fec522fd0bd17bbf1af72ca6",
        "4ae773633aac9ceba5ec62bb8e1aa22c3c56ebde"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Apr 25 21:29:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 25 21:29:57 2015 +0000"
      },
      "message": "Merge \"add fortified memchr/memrchr implementations\""
    },
    {
      "commit": "f327fae69cd13a40f8c0519afa0a9505be830a10",
      "tree": "5e55bd15f79b73170dc703b2ab30583e741d4d92",
      "parents": [
        "9a2744df301c509ea48361016ab441c792ec6d5a"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Apr 25 11:59:32 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Apr 25 11:59:32 2015 -0700"
      },
      "message": "Include pthread_atfork.h to mips64 crtbegin\n\nBug: http://b/20339788\nChange-Id: I2a8c7881f90a05ca768cb9b4c2f8b07c74c64469\n"
    },
    {
      "commit": "9a2744df301c509ea48361016ab441c792ec6d5a",
      "tree": "ddb8027705abc3fdfd5355b80407ac49811d484b",
      "parents": [
        "2c256a0f0927abd94f2210b37c18ead210d30477",
        "d1aea30b2ade504550f7bb7996c808b9af1c415d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 25 18:01:18 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 25 18:01:18 2015 +0000"
      },
      "message": "Merge \"Fix POSIX timer thread naming.\""
    },
    {
      "commit": "d1aea30b2ade504550f7bb7996c808b9af1c415d",
      "tree": "5510d43664f9693ccab80e9b68be854d2ce9f859",
      "parents": [
        "2bb93482a7793640205ade2f7316db5b3f5cac19"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 25 10:05:24 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 25 10:05:24 2015 -0700"
      },
      "message": "Fix POSIX timer thread naming.\n\nSpencer Low points out that we never actually set a name because the constant\npart of the string was longer than the kernel\u0027s maximum, and the kernel\nrejects long names rather than truncate.\n\nShorten the fixed part of the string while still keeping it meaningful. 9999\nPOSIX timers should be enough for any process...\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d170089\nChange-Id: Ic05f07584c1eac160743519091a540ebbf8d7eb1\n"
    },
    {
      "commit": "ea295f68f1fae7c701baaa717f67296659d567ac",
      "tree": "745388310ffe715acbfd96b3cedfe55ccb50a2ca",
      "parents": [
        "ebfb55e4cdf03473d66eaf5928fb3c3a8b0c2f85"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Nov 20 20:47:02 2014 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Apr 24 17:57:37 2015 -0700"
      },
      "message": "Unregister pthread_atfork handlers on dlclose()\n\nBug: http://b/20339788\nChange-Id: I874c87faa377645fa9e0752f4fc166d81fd9ef7e\n"
    },
    {
      "commit": "d2177404e28290064e087ecb2655e5fdcb9057e5",
      "tree": "d6d1438ab28a446b421d7dbdbc03cdc2ac7cf50e",
      "parents": [
        "a00a9f0b7ed39589a768798de6a584a4baae030b"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Apr 24 13:56:11 2015 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Apr 24 13:56:11 2015 +0100"
      },
      "message": "Update to tzdata 2015c\n\n  Changes affecting future time stamps\n\n    Egypt\u0027s spring-forward transition is at 24:00 on April\u0027s last Thursday,\n    not 00:00 on April\u0027s last Friday.  2015\u0027s transition will therefore be on\n    Thursday, April 30 at 24:00, not Friday, April 24 at 00:00.  Similar fixes\n    apply to 2026, 2037, 2043, etc.  (Thanks to Steffen Thorsen.)\n\n  Changes affecting past time stamps\n\n    The following changes affect some pre-1991 Chile-related time stamps\n    in America/Santiago, Antarctica/Palmer, and Pacific/Easter.\n\n      The 1910 transition was January 10, not January 1.\n\n      The 1918 transition was September 10, not September 1.\n\n      The UTC-4 time observed from 1932 to 1942 is now considered to be\n      standard time, not year-round DST.\n\n      Santiago observed DST (UTC-3) from 1946-07-15 through 1946-08-31,\n      then reverted to standard time, then switched its time zone to\n      UTC-5 on 1947-04-01.\n\n      Assume transitions before 1968 were at 00:00, since we have no data\n      saying otherwise.\n\n      The spring 1988 transition was 1988-10-09, not 1988-10-02.\n      The fall 1990 transition was 1990-03-11, not 1990-03-18.\n\n      Assume no UTC offset change for Pacific/Easter on 1890-01-01,\n      and omit all transitions on Pacific/Easter from 1942 through 1946\n      since we have no data suggesting that they existed.\n\n    One more zone has been turned into a link, as it differed\n    from an existing zone only for older time stamps.  As usual,\n    this change affects UTC offsets in pre-1970 time stamps only.\n    The zone\u0027s old contents have been moved to the \u0027backzone\u0027 file.\n    The affected zone is America/Montreal.\n\nBug: 20287125\nChange-Id: I8512c4e9ab09725395b256aba59ca34a23d1c995\n"
    },
    {
      "commit": "6c63ee41ac5a246fb46c51753cd4d50ccae0dd8f",
      "tree": "3ed0595fe98662464ea1ad7d6d5e75af9ff851b5",
      "parents": [
        "41ebceaf3ad392b4a3f40d96d5750d95ef206546",
        "094f58fb2a57d1ed5736ae3588bf0355618f915b"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Apr 24 03:49:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 24 03:49:30 2015 +0000"
      },
      "message": "Merge \"Revert \"Unregister pthread_atfork handlers on dlclose()\"\""
    },
    {
      "commit": "094f58fb2a57d1ed5736ae3588bf0355618f915b",
      "tree": "8f41a50086a97f88be5bf98d2a2806a26d854d5a",
      "parents": [
        "6df122f8528f9b9fcf7dfea14ae98b0ef66274e1"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Apr 24 03:45:59 2015 +0000"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Apr 24 03:46:57 2015 +0000"
      },
      "message": "Revert \"Unregister pthread_atfork handlers on dlclose()\"\n\n The visibility control in pthread_atfork.h is incorrect.\n It breaks 64bit libc.so by hiding pthread_atfork.\n\n This reverts commit 6df122f8528f9b9fcf7dfea14ae98b0ef66274e1.\n\nChange-Id: I21e4b344d500c6f6de0ccb7420b916c4e233dd34\n"
    },
    {
      "commit": "e3ecedd306ec16ecb31c6b7d6f9fdcb65c03b70f",
      "tree": "7857fbd884df8bb1edb0abf37b1dad04a9cce08c",
      "parents": [
        "3da9373fe0ada19d13c6c3f9831dee93ec0ba7a6",
        "7280e507b61851bce9b18259368d65b9e950c330"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 23 21:50:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 23 21:50:15 2015 +0000"
      },
      "message": "Merge \"Remove jemalloc.a from libc_nomalloc.a\""
    },
    {
      "commit": "0a93df369cf3f44d40ca1f0cb4a58aeab42fb39c",
      "tree": "76ac32a264a8a007634eb2067e7b9607c8aab93b",
      "parents": [
        "913fe559f69395aaf160653c1d3994df3272810b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Apr 23 14:27:10 2015 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Apr 23 21:40:31 2015 +0000"
      },
      "message": "Fix opcode to compile with both gcc and llvm.\n\nBUG: 17302991\n\nChange-Id: I31febd9ad24312388068803ce247b295bd73b607\n"
    },
    {
      "commit": "3da9373fe0ada19d13c6c3f9831dee93ec0ba7a6",
      "tree": "ef5f36fd86ed71b516a9b88959e2d0ae7ff88b57",
      "parents": [
        "dc405b5230c3d72107b57798a2c23b1a46069f4d",
        "3391a9ff139d57fe4f8a2ff2d81a5ddc230a6208"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 23 21:14:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 23 21:14:25 2015 +0000"
      },
      "message": "Merge \"Simplify close(2) EINTR handling.\""
    },
    {
      "commit": "7280e507b61851bce9b18259368d65b9e950c330",
      "tree": "570080db918c1f3cbaa1858940f0e4bb330fc441",
      "parents": [
        "dc405b5230c3d72107b57798a2c23b1a46069f4d"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 23 12:24:43 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 23 12:24:43 2015 -0700"
      },
      "message": "Remove jemalloc.a from libc_nomalloc.a\n\nChange-Id: I86edc1a6cf3a26c46e6daef2c859459c1b0f29af\n"
    },
    {
      "commit": "3391a9ff139d57fe4f8a2ff2d81a5ddc230a6208",
      "tree": "310c54610766a838a0569f8e44b33e7805b2d42c",
      "parents": [
        "ff18108981aa1fa73696d6db1919cdc38788bd4e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 22 21:40:38 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 23 08:41:45 2015 -0700"
      },
      "message": "Simplify close(2) EINTR handling.\n\nThis doesn\u0027t affect code like Chrome that correctly ignores EINTR on\nclose, makes code that tries TEMP_FAILURE_RETRY work (where before it might\nhave closed a different fd and appeared to succeed, or had a bogus EBADF),\nand makes \"goto fail\" code work (instead of mistakenly assuming that EINTR\nmeans that the close failed).\n\nWho loses? Anyone actively trying to detect that they caught a signal while\nin close(2). I don\u0027t think those people exist, and I think they have better\nalternatives available.\n\nBug: https://code.google.com/p/chromium/issues/detail?id\u003d269623\nBug: http://b/20501816\nChange-Id: I11e2f66532fe5d1b0082b2433212e24bdda8219b\n"
    },
    {
      "commit": "6df122f8528f9b9fcf7dfea14ae98b0ef66274e1",
      "tree": "5a59eb4d1148b6218b8a06895baf6176f17b995b",
      "parents": [
        "ff18108981aa1fa73696d6db1919cdc38788bd4e"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Nov 20 20:47:02 2014 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Apr 22 19:19:37 2015 -0700"
      },
      "message": "Unregister pthread_atfork handlers on dlclose()\n\nChange-Id: I326fdf6bb06bed12743f08980b5c69d849c015b8\n"
    },
    {
      "commit": "7592008030a67ebe0dbda20aa041d5c347170611",
      "tree": "ff2143b9eb4d1f48179ea0605575db36d784451f",
      "parents": [
        "a00a9f0b7ed39589a768798de6a584a4baae030b"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Wed Apr 22 10:37:38 2015 -0700"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Wed Apr 22 10:47:01 2015 -0700"
      },
      "message": "Update the search path for libclang.so\n\nPrebuilt shared libraries (libclang.so, libLLVM.so and etc) have been\nmoved to prebuilts/sdk/tools/linux/lib64. Update the search path in\ncpp.py to match the change.\n\nBug: 20485471\nChange-Id: Ib7784db4d5529d16a1e2bfc07cb0237929bc5a64\n"
    },
    {
      "commit": "a00a9f0b7ed39589a768798de6a584a4baae030b",
      "tree": "80732a5c48eaf573106794d7962818f0824463b7",
      "parents": [
        "da3c4f2f0d86b7e249c9b9b6cdf3bc0225b7178e",
        "6fb8e96e5f6ff2dd3b3aa8eda0a6766d6b3a63f2"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Apr 21 23:44:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 21 23:44:59 2015 +0000"
      },
      "message": "Merge \"Allow building libc long double code with clang/llvm.\""
    },
    {
      "commit": "6fb8e96e5f6ff2dd3b3aa8eda0a6766d6b3a63f2",
      "tree": "f88e0d48c62c381c1ecee547ab2b940cce2a8948",
      "parents": [
        "9923c8cd13d1e8305a908ef23712c7d3e4d4131d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Mar 16 13:49:40 2015 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Apr 21 21:20:37 2015 +0000"
      },
      "message": "Allow building libc long double code with clang/llvm.\n\nThis requires fix of clang\u0027s Android x86 long double size and format.\nThat bug has been fixed in https://android-review.git.corp.google.com/#/c/146254/\n\nChange-Id: I182c6c493085212f88c694356659f72227c8b8c7\n"
    },
    {
      "commit": "3244d9f07fda946d62afdfa61ed5a876d380d0ff",
      "tree": "c7f124de4880d6a79e89373b2ee97fa190a71e10",
      "parents": [
        "af7538b49625f1c1c82e984610f26729a18d56bf"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Sat Apr 18 13:04:19 2015 -0400"
      },
      "committer": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Mon Apr 20 17:31:24 2015 -0400"
      },
      "message": "add a fortified implementation of realpath\n\nChange-Id: Icc59eacd1684f7cddd83d7a2b57dad0c7ada5eb7\n"
    },
    {
      "commit": "72a6fdcdc71df623f8876cf0681dc9364e78b35a",
      "tree": "7a72e9e8a1816e4702e3846063f1d08af71d2368",
      "parents": [
        "af7538b49625f1c1c82e984610f26729a18d56bf"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sat Apr 18 14:07:41 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sat Apr 18 14:10:12 2015 -0700"
      },
      "message": "Fix bug in app_id_from_name in stubs.cpp.\n\nIt seems that a break statement is missing.\n\nBug: 19872411\nChange-Id: I9362783ab726d01f6eb27418563e716dd95688dc\n"
    },
    {
      "commit": "4ae773633aac9ceba5ec62bb8e1aa22c3c56ebde",
      "tree": "08855d690e35a16d9c1cbe68148da64f54f5ebd1",
      "parents": [
        "3875744f89600027c69ea68650fff1eeb4b29723"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Fri Apr 17 18:16:57 2015 -0400"
      },
      "committer": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Fri Apr 17 21:17:12 2015 -0400"
      },
      "message": "add fortified memchr/memrchr implementations\n\nChange-Id: I38c473cc0c608b08f971409a95eb8b853cb2ba1c\n"
    },
    {
      "commit": "42281880a8ac8614832ff918a14e4b950f35d05d",
      "tree": "0823c1e87386aea7417635e176494ab2b9fb89ab",
      "parents": [
        "3875744f89600027c69ea68650fff1eeb4b29723"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Fri Apr 17 11:26:36 2015 -0400"
      },
      "committer": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Fri Apr 17 18:49:12 2015 -0400"
      },
      "message": "add fortified readlink/readlinkat implementations\n\nChange-Id: Ia4b1824d20cad3a072b9162047492dade8576779\n"
    },
    {
      "commit": "3875744f89600027c69ea68650fff1eeb4b29723",
      "tree": "dec2852717151c4004af3e36df748279a88a990a",
      "parents": [
        "fc4850e37b713eae12d0bde7f6e0b4e9b444bfef",
        "2a815361448d01b0f4e575f507ce31913214c536"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Apr 17 03:57:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 17 03:57:46 2015 +0000"
      },
      "message": "Merge \"Support symbol versioning\""
    },
    {
      "commit": "2a815361448d01b0f4e575f507ce31913214c536",
      "tree": "82b941e908b54d6d48ef04495ff2808aa2823ae1",
      "parents": [
        "c6ccdfaf1ff4665ec96962863054263510d73e7b"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 09 13:42:33 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 16 17:57:30 2015 -0700"
      },
      "message": "Support symbol versioning\n\nBug: http://b/20139821\nChange-Id: I64122a0fb0960c20b2ce614161b7ab048456b681\n"
    },
    {
      "commit": "a9325133aad79c079bf34aafa85c0544ef940f8c",
      "tree": "e9ffed5da916e879f509599e86036accfec216db",
      "parents": [
        "31128da28f561152f5b663e6b4849691b3951525"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 16 17:56:12 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 16 17:56:12 2015 -0700"
      },
      "message": "Fix clang build.\n\nChange-Id: I70a9ebe806cb4f7e23a7d8e486157ddd70ae3008\n"
    },
    {
      "commit": "31128da28f561152f5b663e6b4849691b3951525",
      "tree": "1e7a2e6bf9b060f2ad5bfcddc9fa0f7333085e5f",
      "parents": [
        "f84a5c6c5c5fa2507458086a2f9a077bd9e2c9ec",
        "e7e1c875b0f8eefb1d771f200a58f54e64c39d55"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 17 00:34:26 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 17 00:34:26 2015 +0000"
      },
      "message": "Merge \"add fortified implementations of pread/pread64\""
    },
    {
      "commit": "14af27a147b5e91eeb8632a3f99d4b6cc2ed26dc",
      "tree": "d9cf9e0d7d9b762b2e6bd7fdbfbd6c7a4028dd28",
      "parents": [
        "a40cb0ca7fe8ddc146831e92ec543be9feb26a65",
        "43e020ce936aa18e071664de198adfaa71af2d82"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 16 19:57:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 16 19:58:00 2015 +0000"
      },
      "message": "Merge \"Remove PROP_PATH_SYSTEM_DEFAULT.\""
    },
    {
      "commit": "e7e1c875b0f8eefb1d771f200a58f54e64c39d55",
      "tree": "f6f7d5465c32d2dc7144c9e46b8b57da480f8528",
      "parents": [
        "a40cb0ca7fe8ddc146831e92ec543be9feb26a65"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Thu Apr 16 09:07:45 2015 -0400"
      },
      "committer": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Thu Apr 16 10:33:35 2015 -0400"
      },
      "message": "add fortified implementations of pread/pread64\n\nChange-Id: Iec39c3917e0bc94371bd81541619392f5abe29b9\n"
    },
    {
      "commit": "a40cb0ca7fe8ddc146831e92ec543be9feb26a65",
      "tree": "4bf0c59669d2bb2bce605a400a49de7eaf62c723",
      "parents": [
        "12d89027457b4d5dce6c3a7fd01a2951f273d9a9",
        "163ab8ba86deb991c73152e6828f270cc71dc4c5"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 16 08:06:02 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 16 08:06:03 2015 +0000"
      },
      "message": "Merge \"Call __cxa_thread_finalize for the main thread.\""
    },
    {
      "commit": "12d89027457b4d5dce6c3a7fd01a2951f273d9a9",
      "tree": "59aa3a26db9cb0fc11d9ae6b3c6abcc05d60dc36",
      "parents": [
        "2587c6a2f0f946bd7c1e526c20b2623c01accd60",
        "c0f89283cc746ff7d6f6be405c603435b8b02657"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Apr 16 04:42:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 16 04:42:38 2015 +0000"
      },
      "message": "Merge \"Update the number of jemalloc reserved keys.\""
    },
    {
      "commit": "2587c6a2f0f946bd7c1e526c20b2623c01accd60",
      "tree": "6d45690a29969aed3585d62f947aa5c537548440",
      "parents": [
        "c6ccdfaf1ff4665ec96962863054263510d73e7b",
        "95f1ee235ae257802a94d7e94d476ea0aaea5cd8"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Apr 16 01:08:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 16 01:08:25 2015 +0000"
      },
      "message": "Merge \"Change on handling of SIGEV_THREAD timers.\""
    },
    {
      "commit": "95f1ee235ae257802a94d7e94d476ea0aaea5cd8",
      "tree": "cf163cac0ade7c84c7c07bbffcd8f5e07201a0d4",
      "parents": [
        "447cd19681cfd0a71282c87d1b32a7757bbaba81"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Jan 13 19:53:15 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Apr 15 17:36:01 2015 -0700"
      },
      "message": "Change on handling of SIGEV_THREAD timers.\n\n1. Don\u0027t prevent calling callback when SIGEV_THREAD timers are disarmed by timer_settime.\nAs in POSIX standard: The effect of disarming or resetting a timer with pending\nexpiration notifications is unspecified. And glibc didn\u0027t prevent in this situation, so I\nthink it is fine to remove the support.\n2. Still prevent calling callback when SIGEV_THREAD timers are deleted by timer_delete.\nAs in POSIX standard: The disposition of pending signals for the deleted timer is unspecified.\nHowever, glibc handles this (although that is not perfect). And some of our tests in\ntime_test.cpp depend on this feature as described in b/18039727. so I retain the support.\n3. Fix some flaky test in time_test.cpp, and make \"time*\" test pass on bionic-unit-tests-glibcxx.\n\nBug: 18263854\n\nChange-Id: I8ced184eacdbfcf433fd81b0c69c38824beb8ebc\n"
    },
    {
      "commit": "c0f89283cc746ff7d6f6be405c603435b8b02657",
      "tree": "0690eb5fe3efb43bba6ce8a465d281ce944e5268",
      "parents": [
        "cafc948069d447aa1e4dde599ee83bf6c0c5d5d8"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 15 16:34:57 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 15 17:20:10 2015 -0700"
      },
      "message": "Update the number of jemalloc reserved keys.\n\njemalloc now uses a single key pointing to a structure rather\nthan multiple keys.\n\nChange-Id: Ib76185a594ab2cd4dc400d9a7a5bc0a57a7ac92d\n"
    },
    {
      "commit": "43e020ce936aa18e071664de198adfaa71af2d82",
      "tree": "ed7684f20de8c5729ee0842616dbf545ac19ee5c",
      "parents": [
        "cafc948069d447aa1e4dde599ee83bf6c0c5d5d8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 15 17:03:43 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 15 17:03:43 2015 -0700"
      },
      "message": "Remove PROP_PATH_SYSTEM_DEFAULT.\n\nChange-Id: Ib01d9c2f9d890eb5e7ba1e15bd11767195e84967\n"
    },
    {
      "commit": "163ab8ba86deb991c73152e6828f270cc71dc4c5",
      "tree": "fdaf88cdc6ae4788a95f2f527e35fa869398397f",
      "parents": [
        "8f3f04184a5772b421867b59acd3d0dfbc6fa4eb"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Apr 15 15:31:51 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Apr 15 16:24:21 2015 -0700"
      },
      "message": "Call __cxa_thread_finalize for the main thread.\n\nBug: http://b/20231984\nBug: http://b/16696563\nChange-Id: I71cfddd0d404d1d4a593ec8d3bca9741de8cb90f\n"
    },
    {
      "commit": "66aa0b61f736678e97a0cfaf975052881a23651b",
      "tree": "0377a161a2d6745f88c73bd6474916efb1dcaa99",
      "parents": [
        "cafc948069d447aa1e4dde599ee83bf6c0c5d5d8"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Apr 15 14:07:28 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Apr 15 14:23:00 2015 -0700"
      },
      "message": "Hide emutls* symbols in libc.so\n\n Also make thread_local in test static to avoid ld.bfd\n warning for arm64.\n\nChange-Id: I09a3f2aa9b73a4fafa3f3bbc64ddc2a128ad50ee\n"
    },
    {
      "commit": "940d3122c9c88eb3e46f8862a02a668fa0f4cf2b",
      "tree": "50014fbeeb9e07c364695063a35fe0f8c4e6cfce",
      "parents": [
        "a529efac4efa4641186fef5003752cc1c43ec763"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 14 17:02:31 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 14 17:02:31 2015 -0700"
      },
      "message": "Fix addition of extra arg to cfi_restore.\n\nChange-Id: I8fdcc1ae3e91b69ccbcec756a89e1ccb4fa1be53\n"
    },
    {
      "commit": "a529efac4efa4641186fef5003752cc1c43ec763",
      "tree": "6b4284a31b14fd8ca627f4b3845f860d18be4c85",
      "parents": [
        "8f3f04184a5772b421867b59acd3d0dfbc6fa4eb",
        "605ee81b0660760dd191f2e2de4c4c92dca5192f"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 14 23:43:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 14 23:43:09 2015 +0000"
      },
      "message": "Merge \"Add missing cfi directives for x86 assembler.\""
    },
    {
      "commit": "605ee81b0660760dd191f2e2de4c4c92dca5192f",
      "tree": "74eaa050e8de122e4615f326f27f458367337718",
      "parents": [
        "447cd19681cfd0a71282c87d1b32a7757bbaba81"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Apr 13 14:20:11 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 14 16:42:10 2015 -0700"
      },
      "message": "Add missing cfi directives for x86 assembler.\n\nChange-Id: I80d3e33a71bbaeab5f39b667ebe61e865fd54b80\n"
    },
    {
      "commit": "8f3f04184a5772b421867b59acd3d0dfbc6fa4eb",
      "tree": "df95970c47bdea9e89cb5f64ef69f9ff39aef5d5",
      "parents": [
        "447cd19681cfd0a71282c87d1b32a7757bbaba81",
        "5ddbb3f936ee44555a46020239e49ab45109a806"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Apr 14 20:35:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 14 20:35:08 2015 +0000"
      },
      "message": "Merge \"Prevent using static-allocated pthread keys before creation.\""
    },
    {
      "commit": "5ddbb3f936ee44555a46020239e49ab45109a806",
      "tree": "70395ecf0897580781856c68cbcd57019ff831e3",
      "parents": [
        "4bd8f9637daaada333ff35945b00cfe6cb822376"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 05 20:35:32 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Apr 14 13:32:09 2015 -0700"
      },
      "message": "Prevent using static-allocated pthread keys before creation.\n\nBug: 19993460\n\nChange-Id: I244dea7f5df3c8384f88aa48d635348fafc9cbaf\n"
    },
    {
      "commit": "9ce9bf5aec5ed2ec75acdc05f00a49728563a782",
      "tree": "f36b6d3335852331dbd772f00403c95697401827",
      "parents": [
        "0a92ac884891b167d6393592fbf9ecf26218f9aa",
        "c0e7dbb1dbe92c9e72bdbd299fa50786fd751807"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 09 22:14:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 09 22:14:09 2015 +0000"
      },
      "message": "Merge \"Add Elfxx_Ver* types\""
    },
    {
      "commit": "c0e7dbb1dbe92c9e72bdbd299fa50786fd751807",
      "tree": "0ce95df4df3fda299841ee858a03b02576ca663e",
      "parents": [
        "598493e725e0298ae11ddbdee62c3a7007eb503c"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 09 13:58:53 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 09 13:58:53 2015 -0700"
      },
      "message": "Add Elfxx_Ver* types\n\nBug: http://b/20139821\nChange-Id: I7a367b08faa3bf5c005996c066cd35709f533265\n"
    },
    {
      "commit": "0a92ac884891b167d6393592fbf9ecf26218f9aa",
      "tree": "8baa5513bf87ae3c87e47a4d5f66a030d3f3e7ce",
      "parents": [
        "9f2c2f53d372001ac6565b060a07d4416ca58e47",
        "41efc92e35d1922e246230bac72da0054b3c6db3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Apr 09 17:41:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 09 17:41:58 2015 +0000"
      },
      "message": "Merge \"Use assembly memmove for all arm32 processors.\""
    },
    {
      "commit": "9f2c2f53d372001ac6565b060a07d4416ca58e47",
      "tree": "6ad666e24eb8f32caa68dc1740cba8b0706b33a2",
      "parents": [
        "f9ff2eeaeeb841fa9f197ee8b6bc9521e63210dd",
        "76615dae93c18ac890e167c547a08c0228709a33"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Apr 09 17:19:02 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 09 17:19:44 2015 +0000"
      },
      "message": "Merge \"Provide writer preference option in rwlock.\""
    },
    {
      "commit": "aba687a09cc3a5014f692e8f215e136da01dfd5d",
      "tree": "5448099f2ad783d6b8b20ac5e28e7705be19b0b9",
      "parents": [
        "694282b1726a6c5f64df3695594bf23707cf4771"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Apr 08 18:26:22 2015 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Apr 09 11:15:27 2015 +0100"
      },
      "message": "Upgrade timezone data to 2015b\n\n  Changes affecting future time stamps\n\n    Mongolia will start observing DST again this year, from the last\n    Saturday in March at 02:00 to the last Saturday in September at 00:00.\n    (Thanks to Ganbold Tsagaankhuu.)\n\n    Palestine will start DST on March 28, not March 27.  Also,\n    correct the fall 2014 transition from September 26 to October 24.\n    Adjust future predictions accordingly.  (Thanks to Steffen Thorsen.)\n\n  Changes affecting past time stamps\n\n    The 1982 zone shift in Pacific/Easter has been corrected, fixing a 2015a\n    regression.  (Thanks to Stuart Bishop for reporting the problem.)\n\n    Some more zones have been turned into links, when they differed\n    from existing zones only for older time stamps.  As usual,\n    these changes affect UTC offsets in pre-1970 time stamps only.\n    Their old contents have been moved to the \u0027backzone\u0027 file.\n    The affected zones are: America/Antigua, America/Cayman,\n    Pacific/Midway, and Pacific/Saipan.\n\n  Changes affecting time zone abbreviations\n\n    Correct the 1992-2010 DST abbreviation in Volgograd from \"MSK\" to \"MSD\".\n    (Thanks to Hank W.)\n\nBug: 19887183\nChange-Id: I1b4bdc5ae5cf778908a77893d7f8db8a4117e1e1\n"
    },
    {
      "commit": "694282b1726a6c5f64df3695594bf23707cf4771",
      "tree": "0ce7b2c51714579e872dd0a11f2f96d04138992c",
      "parents": [
        "5cf46f81ead958f43178ee8f613432b5f66045e5",
        "4d3abcb033fcf84d1f7d04630273c1a2f7e51a4f"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Apr 09 09:39:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 09 09:39:57 2015 +0000"
      },
      "message": "Merge \"Update update-tzdata.py tool to generate ICU4J data jars\""
    },
    {
      "commit": "4d3abcb033fcf84d1f7d04630273c1a2f7e51a4f",
      "tree": "fdaf1d4bb89a89d30a7f921a49900b8a243d8750",
      "parents": [
        "957f6188fa7494ea8b7701b14df4c9127d27a9ef"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Apr 09 09:22:25 2015 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Apr 09 09:38:31 2015 +0000"
      },
      "message": "Update update-tzdata.py tool to generate ICU4J data jars\n\nThe ICU4J changes are not necessary for use on Android (since\nwe use the ICU4C .dat file), but updating them ensures that\nthe .jars in sync with everything else and the jars are currently\nrequired for host tests.\n\nChange-Id: Ie56b31af87e8fbd27a6489af8287e4b6a7be6b8f\n"
    },
    {
      "commit": "41efc92e35d1922e246230bac72da0054b3c6db3",
      "tree": "ec91574cbffff374a8120288a75916f1fd4066f2",
      "parents": [
        "598493e725e0298ae11ddbdee62c3a7007eb503c"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Apr 02 15:47:35 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 08 16:53:16 2015 -0700"
      },
      "message": "Use assembly memmove for all arm32 processors.\n\nBug: 15110993\nChange-Id: Ia3dcd6b8c4032f8c72b6f2e628b635ce99667c09\n"
    },
    {
      "commit": "76615dae93c18ac890e167c547a08c0228709a33",
      "tree": "12a7e87c6fb332bebc087f43bcf29b2f7827571e",
      "parents": [
        "4bd8f9637daaada333ff35945b00cfe6cb822376"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 17 14:22:09 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Apr 08 13:11:13 2015 -0700"
      },
      "message": "Provide writer preference option in rwlock.\n\nPrevious implementation of rwlock contains four atomic variables, which\nis hard to maintain and change. So I make following changes in this CL:\n\n1. Add pending flags in rwlock.state, so we don\u0027t need to synchronize\nbetween different atomic variables. Using compare_and_swap operations\non rwlock.state is enough for all state change.\n\n2. Add pending_lock to protect readers/writers waiting and wake up\noperations. As waiting/wakeup is not performance critical, using a\nlock is easier to maintain.\n\n3. Add writer preference option.\n\n4. Add unit tests for rwlock.\n\nBug: 19109156\n\nChange-Id: Idcaa58d695ea401d64445610b465ac5cff23ec7c\n"
    },
    {
      "commit": "598493e725e0298ae11ddbdee62c3a7007eb503c",
      "tree": "dd072bfa9a91c38092137d2d22b3932020da31fa",
      "parents": [
        "957f6188fa7494ea8b7701b14df4c9127d27a9ef",
        "cd13b14e98d4921af126667fae0cf6613a5615c5"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Apr 07 19:21:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 07 19:21:32 2015 +0000"
      },
      "message": "Merge \"Stop libc from cross-referencing unwind symbols\""
    },
    {
      "commit": "957f6188fa7494ea8b7701b14df4c9127d27a9ef",
      "tree": "5fc7a3f119097868ec998d24542088619943fa8d",
      "parents": [
        "9fbd8fd4bc1767b65abd0fdbdb5e35cdc4dafe13",
        "1f95ffecc22995abe6ac8cdd6dbb74f6f9a42b2f"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Apr 07 12:55:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 07 12:55:07 2015 +0000"
      },
      "message": "Merge \"Changes to re-enable overrides for tz data\""
    },
    {
      "commit": "cd13b14e98d4921af126667fae0cf6613a5615c5",
      "tree": "f1b4997430589c150f77f44b56afa6b0e81a964f",
      "parents": [
        "e686df8d839216460f02cf7db6c4e26a13e49afd"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Apr 03 18:41:42 2015 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Apr 07 01:48:35 2015 +0000"
      },
      "message": "Stop libc from cross-referencing unwind symbols\n\n  This makes unwind symbols \u0027protected\u0027,\n  which should prevent them from relocating\n  against libc++.so/libcutls.so.\n\n  This is temporary file and it is going\n  to be removed once libc.so stops exporting\n  them.\n\nBug: http://b/19958712\nChange-Id: I96a765afe47e68d2e2ceb288870e63a25ca52081\n"
    },
    {
      "commit": "4bd8f9637daaada333ff35945b00cfe6cb822376",
      "tree": "558ae0624aff54953ca601079a3560f7340467ff",
      "parents": [
        "e686df8d839216460f02cf7db6c4e26a13e49afd",
        "f796985923e2d8308e00ed9567f36546dafb98d7"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sat Apr 04 19:31:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 04 19:31:55 2015 +0000"
      },
      "message": "Merge \"Fix bug for recursive/errorcheck mutex on 32-bit devices.\""
    },
    {
      "commit": "f796985923e2d8308e00ed9567f36546dafb98d7",
      "tree": "4fd9bbdae36ecfd15a4e08cdad3c7818995760ec",
      "parents": [
        "06b6e3c51d38d70c5ca99f3a3f795697031ac27f"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Apr 02 17:47:48 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Apr 03 19:01:17 2015 -0700"
      },
      "message": "Fix bug for recursive/errorcheck mutex on 32-bit devices.\n\nBug: 19216648\nChange-Id: I3b43b2d18d25b9bde352da1e35f9568133dec7cf\n"
    },
    {
      "commit": "dffd3c58389103d6ee712fac6544217c00c1f315",
      "tree": "b2c977a1277b2bcc93224c5800cdd904ae2859db",
      "parents": [
        "ec8b3a7dde3c282c4f9ca5c8bf5a7e1b7469def0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 03 13:37:18 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 03 13:37:18 2015 -0700"
      },
      "message": "Try again to fix clang build.\n\nI got the condition the wrong way round in the previous change.\n\nBug: http://b/20065774\nChange-Id: I218b224b37f5fb2f7c7ec2f9af27472b340c4b15\n"
    },
    {
      "commit": "0975a5d9d29019e764dc0ab2ddc75759bebffb9b",
      "tree": "6a9846314994f6a4987a5670f04bea2a27b84c89",
      "parents": [
        "aea165cb03abceb85062e94f22f72e1c9d9800a4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 03 13:09:10 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 03 13:10:04 2015 -0700"
      },
      "message": "Fix clang build.\n\nApparently clang really doesn\u0027t want you to take the address of a builtin.\nSince this is only a temporary hack, let\u0027s just shrug and accept that\nclang-built volantis images won\u0027t work until we have new NVIDIA blobs.\n\nBug: http://b/20065774\nChange-Id: I4c8e893b15a1af8f9c54d3f89bfef112b63d09b4\n"
    },
    {
      "commit": "aea165cb03abceb85062e94f22f72e1c9d9800a4",
      "tree": "0198e16b3f8c44754be9bf8501794a344b3232db",
      "parents": [
        "b1f1de4dd4b1a3802abd5284de9ebfe6a98057f1",
        "9b82136b987bc01224e3b42732334ea27c97d188"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Apr 03 19:45:24 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 03 19:45:24 2015 +0000"
      },
      "message": "Merge \"Add ANDROID_DLEXT_FORCE_LOAD flag\""
    },
    {
      "commit": "76e1cbca75e9fdaf7a7943f2c58e65433b283f4a",
      "tree": "71f98b1cf8521c3c2111bf375707d8aebf653cf9",
      "parents": [
        "06b6e3c51d38d70c5ca99f3a3f795697031ac27f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 03 11:27:53 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 03 12:37:03 2015 -0700"
      },
      "message": "Fix volantis boot.\n\nNVIDIA binary blobs are assuming that __cache_clear, _Unwind_Backtrace,\nand _Unwind_GetIP are all in some library that they link, but now we\u0027ve\ncleaned up this leakage, they\u0027re no longer getting it. Deliberately leak\nthe symbols from libc.so until we get new blobs.\n\nBug: http://b/20065774\nChange-Id: I92ef07b2bce8d1ad719bf40dab41d745cd6904d4\n"
    },
    {
      "commit": "9b82136b987bc01224e3b42732334ea27c97d188",
      "tree": "036facba010c670c5d6bfc3fa9dbb2de0f28caf8",
      "parents": [
        "ab7c79e22e5495a2aa171047a044ce1037e461a9"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 02 16:03:56 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Apr 03 10:50:48 2015 -0700"
      },
      "message": "Add ANDROID_DLEXT_FORCE_LOAD flag\n\n  This flag allows to force loading of the library\n  in the case when for some reason multiple ELF files\n  share the same filename (because the already-loaded\n  library has been removed and overwritten, for example).\n\nChange-Id: I798d44409ee13d63eaa75d685e99c4d028d2b0c1\n"
    },
    {
      "commit": "d619d6ffb876de6a8f051c850762a6f7a7e55c76",
      "tree": "c50f917aa5ae75df61118ec8b3050ff72b3811ae",
      "parents": [
        "00d1101cc170ce786f26143a897b4a3e3363b55f",
        "b0cf9288cd4c09fcad8dc8e04b18cc4d8d13bd71"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 02 20:35:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 02 20:35:22 2015 +0000"
      },
      "message": "Merge \"Remove _memset16 and _memset32 from mips/mips64 bionic.\""
    },
    {
      "commit": "00d1101cc170ce786f26143a897b4a3e3363b55f",
      "tree": "38c9343d5aa084c672c6932787c8adab09851c68",
      "parents": [
        "618935d2679e84cc839316c042ee3dde5f7d7097",
        "e69c24543db577d8b219ab74b0ba7566e0f13b38"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Apr 02 20:27:40 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 02 20:27:40 2015 +0000"
      },
      "message": "Merge \"Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices.\""
    },
    {
      "commit": "b0cf9288cd4c09fcad8dc8e04b18cc4d8d13bd71",
      "tree": "9a5f711cb13ba3a0fc35c829ffcc52e5b9ce79a0",
      "parents": [
        "202af3a23cb23e2571011ea76367ff3e88dfd48e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 02 10:34:58 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 02 10:34:58 2015 -0700"
      },
      "message": "Remove _memset16 and _memset32 from mips/mips64 bionic.\n\nThese should be in libcutils instead.\n\nChange-Id: Ibbc94755e6da61bf9ce2c8f9a047a082bb9bce24\n"
    },
    {
      "commit": "e69c24543db577d8b219ab74b0ba7566e0f13b38",
      "tree": "5591f3540876c166a08b80815d1d257d8b98a5eb",
      "parents": [
        "611fd2cc91f79be6759f6e630e1e81998326dfe8"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Feb 13 16:21:25 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Apr 01 21:12:22 2015 -0700"
      },
      "message": "Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices.\n\nBug: 19216648\nChange-Id: I765ecacc9036659c766f5d1f6600e1a65364199b\n"
    },
    {
      "commit": "d6bf3d5e19f192dc1949b573d931d487c42730fa",
      "tree": "6cf22de9eb63e28b7447f58b13b326f69dce4ca4",
      "parents": [
        "b023799a6027924aad13b0f91c0b5b7f1b9cfe2d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Apr 01 16:26:54 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Apr 01 16:31:57 2015 -0700"
      },
      "message": "Don\u0027t export new/delete from libc shared libraries.\n\nThis used to be handled by -fvisibility\u003dhidden on libc_cxa, but that\nwas broken by the resolution of https://llvm.org/PR22419 (introduced\nto Android in today\u0027s clang update).\n\nNow we just use a version script that prevents these from being\nre-exported from our shared libraries.\n\nChange-Id: Ib290e1d0d7426e09ad17a91178162fff6dbdcfa9\n"
    },
    {
      "commit": "8f41142cd631bdd8bf02dcfbb599e5edbfcbd67e",
      "tree": "b2e6fad76801d3b01b152f2d7e2c12eca15d2e2c",
      "parents": [
        "72035734af2d8558a3ccd7e29626216e20aed6f2",
        "56b276817690f09305b9657a10f4ae4e1d79a0da"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 00:55:18 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 01 00:55:19 2015 +0000"
      },
      "message": "Merge \"stubs missing include for string.h\""
    },
    {
      "commit": "72035734af2d8558a3ccd7e29626216e20aed6f2",
      "tree": "79845d03ea05dde1110a1650aa8531cafcd6081d",
      "parents": [
        "89a4a54104d566bbfd226ed1e3abcf047b871690",
        "6170693e28dd72a1517c267f3f62b3f37477b8bb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 01 00:51:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 01 00:51:57 2015 +0000"
      },
      "message": "Merge \"Make ThreadLocalBuffer a class rather than a macro.\""
    },
    {
      "commit": "56b276817690f09305b9657a10f4ae4e1d79a0da",
      "tree": "0da9eac7232f1be01aee4cfd59dc8cdbb97a5905",
      "parents": [
        "89a4a54104d566bbfd226ed1e3abcf047b871690"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Mar 31 16:55:42 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Mar 31 16:58:35 2015 -0700"
      },
      "message": "stubs missing include for string.h\n\nstubs.cpp gets string.h inherited from private/android_filesystem_config.h\nit should not rely on this in the future. The intent is to move fs_config\nfunction into libcutils and thus deprecate any need for string.h in this\ninclude file.\n\nChange-Id: I946ec1979ef5bbb34fbcb4a99bf2cd79280bb2a3\n"
    },
    {
      "commit": "e01d32f8022966df2c1e697b679f9efe148c12c8",
      "tree": "f53275590405d0b242e19d355fc5d4d441bbaa10",
      "parents": [
        "611fd2cc91f79be6759f6e630e1e81998326dfe8"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 31 14:57:48 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 31 14:57:48 2015 -0700"
      },
      "message": "Upgrade kernel headers to 3.18.10.\n\nChange-Id: Iff1f1c830780585990856a5114b559c61282dcd6\n"
    },
    {
      "commit": "6170693e28dd72a1517c267f3f62b3f37477b8bb",
      "tree": "f7cf73e397d83074a6da0b6cce4459b51af334cf",
      "parents": [
        "611fd2cc91f79be6759f6e630e1e81998326dfe8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 31 10:56:58 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 31 10:56:58 2015 -0700"
      },
      "message": "Make ThreadLocalBuffer a class rather than a macro.\n\nBug: 19995392\nChange-Id: I497c512648fbe66257da3fb3bcd5c9911f983705\n"
    },
    {
      "commit": "ef115003012f61cf5539fdfeb201b98e4a92f610",
      "tree": "d546925be11de056c9c2611fb75d91273cd10303",
      "parents": [
        "8225ad63fac7c5cc298884c101a344959b87dc39"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Mar 30 20:03:57 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Mar 30 20:51:39 2015 -0700"
      },
      "message": "Revert \"Revert \"add guard pages to the internal signal stacks\"\"\n\nThis reverts commit a3125fd1396a09a7fc4872dc4653f342150a3deb.\nAnd Fix the prctl() problem that cause system crash.\n\nChange-Id: Icc8d12d848cfba881a7984ca2827fd81be41f9fd\n"
    },
    {
      "commit": "a3125fd1396a09a7fc4872dc4653f342150a3deb",
      "tree": "5042f453214b2d176c601710c87350c30c7f3944",
      "parents": [
        "595752f623ae88f7e4193a6e531a0805f1c6c4dc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 31 02:42:39 2015 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 31 02:42:39 2015 +0000"
      },
      "message": "Revert \"add guard pages to the internal signal stacks\"\n\nThis reverts commit 595752f623ae88f7e4193a6e531a0805f1c6c4dc.\n\nChange-Id: Iefa66e9049ca0424e53cd5fc320d161b93556dcb\n"
    },
    {
      "commit": "595752f623ae88f7e4193a6e531a0805f1c6c4dc",
      "tree": "2a8d25e25b042f04146725c7a287619e2892940c",
      "parents": [
        "203082b8217cd853eee510ad371b382701960610"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Sun Mar 29 00:03:55 2015 -0400"
      },
      "committer": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Mon Mar 30 17:13:20 2015 -0400"
      },
      "message": "add guard pages to the internal signal stacks\n\nSignal handlers tend to be lean, but can still overflow the (tiny)\nstack.\n\nChange-Id: Ia21c6453d92a9f8d1536ad01ff26a1a84c05f8fb\n"
    },
    {
      "commit": "402d19945092eee87cfb6c029c98ccb4fb40d2c6",
      "tree": "fed0256e34404fee5603fe4a862190a949f8c522",
      "parents": [
        "cd79a59b18f8e81b5f37258f376a726dc8acb81a"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Mar 27 15:27:07 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Mar 27 15:27:07 2015 -0700"
      },
      "message": "Fix libstdc++.so hash-style.\n\nBug: 19059885\nBug: 19958712\nChange-Id: I167457a54cc688d64912a50f5fb75e4e2f3e3937\n"
    },
    {
      "commit": "8f3eb5a4e5dbbac1fb431e40e25eec07ecc24ee8",
      "tree": "6eaa84d2960c9e3788093101dd9ae2c9d9426ad7",
      "parents": [
        "7c01e3a9ba80c85c7e7998d2347885e9a6e3bbf2",
        "220b99bdc1c5f51825ac2a87062bc05fe3e0d722"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 26 18:14:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 26 18:14:23 2015 +0000"
      },
      "message": "Merge \"Revert \"Cause Fatal error when invalid pthread_id is detected.\"\""
    },
    {
      "commit": "220b99bdc1c5f51825ac2a87062bc05fe3e0d722",
      "tree": "a152db94f166379d6691f67b09ff142e768e7ebe",
      "parents": [
        "03324780aae9ff28c8acf52debf0ea39120e5ab8"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 26 18:13:07 2015 +0000"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 26 18:13:07 2015 +0000"
      },
      "message": "Revert \"Cause Fatal error when invalid pthread_id is detected.\"\n\nSome code like in https://buganizer.corp.google.com/u/0/issues/19942911 need to change first.\n\nThis reverts commit 03324780aae9ff28c8acf52debf0ea39120e5ab8.\n\nChange-Id: I13ff1e5b3d0672bae9cde234ffba32fbbf33d338\n"
    },
    {
      "commit": "f2d153f836e529892854b91452fabd2c2fa79c05",
      "tree": "ed380102ca80fbfcf2b0b716d90d7237ec067132",
      "parents": [
        "7f8d91ea8e24e89db39ae868085913e763e04557",
        "df79c330d895af31f39ee301dee62731fa586168"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Mar 26 17:50:23 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 26 17:50:23 2015 +0000"
      },
      "message": "Merge \"Initial implementation of __cxa_thread_atexit_impl\""
    },
    {
      "commit": "377243b78c43ffc98a6c9f145a6cd27ab99c08f0",
      "tree": "af26d1303252310ad63ad94e8e13b3f1edc169a0",
      "parents": [
        "69847bc298de62917663d22b6733ef75b57124fa"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 25 19:59:00 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 25 21:02:36 2015 -0700"
      },
      "message": "Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER.\n\nThese macros are also not used in glibc. And we should use\nPTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP\nand PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP instead.\n\nChange-Id: I35195e2f499712dcde9305bbb93622d0f7ca874b\n"
    },
    {
      "commit": "df79c330d895af31f39ee301dee62731fa586168",
      "tree": "7129c6e46b2c150027605af4c6f08c1e6de24815",
      "parents": [
        "0c3b632bd6570064bab1055d2b8a51cfb85e60bb"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Mar 25 17:38:10 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Mar 25 18:07:59 2015 -0700"
      },
      "message": "Initial implementation of __cxa_thread_atexit_impl\n\n  This is initial implementations; does not yet handle\n  dlclose - undefined behavior, needs linker support to\n  handle it right.\n\nBug: 19800080\nBug: 16696563\nChange-Id: I7a3e21ed7f7ec01e62ea1b7cb2ab253590ea0686\n"
    },
    {
      "commit": "17393b06bab9cb3e95d0f466a56c746de19b8eee",
      "tree": "fa260e58da8fe186bca7787e3d7645a86b2f79cb",
      "parents": [
        "fa3dcecc0fd7bbbf04234e41be690a5d33277870"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sat Mar 21 15:08:25 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 25 17:54:17 2015 -0700"
      },
      "message": "Hide internal of pthread_mutex_t.\n\nBug: 19249079\nChange-Id: Iffb79c8d861b698d474f212dc80c638fc2cf1620\n"
    },
    {
      "commit": "fa3dcecc0fd7bbbf04234e41be690a5d33277870",
      "tree": "40aa292e270995082468d8159caa0ec694664d58",
      "parents": [
        "36d5b6f47dd14fd9733d935174d2b8e0deb979c6",
        "799cb35f45a161de96b272de38724f77e988f5f3"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 26 00:26:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 26 00:26:59 2015 +0000"
      },
      "message": "Merge \"Fix in error handling in pthread_create.cpp.\""
    },
    {
      "commit": "799cb35f45a161de96b272de38724f77e988f5f3",
      "tree": "2bb1b0a74646c3295d8b862019431e78e08f975f",
      "parents": [
        "0c3b632bd6570064bab1055d2b8a51cfb85e60bb"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 25 16:18:21 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 25 16:18:21 2015 -0700"
      },
      "message": "Fix in error handling in pthread_create.cpp.\n\nIt is due to a previous change \"Let g_thread_list_lock only protect g_thread_list\".\nWe need to add the newly created thread to thread_list even if\n__init_thread fails, so the thread can exit successfully.\n\nChange-Id: I0332df11acfdd181350bcc092b12d90d679057a4\n"
    },
    {
      "commit": "03324780aae9ff28c8acf52debf0ea39120e5ab8",
      "tree": "0b20e663701fc040c406d7f7014680b63b73f5ed",
      "parents": [
        "0c3b632bd6570064bab1055d2b8a51cfb85e60bb"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 24 17:43:14 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 25 15:30:39 2015 -0700"
      },
      "message": "Cause Fatal error when invalid pthread_id is detected.\n\nThis is a patch testing whether we can use abort() instead of\nreturning ESRCH for invalid pthread ids. It is an intermediate\nstep to remove g_thread_list/g_thread_list_lock.\n\nBug: 19636317\nChange-Id: Idd8e4a346c7ce91e1be0c2ebcb78ce51c0d0a31d\n"
    },
    {
      "commit": "0c3b632bd6570064bab1055d2b8a51cfb85e60bb",
      "tree": "a152db94f166379d6691f67b09ff142e768e7ebe",
      "parents": [
        "f6364486fb0fcd2891094a871041a3dc6c2334f8",
        "28e69f75088684b41d30b051799d7687d33f2205"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 25 20:17:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 25 20:17:34 2015 +0000"
      },
      "message": "Merge \"Add O_APPEND flag for __libc_write_stderr.\""
    },
    {
      "commit": "28e69f75088684b41d30b051799d7687d33f2205",
      "tree": "a228f4456a89920130c3c33933db9e7e26194967",
      "parents": [
        "93d44ff2a6e0febe18d42d5690e85023545318b4"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 25 12:36:18 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 25 13:01:23 2015 -0700"
      },
      "message": "Add O_APPEND flag for __libc_write_stderr.\n\nFor DeathTests, we are testing the output of stderr to check if it is the\ndeath we are expecting. To collect the output, Gtest redirects stderr to\na temporary file. But in __libc_write_stderr in libc_logging.cpp, we are\nwriting to stderr without a O_APPEND flag, so a new message will overwrite\na previous message.\nThe above situation makes almost all the DeathTests fail on host. Because\nthe expected message are always overwritten in host DeathTests. So I add\nO_APPEND flag in __libc_write_stderr, which makes all host DeathTests pass.\n\nChange-Id: Ic2f6044fdb181eebe132a6f170b57db43c5c3289\n"
    },
    {
      "commit": "24958514b92c9b9e111223e4e4c56ef1a52b6403",
      "tree": "c84eddf326df879eacaf47e15790822265b14514",
      "parents": [
        "f5e0ba94d911ef2622ecfd3f7fabc4432a4806d3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Mar 25 09:12:00 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Mar 25 09:12:00 2015 -0700"
      },
      "message": "Use ALIAS_SYMBOL for assembler aliasing.\n\nChange-Id: I8d04d2da0a1ac440cc9044fc819c9a8eda5ff17d\n"
    },
    {
      "commit": "1f95ffecc22995abe6ac8cdd6dbb74f6f9a42b2f",
      "tree": "e316bbe9ea202ff9099d3dead7f4e68dd11c15e9",
      "parents": [
        "dd5c92d4b0cb6c43002112ab50c1df73d06ab2aa"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Mar 02 17:43:42 2015 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Mar 25 16:08:37 2015 +0000"
      },
      "message": "Changes to re-enable overrides for tz data\n\nBug: 10637303\nChange-Id: I5d525b66cf30d34b421803b876445596bed8d64d\n"
    },
    {
      "commit": "fa5faa0ce6deba5ad9c96fe5cf74e63e4a6edfb3",
      "tree": "546a5eff515f97537cae2cbec5d99c68ee85844b",
      "parents": [
        "ee4997ecc3daeb9af110d932ddb27f969cc7271a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 24 16:50:46 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 24 21:08:26 2015 -0700"
      },
      "message": "Make gensyscalls.py use the ALIAS_SYMBOL macro.\n\nChange-Id: Ib94c0abb6fc85126ecc5ed3f1962b2b8b90b9952\n"
    },
    {
      "commit": "93d44ff2a6e0febe18d42d5690e85023545318b4",
      "tree": "0145c42a21091f0a160129bd2978e9a7baefe543",
      "parents": [
        "32b039e46eee4d40b9979eab873a957e86fbf969",
        "673b15e4ee2c6d99b150aedddc0f389e29f98e1b"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 24 02:39:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 24 02:39:51 2015 +0000"
      },
      "message": "Merge \"Let g_thread_list_lock only protect g_thread_list.\""
    },
    {
      "commit": "673b15e4ee2c6d99b150aedddc0f389e29f98e1b",
      "tree": "edc101b54c689960bdf1262e6378b21082d3e277",
      "parents": [
        "4149dc944bbe3c5f1c14fc998106975e68bdd6bf"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 19 14:19:19 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Mar 23 19:03:49 2015 -0700"
      },
      "message": "Let g_thread_list_lock only protect g_thread_list.\n\nAs glibc/netbsd don\u0027t protect access to thread struct members by a global\nlock, we don\u0027t want to do it either. This change reduces the\nresponsibility of g_thread_list_lock to only protect g_thread_list.\n\nBug: 19636317\nChange-Id: I897890710653dac165d8fa4452c7ecf74abdbf2b\n"
    },
    {
      "commit": "32b039e46eee4d40b9979eab873a957e86fbf969",
      "tree": "b002a3de35b1451f77e2f1f605a85e032c56acee",
      "parents": [
        "f8246ac65f1985e23023df12112a6ce47057a4dd",
        "84c10c2e7928cf2128f2495b9d5ed916088b2f2b"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Mar 24 00:48:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 24 00:48:58 2015 +0000"
      },
      "message": "Merge \"RTLD_LAZY is not supported, use RTLD_NOW instead.\""
    },
    {
      "commit": "f8246ac65f1985e23023df12112a6ce47057a4dd",
      "tree": "7228c1c264947bd6915fc8bf7916f28b7bbd6cc0",
      "parents": [
        "27b38599dc4b0b4941906d8da30022f516abf143",
        "b58457221364eaad039c2c49a42626b725e980d5"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Mar 23 23:18:27 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 23 23:18:27 2015 +0000"
      },
      "message": "Merge \"Add test for pthread types alignment check.\""
    },
    {
      "commit": "84c10c2e7928cf2128f2495b9d5ed916088b2f2b",
      "tree": "398e5dd3c5fd5ab801975b3899f51c7c896ef808",
      "parents": [
        "27b38599dc4b0b4941906d8da30022f516abf143"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 23 14:58:45 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 23 14:58:45 2015 -0700"
      },
      "message": "RTLD_LAZY is not supported, use RTLD_NOW instead.\n\nChange-Id: Ia08ed6416aef686435224b50b3e58955d09f04e2\n"
    },
    {
      "commit": "b58457221364eaad039c2c49a42626b725e980d5",
      "tree": "a7a8d9b3de7c34bda99153ebae330b6d180b112e",
      "parents": [
        "4149dc944bbe3c5f1c14fc998106975e68bdd6bf"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Mar 16 22:46:42 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Mar 20 17:42:09 2015 -0700"
      },
      "message": "Add test for pthread types alignment check.\n\nBug: 19249079\nChange-Id: I83c4f0d11ec5d82a346ae0057d02a92bb1d519e8\n"
    },
    {
      "commit": "a2db50d5d7fa67b297eddd1c0549f08ea4b6a950",
      "tree": "e3b0bb4b01b2b7caf8f5f0ad5be05517592915fb",
      "parents": [
        "4149dc944bbe3c5f1c14fc998106975e68bdd6bf"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Mar 20 10:58:04 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Mar 20 14:41:52 2015 -0700"
      },
      "message": "Fix alignment error for pthread_internal_t/pthread stack.\n\naligned attribute can only control compiler\u0027s behavior, but we\nare manually allocating pthread_internal_t. So we need to make\nsure of alignment manually.\n\nChange-Id: Iea4c46eadf10dfd15dc955c5f41cf6063cfd8536\n"
    },
    {
      "commit": "bbb0432a33787f1a627abb396fe343a7943ac7bc",
      "tree": "356c2b33690b7c1e43c4d5a4ba46d0553b1e06f6",
      "parents": [
        "7875b506edfb1fe593034eaf4bc9aa156179fbd2"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 19 15:19:25 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 19 16:48:19 2015 -0700"
      },
      "message": "Return EINVAL when calling pthread_detach for joined thread.\n\nChange-Id: I717015132187e087e0ad485284a13c8801e25e77\n"
    },
    {
      "commit": "aec2bb5ec67637ec4b5374287e9bc0d572632054",
      "tree": "81a349d5c4f2a4962201fa9aea395014bdc89867",
      "parents": [
        "2e49508187254903943b83df7bb241d5fb6a8593"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 19 16:28:19 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 19 23:35:23 2015 +0000"
      },
      "message": "Fix two errors in pthread_detach.cpp.\n\nThe errors are introduced in \"Make pthread join_state not protected by g_thread_list_lock\".\n\nBug: 19636317\nChange-Id: I58ae9711da94bfbac809abfd81311eeb70301a4b\n"
    }
  ],
  "next": "6943f2968cb6054f8874e30b309985b41a37e2e0"
}
