)]}'
{
  "log": [
    {
      "commit": "12bf3bcdeeaa0dcdc7a4f4e4d11bc2fc3bf6bd7a",
      "tree": "b43eb9e1c4715173e270dab940c91c48557555fe",
      "parents": [
        "176ccd4925c682f036141c8618650b16912b9bd4"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jul 01 14:24:45 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jul 01 14:46:03 2014 -0700"
      },
      "message": "Write message to stderr on __libc_fatal()\n\nChange-Id: Ia8d6e256768fa51786d0139d3f3b6e9e4bebe027\n"
    },
    {
      "commit": "49eb7613068297a1f2181ad39a24f27cd87d89b1",
      "tree": "4a835979fc2674a9d8fb9cfdc0ea44ebbf5ce34a",
      "parents": [
        "f573a52cf3a814504e5d5a6b62d74ba9516f7a28"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 01 11:13:25 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 01 11:13:25 2014 -0700"
      },
      "message": "Fix a warning in if_indextoname.c.\n\nChange-Id: Ib6afe2a5452022f5c98ec28fd110d6b910dccdad\n"
    },
    {
      "commit": "066eb0b06d51e7ccbaea92e11de9c747314b03d6",
      "tree": "2ab29dc329083b52efb4ee3c7efc50b5e6a48cf2",
      "parents": [
        "4ec3bc83c632132bda915d00b5bc716dc6ab8dd8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 01 10:48:23 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 01 10:48:23 2014 -0700"
      },
      "message": "Silence time64.c build warnings.\n\nChange-Id: Ibc5672480ee5e72eedf2bc29e420315b5346b0df\n"
    },
    {
      "commit": "52f9b051c8bcb3d723b023a74d7d89ee45cf754c",
      "tree": "3de5db05a09e89a45e1802ed4bc9ca531a7ee9cd",
      "parents": [
        "598f4b3ac1be3c6ef3af613ac4b0694841e165fe",
        "0468feb28696751efcddada8de69a622afffdba8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 24 21:24:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 24 18:00:13 2014 +0000"
      },
      "message": "Merge \"Sync to current upstream arc4random.\""
    },
    {
      "commit": "0468feb28696751efcddada8de69a622afffdba8",
      "tree": "9d91e7e644011100dafa93d0d1c706e631c81a11",
      "parents": [
        "fb0a3622f79bb0a31dd4d0e2f9cea990075ef129"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 20 22:49:20 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 24 14:13:48 2014 -0700"
      },
      "message": "Sync to current upstream arc4random.\n\nThis is actually revision 1.33, which is no longer the latest, but it\u0027s\nas close to head as we can currently reasonably get. I\u0027ve also switched\nto the OpenBSD getentropy_linux.c implementation of getentropy, lightly\nmodified to try to report an error on failure.\n\nBug: 14499627\nChange-Id: Ia7c561184b1f366c9bf66f248aa60f0d53535fcb\n"
    },
    {
      "commit": "598f4b3ac1be3c6ef3af613ac4b0694841e165fe",
      "tree": "e6241ec4877e02fedd707ae0a2300e5203219b0c",
      "parents": [
        "63fa660b52f1e9717f0a2105d4861a4b48c330b1",
        "fa9e16efaf0e885f6044e725eb759ef6de10f7ef"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 24 16:36:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 24 07:45:29 2014 +0000"
      },
      "message": "Merge \"Fix getpid caching across a clone.\""
    },
    {
      "commit": "096b4eb752aa7a5392875cb2f2faf0d67c676ac1",
      "tree": "f4e6339d039abf2f1bd0eeee32f0116ad3cb1d7c",
      "parents": [
        "54e9dc02138838fdb7a89e62467c369e3cf1f41f"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jun 19 18:16:17 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jun 24 11:53:06 2014 +0100"
      },
      "message": "Prefix cmsg_nxthdr with \"__\".\n\nThis brings us on par with glibc.\n\nTo avoid breaking clients, temporary keep cmsg_nxthdr until the next NDK\nrefresh.\n\nBug: 15822452\nChange-Id: I24c24e68c31f4f2b8f3d2df7acd575cb75174173\n"
    },
    {
      "commit": "fa9e16efaf0e885f6044e725eb759ef6de10f7ef",
      "tree": "b2788038c17cde5a1d53c13a51d6a16868bd229f",
      "parents": [
        "0d7415fb225573c37ff9e880957cd2044dd658ce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 23 17:49:45 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 23 17:49:45 2014 -0700"
      },
      "message": "Fix getpid caching across a clone.\n\nIf you make clone, fork, or vfork system calls directly, you\u0027re still\non your own, but we now do the right thing for the clone wrapper.\nWith this implementation, children lose the getpid caching, but we\u0027ve\nno reason to think that that covers any significant use cases.\n\nBug: 15387103\nChange-Id: Icfab6b63c708fea830960742ec92aeba8ce7680d\n"
    },
    {
      "commit": "7086ad6919feb2415c6027163f5c63323bcca27c",
      "tree": "f32c06d513e90ba1fcb8fe56f9cd055cccc7d01b",
      "parents": [
        "d1bf37780d0bcaca3e6046171f958ebfea34bde1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 19 16:39:01 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 20 09:06:57 2014 -0700"
      },
      "message": "Cache getpid.\n\nIn practice, with this implementation we never need to make a system call.\nWe get the main thread\u0027s tid (which is the same as our pid) back from\nthe set_tid_address system call we have to make during initialization.\nA new pthread will have the same pid as its parent, and a fork child\u0027s\nmain (and only) thread will have a pid equal to its tid, which we get for\nfree from the kernel before clone returns.\n\nThe only time we\u0027d actually have to make a getpid system call now is if\nwe take a signal during fork and the signal handler calls getpid. (That,\nor we call getpid in the dynamic linker while it\u0027s still dealing with its\nown relocations and hasn\u0027t even set up the main thread yet.)\n\nBug: 15387103\nChange-Id: I6d4718ed0a5c912fc75b5f738c49a023dbed5189\n"
    },
    {
      "commit": "03eebcb6e8762e668a0d3af6bb303cccb88c5b81",
      "tree": "3c5053d90eb3d1fac8c21fa390367a911e188191",
      "parents": [
        "64dfbd242cddc3ef95576e27e3940d68b89b5fce"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jun 13 13:57:51 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 18 14:23:46 2014 -0700"
      },
      "message": "Move common macros into bionic_macros.h.\n\nBug: 15590152\nChange-Id: I730636613ef3653f68c5ab1d43b53beaf8e0dc25\n"
    },
    {
      "commit": "b656410a73c4dfa2a3f8deba0a673080320f8605",
      "tree": "e4b34e6e1b1d2c8e182e5afa18651870779b5665",
      "parents": [
        "d10d3acd45d045e5a705d22c2297483765e40f5f",
        "636196438180fd37027bf7b7119a436169b6923e"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jun 17 18:21:30 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 17 04:51:41 2014 +0000"
      },
      "message": "Merge \"Use a separate config.h for config like defines.\""
    },
    {
      "commit": "636196438180fd37027bf7b7119a436169b6923e",
      "tree": "cc42614ca2440bbb1b64f191d5c2eefff038e2de",
      "parents": [
        "a217a0cdb3ff78f6b59d64fd4356f87643ad9d1e"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 16 23:35:53 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 16 23:35:53 2014 -0700"
      },
      "message": "Use a separate config.h for config like defines.\n\nThis allows an easier way to share config parameters between unit tests\nand the bionic code.\n\nIt also fixes a problem where the 32 bit bionic tests based on glibc, or\nthe cts list executable did not have the pvalloc,valloc tests.\n\nChange-Id: Ib47942cb8a278252faa7498a6ef23e9578db544f\n"
    },
    {
      "commit": "3a37576d4b9714989b0618f6d1a2d2b2df77ed2b",
      "tree": "370a3ae262e4903148029b726b6200a86ab1cde8",
      "parents": [
        "a217a0cdb3ff78f6b59d64fd4356f87643ad9d1e"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 16 17:13:09 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 16 17:13:09 2014 -0700"
      },
      "message": "Move jemalloc due to whole_static_library bug.\n\nRename jemalloc.cpp to jemalloc_wrapper.cpp to avoid problems with\nthe libc library having two jemalloc.o files that clobber each other.\n\nChange-Id: I9a2d966dbf414b1367ee0ef1f0d73fca6f25b518\n"
    },
    {
      "commit": "891dedb935b50f1abb39eedfe33049a1e49283cb",
      "tree": "8066a42ec9e07537607254deb91195fb9d102a88",
      "parents": [
        "4fb0d4fb312ed696081200e65ce9bf643928e5e6"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jun 13 12:28:11 2014 +0200"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jun 16 13:10:20 2014 -0700"
      },
      "message": "libc: Fix \u0027index\u0027 symbol export.\n\nThe C library didn\u0027t export the \u0027index\u0027 symbol, but its C++ name-mangling\ninstead, which broke the ABI and prevented some applications from loading\nproperly.\n\nThe main reason was that the implementation under bionic/index.cpp relied\non the declaration to specify that the function has C linkage.\n\nHowever, the declaration for index() was removed from both \u003cstring.h\u003e\nand \u003cstrings.h\u003e in a recent patch, which made the compiler think it was\nok to compile the function with C++ linkage instead!\n\nThis patch does the following:\n\n- Move index() definition to bionic/ndk_cruft.cpp and ensure it uses\n  C linkage.\n\n  Note that this removes index() from the 64-bit library entirely, this\n  is intentional and will break source compatibility. Simply replacing\n  an index() call with the equivalent strchr() should be enough to fix\n  this in third-party code.\n\n- Remove bionic/index.cpp from the tree and build files.\n\n- Remove x86 assembly implementation from arch-x86/ to avoid conflict\n  with the one in ndk_cruft.cpp\n\nBUG\u003d15606653\n\nChange-Id: I816b589f69c8f8a6511f6be6195d20cf1c4e8123\n"
    },
    {
      "commit": "ac6467587e864d199377f14281da4641f979a68a",
      "tree": "138acbcc6c8d89da231342e9698de1a0b08580cd",
      "parents": [
        "9a3ad98fd69a276f7c5fca0489d5657be75fcf69"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jun 05 02:10:49 2014 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jun 16 12:32:38 2014 -0700"
      },
      "message": "Revert \"Revert \"Remove ftime from bionic LP64\"\"\n\nThis reverts commit 0921204660b9597de795065d0350a787035ad589.\n\nChange-Id: I749af8d7d429cda9f9d09a75bd30df54e6b1dd65\n"
    },
    {
      "commit": "462abab12b074c62c0999859e65d5a32ebb41951",
      "tree": "c0979cfcae24863834ccc28821bd7d1483bac732",
      "parents": [
        "72dc1c22dc6a92dea925398c9e3880364ab29c1c"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jun 13 16:51:24 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jun 16 10:12:37 2014 -0700"
      },
      "message": "Removes getdtablesize(3) from LP64.\n\ngetdtablesize(3) was removed fro POSIX 2004. Keep the symbol around in LP32 for\nbinary compatibility, but remove the declaration from unistd.h.\n\nBug: 13935372\nChange-Id: I1f96cd290bf9176f922dad58bd5a7ab2cae7ef0f\n"
    },
    {
      "commit": "72dc1c22dc6a92dea925398c9e3880364ab29c1c",
      "tree": "3603af42f528eea7522aadf5bacfd062cc0c5d1f",
      "parents": [
        "b84783ecaa71f9450152f8d9b5f97e1b07f05ef6",
        "e5fdaa4f9d102461a4d8a865e6ca84666893b9e7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Jun 14 01:08:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 12 05:34:11 2014 +0000"
      },
      "message": "Merge \"Revert \"Backing this one out since the counterpart needs to be sent upstream.\"\""
    },
    {
      "commit": "e5fdaa4f9d102461a4d8a865e6ca84666893b9e7",
      "tree": "c17c2b67e2f12161e67f9b337c9cdc11bd8eab5f",
      "parents": [
        "a04d2bc28e7d7fcaf34ad71e4a6608a13cf84197"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Jun 14 01:04:31 2014 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Jun 14 01:04:31 2014 +0000"
      },
      "message": "Revert \"Backing this one out since the counterpart needs to be sent upstream.\"\n\nThis reverts commit a04d2bc28e7d7fcaf34ad71e4a6608a13cf84197.\n\nChange-Id: I1b49165ca5d4bafdba7948818256a6167a363aca\n"
    },
    {
      "commit": "a04d2bc28e7d7fcaf34ad71e4a6608a13cf84197",
      "tree": "729a98533b9d101d029556ca290d9524bd4b416e",
      "parents": [
        "5ee320dd35fafc11eaf90c62198e08c6670e35b4"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Jun 14 00:51:14 2014 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Jun 14 00:51:14 2014 +0000"
      },
      "message": "Backing this one out since the counterpart needs to be sent upstream.\n\nThis reverts commit 5ee320dd35fafc11eaf90c62198e08c6670e35b4.\n\nChange-Id: I1a9c6b06c3aca595f01c629f7649be743dc48e77\n"
    },
    {
      "commit": "5ee320dd35fafc11eaf90c62198e08c6670e35b4",
      "tree": "c17c2b67e2f12161e67f9b337c9cdc11bd8eab5f",
      "parents": [
        "0f690d9eda1893e66223138d2b930eb3e0164820"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jun 12 10:55:13 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jun 13 15:35:05 2014 -0700"
      },
      "message": "Hides valloc(3)/pvalloc(3) on LP64.\n\nThese were removed from POSIX 2004. Hides the header declarations for all\ntargets, and hides the symbols for LP64.\n\nBug: 13935372\nChange-Id: Id592f67e9b7051517a05f536e1373b30162e669c\n"
    },
    {
      "commit": "b84783ecaa71f9450152f8d9b5f97e1b07f05ef6",
      "tree": "77f3323323df2b1d60fa83f7e475f131116ef012",
      "parents": [
        "65b1c90a32036cbb06ff610fbae545b65ae8b72d",
        "a04d2bc28e7d7fcaf34ad71e4a6608a13cf84197"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Jun 14 00:51:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 12 05:34:11 2014 +0000"
      },
      "message": "Merge \"Backing this one out since the counterpart needs to be sent upstream.\""
    },
    {
      "commit": "65b1c90a32036cbb06ff610fbae545b65ae8b72d",
      "tree": "3603af42f528eea7522aadf5bacfd062cc0c5d1f",
      "parents": [
        "b725e7627f0e35d0c7acb1c09fe3cb89b0a4d481",
        "5ee320dd35fafc11eaf90c62198e08c6670e35b4"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sat Jun 14 00:20:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 12 03:32:07 2014 +0000"
      },
      "message": "Merge \"Hides valloc(3)/pvalloc(3) on LP64.\""
    },
    {
      "commit": "2ba734d8cd370d9cdb544f4d3afecc9a13e35116",
      "tree": "66bb0465d643e855d59fcf3344858b3978f40fa9",
      "parents": [
        "ff17671bc630d294903aa2827b76156590b09629",
        "580b6e09febc967b5039ef5d148be883089d0eff"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jun 13 01:24:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 12 21:07:49 2014 +0000"
      },
      "message": "Merge \"Fix %u format that should have been %zu.\""
    },
    {
      "commit": "580b6e09febc967b5039ef5d148be883089d0eff",
      "tree": "f17a9c40fd008600a0c39c4d3de88b76a3fd9cb8",
      "parents": [
        "a403780538ac9d1a260e064df6599663f8cc4166"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 12 18:20:44 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 12 18:20:44 2014 -0700"
      },
      "message": "Fix %u format that should have been %zu.\n\nChange-Id: Icedacf6783d6b0cf4783c838b3c4622d2e67f073\n"
    },
    {
      "commit": "a403780538ac9d1a260e064df6599663f8cc4166",
      "tree": "340dd81279be34b49622c68dc037ceb5cd73bcc9",
      "parents": [
        "0ada9388e74693d990bdbb4af92c33bae8b34d4b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 09 19:14:11 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 12 15:08:18 2014 -0700"
      },
      "message": "Put all allocation functions into dispatch table.\n\nImplement these new functions for all of the debug malloc types.\n\nFix a number of bugs in the debug malloc functions related to overflow\nconditions.\nFix a bug in dlpvalloc due to an overflow condition.\n\nFix various other bugs in the debug malloc functions.\n\nAdd new tests for malloc functions.\n\nBug: 11225066\n\nChange-Id: Idf50f389603e2157645565bc15cd9365eec2e9dd\n"
    },
    {
      "commit": "8229ae46f4fb165a18da4dca1be74c4c099c3ee7",
      "tree": "43204bf27e85e7e18a6fa87d7db7398af583b280",
      "parents": [
        "0f690d9eda1893e66223138d2b930eb3e0164820"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jun 13 16:04:41 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jun 13 16:04:41 2014 -0700"
      },
      "message": "Removes wait3(2) from LP64.\n\nwait3(2) was removed from POSIX 2004. Keep the symbol around in LP32 for binary\ncompatibility, but remove the declaration in sys/wait.h.\n\nBug: 13935372\nChange-Id: Ic715fce6781aae43b4ac6d745dc6d1e6b9914e71\n"
    },
    {
      "commit": "5d25d5480ab1e02d8f1e39f5936a3180e84a842c",
      "tree": "91a0e92aedeed1b5862403e525bcfe078d2cf2f8",
      "parents": [
        "564222e3384eb1c649bc75650deb847c40ec7da3",
        "24614b4729a4c8665193f5793b93019b37f779b1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 13 00:44:19 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 12 05:34:11 2014 +0000"
      },
      "message": "Merge \"Remove __memcmp16 from bionic.\""
    },
    {
      "commit": "24614b4729a4c8665193f5793b93019b37f779b1",
      "tree": "52631806852b1c584e50f04981e1f64d99106d3f",
      "parents": [
        "346fa721ca20e481a624930425d823d452e11dfe"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 12 15:35:22 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 12 15:35:22 2014 -0700"
      },
      "message": "Remove __memcmp16 from bionic.\n\nChange-Id: I2486d667d96c8900dd368d855f37c1327161efb7\n"
    },
    {
      "commit": "29ddd78c21b15117bc7d4fc196f3a503f3aab3e2",
      "tree": "7b5901721b55db869006d4ab8b9b4a6c8caf662c",
      "parents": [
        "346fa721ca20e481a624930425d823d452e11dfe",
        "a403780538ac9d1a260e064df6599663f8cc4166"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jun 13 00:40:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 12 21:07:49 2014 +0000"
      },
      "message": "Merge \"Put all allocation functions into dispatch table.\""
    },
    {
      "commit": "80664231b8a17fc6a1bf2f4881c9353a47b74ab6",
      "tree": "e19f934938a7d835590250d4d7499edb6e41251e",
      "parents": [
        "30d15e5499ab097e1074b4e78e4397f5429975ac",
        "67c437b2315a0b01ca4031192879f8eba966b1a7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 11 03:15:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 10 22:20:24 2014 +0000"
      },
      "message": "Merge \"Revert \"Temporarily expose dlmalloc_usable_size.\"\""
    },
    {
      "commit": "440bd6bcc308f78b32fcbc4a3ba312dd1343559b",
      "tree": "bc8398b92bb63a367ab8bc0c71f48cc6ed5aefa4",
      "parents": [
        "0ada9388e74693d990bdbb4af92c33bae8b34d4b",
        "210331d9762037afb9b5ed8413079c6f65872df9"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jun 11 16:59:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 10 22:08:45 2014 +0000"
      },
      "message": "Merge \"Replaces vfork() implementation with fork()\""
    },
    {
      "commit": "210331d9762037afb9b5ed8413079c6f65872df9",
      "tree": "85e6c875bcd65741da38a7d2b6a47cc24440d8b4",
      "parents": [
        "e2a54ca80e011db21665e9639af4608f58e32fbd"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jun 05 18:07:03 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jun 10 21:38:52 2014 -0700"
      },
      "message": "Replaces vfork() implementation with fork()\n\nvfork() was removed from POSIX 2008, so this replaces its implementation\nwith a call to fork().\n\nBug: 13935372\nChange-Id: I6d99ac9e52a2efc5ee9bda1cab908774b830cedc\n"
    },
    {
      "commit": "87d4233c7224201b1199179b11c5c5f854ab36a3",
      "tree": "79a6bad4f1ee7f03ea98aed53780055a3b09e966",
      "parents": [
        "e7baf46b860fca249c98ba905150544cb49e6b1f",
        "67401638a92abd52e5896183e851b1b097da07ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 09 23:29:21 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 09 23:29:21 2014 +0000"
      },
      "message": "Merge \"Remove the MD5 implementation that was only used by toolbox.\""
    },
    {
      "commit": "67401638a92abd52e5896183e851b1b097da07ac",
      "tree": "1e0ecd3b59e4e03359bd6353f3572a4fe69c2051",
      "parents": [
        "19718f0cd605f55df26823c67b62ceab6fe99a00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 09 16:26:29 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 09 16:26:29 2014 -0700"
      },
      "message": "Remove the MD5 implementation that was only used by toolbox.\n\nI\u0027ve already moved toolbox over to openssl.\n\nChange-Id: Ia75fba5b5e3335a975b97787f653bf4df78e1b4e\n"
    },
    {
      "commit": "bffbfeed7a595dcbe5843a77d84c409a0225b4e1",
      "tree": "2df025b90853eeeef5f8dc7b623617f96ecc8914",
      "parents": [
        "19718f0cd605f55df26823c67b62ceab6fe99a00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 20:41:42 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 20:41:42 2014 -0700"
      },
      "message": "Add the missing issetugid binary compatibility stub.\n\nBug: 14569474\nChange-Id: I3bedc1a0acf356af76424ceaf62ae7e85239f617\n"
    },
    {
      "commit": "47ba295b0679148970bbffc9b76a3651efea9502",
      "tree": "50c35c2ca079093c8f315c21cd53c7df8da0987a",
      "parents": [
        "6fa47ca484aa37b0a2a5734a9def32973d110cc6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 16:49:39 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 16:49:39 2014 -0700"
      },
      "message": "Rewrite and hide longjmperror.\n\nThis shouldn\u0027t be public API, isn\u0027t supported on x86/x86_64, and it\u0027s\nunlikely anyone would have actually seen the message before anyway.\nUsing __libc_fatal makes it much more likely to be seen.\n\nBug: 11156955\nChange-Id: Icf7f654b22a7dacd89668b60c11e5705c7215c08\n"
    },
    {
      "commit": "6fa47ca484aa37b0a2a5734a9def32973d110cc6",
      "tree": "9a7478e65a77f017b96d463226ea42ffe71a2bb1",
      "parents": [
        "1c60f8080acaf0f1794689886e94e54d15d43a7b",
        "d1ead2af8bf2f6bb801da272e3778f89efefe613"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 22:25:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 06 22:25:19 2014 +0000"
      },
      "message": "Merge \"Fix ndk_cruft.cpp __getdents64 build failure.\""
    },
    {
      "commit": "1c60f8080acaf0f1794689886e94e54d15d43a7b",
      "tree": "1a33f54a268b06c93059ccb6a1c756bd5a160c53",
      "parents": [
        "087b3cfa5b56c2e4a29cca225fdb1956033868ac",
        "ebc8cd117a562f387c52ed4e1aeba0fb21f33194"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 22:24:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 06 22:24:44 2014 +0000"
      },
      "message": "Merge \"Rename __bionic_clone_entry to __start_thread.\""
    },
    {
      "commit": "d1ead2af8bf2f6bb801da272e3778f89efefe613",
      "tree": "0b9ad65d08c8d28d4ce1d71aff1c46853a0322cb",
      "parents": [
        "087b3cfa5b56c2e4a29cca225fdb1956033868ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 15:24:20 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 15:24:20 2014 -0700"
      },
      "message": "Fix ndk_cruft.cpp __getdents64 build failure.\n\nChange-Id: Ia463113da0575b36b5a9935d8d45e7bd2c801357\n"
    },
    {
      "commit": "ebc8cd117a562f387c52ed4e1aeba0fb21f33194",
      "tree": "f271f020ad489e0c6dddb6c2f4135963f8bec9bd",
      "parents": [
        "b837767a63dfc65653448cf732090d7d0b270080"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 15:18:54 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 15:18:54 2014 -0700"
      },
      "message": "Rename __bionic_clone_entry to __start_thread.\n\nThis seems a bit less obscure.\n\nChange-Id: I7dc528c253b73c861694f67556ad8f919bf92136\n"
    },
    {
      "commit": "3d5cb30d23cfc6a72f01c00246e69a2c614c8228",
      "tree": "25e525111f2e2181c6544e96eebc4ce6ec11777e",
      "parents": [
        "c3bdc792be78d788663ff9b5e019b4af852dc6f7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 11:44:55 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 06 15:05:58 2014 -0700"
      },
      "message": "Remove getdents from bionic.\n\nBug: 11156955\nChange-Id: I6c306989801be552d85fba8a50dcdc79282fb9d2\n"
    },
    {
      "commit": "205dd7d9b3ba314ef8601e4613823c2d62a0605b",
      "tree": "06109b7334bace518e53cd8c0b6bbf3c590839c0",
      "parents": [
        "8aabecf35c71a8255db259cba01005eea10485cf"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jun 04 10:14:19 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jun 05 08:21:17 2014 -0700"
      },
      "message": "Remove bsd_signal and sysv_signal from bionic LP64.\n\nbsd_signal was removed in POSIX 2008, sysv_signal was never POSIX.\n\nBug: 13935372\nChange-Id: I7688e5cc317247ff075dcf99b598f515fb4f15c4\n"
    },
    {
      "commit": "1f29665f1507f866da4fc4c0ee094c22d6181966",
      "tree": "e0b81f20adf2083614eb3f430f8fc448b966a565",
      "parents": [
        "37229f2a9271b6e0d0d1ec516421018b807f00e8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 16:29:37 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 16:29:37 2014 -0700"
      },
      "message": "Hide __libc_fini.\n\nBug: 11156955\nChange-Id: Id5af3540c6ec4d9ef969d62a230144fe8bb76b0b\n"
    },
    {
      "commit": "67c437b2315a0b01ca4031192879f8eba966b1a7",
      "tree": "ba4957c763cde5450457bcd811f6dd8223f8e4a5",
      "parents": [
        "6403cc48707b67b3400bdaf720f3e4777a1b48de"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 23:14:48 2014 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 23:14:48 2014 +0000"
      },
      "message": "Revert \"Temporarily expose dlmalloc_usable_size.\"\n\nThis reverts commit 6403cc48707b67b3400bdaf720f3e4777a1b48de.\n\nChange-Id: Id1ce4088be1e6c83271c6317eb3e5f7fc11c7b95\n"
    },
    {
      "commit": "6403cc48707b67b3400bdaf720f3e4777a1b48de",
      "tree": "ae5f4d62725ee921e1e0b00a5770111371792243",
      "parents": [
        "53e3bbab07f8d410418f87007177d5ad81e38bcf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 16:08:17 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 16:08:17 2014 -0700"
      },
      "message": "Temporarily expose dlmalloc_usable_size.\n\nBug: 15425694\nChange-Id: I47e1ca598817359260c372fec8072e76886054f0\n"
    },
    {
      "commit": "14442bb22955f704091f23e670ed9f8bdcda1ce9",
      "tree": "ba4957c763cde5450457bcd811f6dd8223f8e4a5",
      "parents": [
        "38732aa9ea28b54d55c46b6b1f9367cb8fa147f1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 15:18:36 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 15:20:46 2014 -0700"
      },
      "message": "Temporary fix for asan_malloc_linux.cc build failure.\n\nBug: 15432753\nChange-Id: I02a3a2c826e6d01e6809c51588a9670dcd179123\n"
    },
    {
      "commit": "38732aa9ea28b54d55c46b6b1f9367cb8fa147f1",
      "tree": "2258fbf6a7e0dd249b7bbc6fab857a3746960e24",
      "parents": [
        "623dce3bd43975ca5b8698955a9fd8f18e9d5963",
        "8e52e8fe83632c667521c1c8e4f640e94c09baed"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 21:10:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 04 21:10:55 2014 +0000"
      },
      "message": "Merge \"Fix debug malloc.\""
    },
    {
      "commit": "8e52e8fe83632c667521c1c8e4f640e94c09baed",
      "tree": "2611bc51cde66365817942ba7febf72910f36034",
      "parents": [
        "e120cba31df5249b720579312e799bd1c65f8e3d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 12:07:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 14:08:20 2014 -0700"
      },
      "message": "Fix debug malloc.\n\nPreviously the dynamically-loaded part of the debug malloc implementation\nwanted to access hidden symbols in libc itself.\n\nBug: 15426546\nChange-Id: I6a366ef626854d1af1d705ca24842817b1c02a19\n"
    },
    {
      "commit": "001f8f041bf21c53d4a0b919ef2c859b047bac0a",
      "tree": "4f53609088f6d2c5a53a73b03737fdb82c8a0f38",
      "parents": [
        "e120cba31df5249b720579312e799bd1c65f8e3d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jun 04 09:53:06 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jun 04 12:01:56 2014 -0700"
      },
      "message": "Removes wcswcs from bionic for LP64.\n\nBug: 13935372\nChange-Id: I0deb15e769da4fa81bb65a87f3c86db5163a5796\n"
    },
    {
      "commit": "452e09130010b641904e7411e0c539590a654022",
      "tree": "bf46b10decf99bf66af7a3789080f443a011bafb",
      "parents": [
        "38ed337c1343af1aa55487777ed80de6b0d33638",
        "7a7f9952c12b216fbf91fc4cdbb97045e8861115"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jun 04 16:10:50 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 04 16:10:50 2014 +0000"
      },
      "message": "Merge \"Adds functionality specified by uchar.h\""
    },
    {
      "commit": "7a7f9952c12b216fbf91fc4cdbb97045e8861115",
      "tree": "eeb9b78c9f548f65e913a9e2d184590b35cb3e42",
      "parents": [
        "831405b749d15a11fb947a40d61fd858e952d860"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jun 02 11:33:04 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jun 04 08:39:24 2014 -0700"
      },
      "message": "Adds functionality specified by uchar.h\n\nmbrtoc32 and c32rtomb get their implementations from mbrtowc and wcrtomb. The\nwc functions now simply call the c32 functions.\n\nBug: 14646575\nChange-Id: I49d4b95fed0f9d790260c996c4d0f8bfd1686324\n"
    },
    {
      "commit": "38ed337c1343af1aa55487777ed80de6b0d33638",
      "tree": "0167ee1d7c306ef9972b587f6e0cc423b3044562",
      "parents": [
        "c380189410b66dcaca5936b2fabceab4c492dd53",
        "9b5235d74e794d29fa912fe95ca3d5ec488dd371"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 04 03:30:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 04 03:30:37 2014 +0000"
      },
      "message": "Merge \"Hide dlmalloc symbols.\""
    },
    {
      "commit": "9b5235d74e794d29fa912fe95ca3d5ec488dd371",
      "tree": "1cc132c801f60ba36a48af810bae05fefd4e1b02",
      "parents": [
        "3dbc2fe33e7a1c0e545f7762d3c7a98429c5a82b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 03 18:47:17 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 03 18:47:17 2014 -0700"
      },
      "message": "Hide dlmalloc symbols.\n\nWe need to leave dlmalloc_trim and dlmalloc_inspect_all exposed for\nthe VM, but if we\u0027re seriously looking at other malloc implementations,\nthat\u0027s something we\u0027re going to have to fix.\n\nBug: 11156955\nChange-Id: If85156c280044f1616c09a3c50ba674aaf0e8d3a\n"
    },
    {
      "commit": "c380189410b66dcaca5936b2fabceab4c492dd53",
      "tree": "180b7b70440622d223c5f499c840d8f93c1bf835",
      "parents": [
        "3dbc2fe33e7a1c0e545f7762d3c7a98429c5a82b",
        "ce9ce28e5d760e32ab6c894dfaf7b8dad6de7ff6"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jun 04 01:00:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 04 01:00:40 2014 +0000"
      },
      "message": "Merge \"Removes bcopy and bzero from bionic.\""
    },
    {
      "commit": "ce9ce28e5d760e32ab6c894dfaf7b8dad6de7ff6",
      "tree": "4df746aceda760ff26536720ff278ef77be39393",
      "parents": [
        "2f9400b679ffe08f7190781e64edda5edf0f7297"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jun 03 11:35:48 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jun 03 17:22:07 2014 -0700"
      },
      "message": "Removes bcopy and bzero from bionic.\n\nThese symbols are still defined for LP32 for binary compatibility, but\nthe declarations have been replaced with the POSIX recommended #defines.\n\nBug: 13935372\nChange-Id: Ief7e6ca012db374588ba5839f11e8f3a13a20467\n"
    },
    {
      "commit": "d286796fce1e6fff407b719a53eb2afbeb96c327",
      "tree": "c1edc80194a19b7b443611acd0ffdea2ddfe130a",
      "parents": [
        "2f9400b679ffe08f7190781e64edda5edf0f7297"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 03 15:22:34 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 03 15:22:34 2014 -0700"
      },
      "message": "Turn on -Wunused and fix the mistakes it uncovers.\n\nChange-Id: I023d2d8b547fbc21d4124bb7510d42b06a0dc501\n"
    },
    {
      "commit": "2f9400b679ffe08f7190781e64edda5edf0f7297",
      "tree": "96c6f553cf8637c81fefba0c8917a8bfe1164fb3",
      "parents": [
        "987bd5c64f1381185f27afb60ec46be5e9eaba36",
        "989725940e765f0065b2bc06b881cde864b62595"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jun 03 16:53:46 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 03 16:53:47 2014 +0000"
      },
      "message": "Merge \"Use __libc_fatal() for failed malloc in new\""
    },
    {
      "commit": "989725940e765f0065b2bc06b881cde864b62595",
      "tree": "2fd93597a6381dc47e362c2d2a84faae59bbf2af",
      "parents": [
        "3a3b27e04df395b789b92af3d0ed05d2a0f3bf04"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri May 30 16:00:53 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jun 02 18:48:53 2014 -0700"
      },
      "message": "Use __libc_fatal() for failed malloc in new\n\nThis way we can print a useful message to the log isntead of just dying\nmysteriously.\n\nChange-Id: Ib660c2fd8ce8bb9aa0d0bb634ae08c645d3901e5\n"
    },
    {
      "commit": "5d9a7ba0dc9c24ed4e4efa9cac0e796fd524b308",
      "tree": "4674df3b5064cb38211453b6e887c364f0c66f05",
      "parents": [
        "831405b749d15a11fb947a40d61fd858e952d860"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 30 19:00:03 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 02 10:32:55 2014 -0700"
      },
      "message": "Avoid a system call in \u0027gettid\u0027.\n\nSystem calls can be pretty slow. This is mako, which has one of our\nlowest latencies:\n\n                       iterations      ns/op\n  BM_unistd_getpid       10000000        209\n  BM_unistd_gettid      200000000          8\n\nBug: 15297299 (kernel panic from too many gettid calls)\nBug: 15315766 (excessive gettid overhead in liblogd)\nChange-Id: I49656c0fc5b5d092390264a59e4f2c0d8a8b1aeb\n"
    },
    {
      "commit": "6203e7b853a587fbd70cea2e58b63ae38a71a13e",
      "tree": "e13aad8c180100b87e7a24c2ae5292c81599d223",
      "parents": [
        "3a3b27e04df395b789b92af3d0ed05d2a0f3bf04"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 30 14:49:00 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 30 15:56:25 2014 -0700"
      },
      "message": "Add some missing __noreturn attributes.\n\nThis is more honest, and lets us remove a hack.\n\nChange-Id: I309f064743ded5248573ccafc379f78d417db08d\n"
    },
    {
      "commit": "b4e099c6f741835b11ecb6f8fd0861b1892ff182",
      "tree": "3c3e26ef1fa83438fd42aa06ace4b9a553c75c11",
      "parents": [
        "d4fbb1a8617285ab1d29324308aa016377fc36f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 29 16:04:53 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 29 16:43:01 2014 -0700"
      },
      "message": "Remove issetugid.\n\nBug: 14569474\nChange-Id: I752c77ed53c724f144f0b618443eb95e87f2929a\n"
    },
    {
      "commit": "1a57de713adfb81842cb2ebdfc051ecb9afa55f1",
      "tree": "cac953621aa0dda4d4e0e174eb9b153594e506d5",
      "parents": [
        "ef023873e2bbd83f4fde69fd427e04ef1eb6e769",
        "738b0cc5e95a9a650e9621603f4dd8dd16b07568"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 29 18:03:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 29 18:03:28 2014 +0000"
      },
      "message": "Merge \"Fix overflow testing in sbrk.\""
    },
    {
      "commit": "738b0cc5e95a9a650e9621603f4dd8dd16b07568",
      "tree": "a20e3a0ffc6154cc562326a42b212759cda31d72",
      "parents": [
        "dc3fb119497382fc8d9c3b87c5ef8321141330dc"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 21 19:03:34 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 29 10:51:22 2014 -0700"
      },
      "message": "Fix overflow testing in sbrk.\n\nModify the overflow testing for sbrk.\n\nBug: 15188366\n\nChange-Id: Ia83f85f7c1789454d872279bd41f38f1ce6b8a34\n"
    },
    {
      "commit": "624996026b844ff2eba2283f4dc83ec363d85a11",
      "tree": "962bbae5f984db6b6737cfbdac05c61e84e92e6c",
      "parents": [
        "fae42a837ae7f880de9561c7b3c2b18e4a531e90"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 28 20:30:40 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 28 20:30:40 2014 -0700"
      },
      "message": "Minor style cleanup of some code I had to look at.\n\n(It turns out that this is the only place we\u0027re saying __inline in C++.)\n\nChange-Id: I8095e67a385087817c47caab9a621f82f8e0cfc8\n"
    },
    {
      "commit": "fae42a837ae7f880de9561c7b3c2b18e4a531e90",
      "tree": "9ded88c4807f1c040ccc7f8baf8e970ac374c18c",
      "parents": [
        "32c8ae9de0e51ac64efcfd2e5da34382deee959e",
        "b30aff405a220495941f1673b0a5e66c4fa8b84c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 29 03:13:23 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 29 03:13:23 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Lose the hand-written futex assembler.\"\"\""
    },
    {
      "commit": "b30aff405a220495941f1673b0a5e66c4fa8b84c",
      "tree": "3bf667c009cf468c040ccaae6e81d468b4fd0254",
      "parents": [
        "52f74322b1d72d57146107f32ee2c76c421bf4b1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 28 19:35:33 2014 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 28 18:31:15 2014 -0700"
      },
      "message": "Revert \"Revert \"Lose the hand-written futex assembler.\"\"\n\nThe problem with the original patch was that using syscall(3) means that\nerrno can be set, but pthread_create(3) was abusing the TLS errno slot as\na pthread_mutex_t for the thread startup handshake.\n\nThere was also a mistake in the check for syscall failures --- it should\nhave checked against -1 instead of 0 (not just because that\u0027s the default\nidiom, but also here because futex(2) can legitimately return values \u003e 0).\n\nThis patch stops abusing the TLS errno slot and adds a pthread_mutex_t to\npthread_internal_t instead. (Note that for LP64 sizeof(pthread_mutex_t) \u003e\nsizeof(uintptr_t), so we could potentially clobber other TLS slots too.)\n\nI\u0027ve also rewritten the LP32 compatibility stubs to directly reuse the\ncode from the .h file.\n\nThis reverts commit 75c55ff84ebfa686c7ae2cc8ee431c6a33bd46b4.\n\nBug: 15195455\nChange-Id: I6ffb13e5cf6a35d8f59f692d94192aae9ab4593d\n"
    },
    {
      "commit": "ff03a7aaade5826e3708f6e320d0612d4cdbdb72",
      "tree": "9cffe1df338bcf3c0e0b65458538b2ee8fb3f150",
      "parents": [
        "1454ff2574f0bee9fb3646c9c6dd30443e0dbd38"
      ],
      "author": {
        "name": "Brigid Smith",
        "email": "brigidsmith@google.com",
        "time": "Wed May 28 11:45:48 2014 -0700"
      },
      "committer": {
        "name": "Brigid Smith",
        "email": "brigidsmith@google.com",
        "time": "Wed May 28 11:48:49 2014 -0700"
      },
      "message": "Updated ambiguous comment in pthread_mutex_lock.\n\nThe comment used the phrase \"normal case\" when it more specifically refers to the \"recursive case,\" so I changed it to that.\n\nChange-Id: I8335cce4dee933c6a463aee653b28bd986b5b5e4\n"
    },
    {
      "commit": "001707363ddee680d466c88dd330900683dadf63",
      "tree": "f08b347664f3c458b804e89397134f4fb6144506",
      "parents": [
        "d4f37110ce4b8439dd30540565f7c73e00cfe2fb"
      ],
      "author": {
        "name": "Anthony King",
        "email": "anthonydking@slimroms.net",
        "time": "Sat May 24 16:47:14 2014 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat May 24 20:13:13 2014 -0700"
      },
      "message": "Restore tkill for LP32.\n\nlibmono from Unity still requires tkill(2).\n\nChange-Id: I37a1994b08086c7fedb5c78ea0dadf2d72bc1463\nSigned-off-by: Anthony King \u003canthonydking@slimroms.net\u003e\n"
    },
    {
      "commit": "bd3a98c6b9850a8e55fb0e0ed9f045212c494881",
      "tree": "db21005b5d19e5025952afafc6530efc120e5f02",
      "parents": [
        "1c4d83012fea4e6d011215bef1665cf68d2ac47c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat May 24 17:19:36 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat May 24 17:19:36 2014 -0700"
      },
      "message": "Restore __futex_wake and __futex_wait for LP32.\n\nShould fix Skype:\n\n  java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol \"__futex_wake\" referenced by \"libsliq.so\"...\n\nBug: 15196718\nChange-Id: I8a18e18d830f0436e820cbde577121bd92710803\n"
    },
    {
      "commit": "1b676ea5fba4af0f3a11ca0c31a40825f2157601",
      "tree": "6b911e3eef8875a45c6f8dc39c938cbb4f86bf48",
      "parents": [
        "92687e41bcf108957944dafa80a9bfda219bfb0f"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri May 23 00:15:10 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri May 23 00:26:24 2014 +0100"
      },
      "message": "Migrate pthread_rwlock implementation away from sys/atomics\n\nBug: 8133149\nBug: 14903517\nChange-Id: Ib85987f53d7aeaec12a980ccb645c4a449c48503\n"
    },
    {
      "commit": "92687e41bcf108957944dafa80a9bfda219bfb0f",
      "tree": "ea0fc1323572eedebb34802ab97b24c17ec9b1ba",
      "parents": [
        "4f6ed4a10951cbd868fec1b0117a276918c60fa1"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 22 19:21:22 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri May 23 00:22:58 2014 +0100"
      },
      "message": "Cleaned up pthread rwlocks implementation.\n\n- used underscore_style_for_vars\n- extracted time related functionality into a function\n- cleaned up style\n- removed unused fields from pthread_rwlock_t on LP64\n- changed reservation in pthread_rwlock_t so that the size of the\nstructure equals glibc version\n\nBug: 8133149\n\nChange-Id: I84ad3918678dc7f5e6b3db9b7e9b0899d3abe9cd\n"
    },
    {
      "commit": "2ea60ff0b415ad5b135f498a38c4b56ea75215aa",
      "tree": "71bfc0770b8d21119829467a723e07743b47ba41",
      "parents": [
        "0b10ffb40f3b426a7b5e734f90c41f56351729a0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 22 10:49:16 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 22 11:00:21 2014 -0700"
      },
      "message": "Remove unnecessary #includes of \u003csys/atomics.h\u003e.\n\nBug: 14903517\nChange-Id: I7b5bcebe58774a441da986cc02376dd88e00ea0e\n"
    },
    {
      "commit": "254fa8857f5d88a4140cea2ee05056eae7f102b1",
      "tree": "d7dc6582135b8faf842fc9223fd2af8ad792d4ed",
      "parents": [
        "3eb9f1f6bade8085520d9b0ec35d84d69563ebe1",
        "fcac8ff97f6b6cced6546e0096cadc1039b68b5e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 22 13:28:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 22 13:28:52 2014 +0000"
      },
      "message": "Merge \"Switch to POSIX dprintf/vdprintf.\""
    },
    {
      "commit": "fcac8ff97f6b6cced6546e0096cadc1039b68b5e",
      "tree": "06ea666f735a14951c3facd2cb986d8835798399",
      "parents": [
        "b2b0f7e1ae0a0459b41a7732b84f58d62373e512"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 22 01:24:30 2014 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 22 11:27:06 2014 +0100"
      },
      "message": "Switch to POSIX dprintf/vdprintf.\n\nBug: 11156955\nChange-Id: I734bd02db514367ab119a48304aae9767958e367\n"
    },
    {
      "commit": "172167163af5412c316a8be2f29ca8622984df32",
      "tree": "6cb3055d2e18fc0a652ba95a4bdc79c072e2637c",
      "parents": [
        "3d4a7b02cc7948c94932c4d71c68f864457d59d6",
        "76f352eec12d8938101e5ae33429c72797c3aa23"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 22 10:15:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 22 10:15:03 2014 +0000"
      },
      "message": "Merge \"Mutex-free implementation of pthread_rwlock\""
    },
    {
      "commit": "76f352eec12d8938101e5ae33429c72797c3aa23",
      "tree": "56eed6c22d5365278b4184921e70bbae4d0e7523",
      "parents": [
        "9b95ea936a72532c3124963312d348c6ee453d78"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon May 19 13:41:10 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 22 11:11:15 2014 +0100"
      },
      "message": "Mutex-free implementation of pthread_rwlock\n\nBug: 8133149\nChange-Id: Id6775010d95f2634b173daa55d87a59a3cf4131b\n"
    },
    {
      "commit": "d5ed63a6a8290de88802172ce178656fbafe70c6",
      "tree": "97bb7a00c975041f6e297fe7ff53a8b116f405bf",
      "parents": [
        "f97d8713a265f44279819ba6b245dd81aada34da"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 21 18:27:40 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 21 18:30:00 2014 -0700"
      },
      "message": "Hide most of the private futex functions.\n\nAlso hide part of the system properties compatibility code, since\nwe needed to touch that to keep it building.\n\nI\u0027ll remove __futex_syscall4 and futex in a later patch.\n\nBug: 11156955\nChange-Id: Ibbf42414c5bb07fb9f1c4a169922844778e4eeae\n"
    },
    {
      "commit": "72bbd423579bb971dc06cdd3c06201faf3fe95e6",
      "tree": "222c460d45ac120ae45940628c501d6cfb50f84b",
      "parents": [
        "afb89c2a01089bb247456634a15a58f111bb55a6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 08 11:14:03 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue May 20 14:47:33 2014 -0700"
      },
      "message": "Support for jemalloc to replace dlmalloc.\n\nTo use jemalloc, add MALLOC_IMPL \u003d jemalloc in a board config file\nand you get the new version automatically.\n\nUpdate the pthread_create_key tests since jemalloc uses a few keys.\nAdd a new test to verify memalign works as expected.\n\nBug: 981363\n\nChange-Id: I16eb152b291a95bd2499e90492fc6b4bd7053836\n"
    },
    {
      "commit": "94a9ba2b4a4d8be7e3520e34bfc7bd47ff7af0ce",
      "tree": "89e999996a20029ff8b4031a2ed8a54534013156",
      "parents": [
        "948acf710ed9be223696288466d4f4a566169ec5",
        "48ee47ce25fa9c99df49855ebf77ae1758d58d47"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon May 19 23:21:46 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 19 23:21:46 2014 +0000"
      },
      "message": "Merge \"Removes RTTI support from libc\""
    },
    {
      "commit": "903b78873a744d3fba187e4bd22008ba21162e51",
      "tree": "54927c30d730513d9cfa817448b3184a6b6531ee",
      "parents": [
        "172ab0f65035013565ec57f52ece663082683698"
      ],
      "author": {
        "name": "Sreeram Ramachandran",
        "email": "sreeram@google.com",
        "time": "Mon May 19 13:39:57 2014 -0700"
      },
      "committer": {
        "name": "Sreeram Ramachandran",
        "email": "sreeram@google.com",
        "time": "Mon May 19 15:19:16 2014 -0700"
      },
      "message": "Mark sockets on creation (socket()) and accept4().\n\nRemove the separate syscall for accept() and implement it as accept4(..., 0).\n\nChange-Id: Ib0b8f5d7c5013b91eae6bbc3847852eb355c7714\n"
    },
    {
      "commit": "5240b562e7e9de2f31ba70f71c394c5529aadf0f",
      "tree": "e888add2a6eeee5516f05648f9baa686791a18d3",
      "parents": [
        "308c30af72da7b13938934ba5037dd347b1ef139"
      ],
      "author": {
        "name": "Paul Jensen",
        "email": "pauljensen@google.com",
        "time": "Thu May 15 14:43:07 2014 -0400"
      },
      "committer": {
        "name": "Sreeram Ramachandran",
        "email": "sreeram@google.com",
        "time": "Mon May 19 12:49:52 2014 -0700"
      },
      "message": "Query libnetd_client for the appropriate netId for host resolution.\n\nIf libnetd_client can\u0027t be found, operate as before and use the default netId\npotentially overriden by a more specific netId passed in to\nandroid_get*fornet().\n\n(cherry picked from commit 559c7842cc6862568d9b5799fc0bcf74d58b596b)\n\nChange-Id: I42ef3293172651870fb46d2de22464c4f03e8e0b\n"
    },
    {
      "commit": "48ee47ce25fa9c99df49855ebf77ae1758d58d47",
      "tree": "c3d23c62894a3dbabd5d0160166afe7ab5f4fcf3",
      "parents": [
        "3a757f403ba98ab2132ceb8d290dfafea6c4c7a5"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon May 19 10:32:42 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon May 19 10:32:42 2014 -0700"
      },
      "message": "Removes RTTI support from libc\n\nOur type_info stub implementation is incompatible with the libc++ headers. Since\nwe don\u0027t need this support internally and anyone that wants RTTI support will\nhave to use libc++ anyway, this can be safely removed.\n\nChange-Id: Ied8b67a0d86a4eb0e31191a50cceba0e39a16a6d\n"
    },
    {
      "commit": "72c53933f852be6d1cd6c09c86176fbc6d609dac",
      "tree": "ab9422270d7a1ba6e973e7271376bdc6ccc73063",
      "parents": [
        "6c83305c9a0c43eff407f3b4a2ff10ad0be26f01"
      ],
      "author": {
        "name": "Sreeram Ramachandran",
        "email": "sreeram@google.com",
        "time": "Sun May 18 15:18:36 2014 -0700"
      },
      "committer": {
        "name": "Sreeram Ramachandran",
        "email": "sreeram@google.com",
        "time": "Sun May 18 15:18:36 2014 -0700"
      },
      "message": "Cosmetic changes to netd client files.\n\n+ Name the dispatch header correctly (NetdClientDispatch.h).\n+ Hide the global dispatch variable (__netdClientDispatch).\n+ Explain why it\u0027s okay to read the variable without locking.\n+ Use quotes instead of angle-brackets for non-system includes.\n+ Add necessary declarations for C compiles (and not just C++).\n\nChange-Id: Id0932165e71d81da5fce77a684f40c2263f58e61\n"
    },
    {
      "commit": "7c9923d05f03a78f70ee886878ac1dda9e84aa1d",
      "tree": "9b1338b8eee07a61126b5cb8c2e990858c7b24bd",
      "parents": [
        "a23ee2cf8e8665efe4e0929467782fad7ad31661"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 16 16:29:55 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 16 16:29:55 2014 -0700"
      },
      "message": "Export get_malloc_leak_info and free_malloc_leak_info, used by ddms.\n\nBug: 11156955\nChange-Id: I84043f7b2c0ea0e336f6e2af3b7adb2f8488bd53\n"
    },
    {
      "commit": "aafa3d0e4623f3c57c7abe66f6afa726b9cde348",
      "tree": "a5bc47536edf62b73e36a4335a8b84f39a7e216e",
      "parents": [
        "58b52fb133ee4f8a82d3da5c439ca7b9d2caa2bf",
        "6b7987cca3e28381a3471804811210cdc5617cc3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 16 23:04:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 16 23:04:02 2014 +0000"
      },
      "message": "Merge \"Hide various debug malloc implementation details.\""
    },
    {
      "commit": "58b52fb133ee4f8a82d3da5c439ca7b9d2caa2bf",
      "tree": "d17ca0031cd8c083d5fee07f9ca719e94b02e596",
      "parents": [
        "e2d5746a8ae9c7dd957b46286af42e7ff412a68b",
        "bd27a8b4af59e4078144f25953828061b6fead8b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 16 22:52:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 16 22:52:41 2014 +0000"
      },
      "message": "Merge \"Remove dead code.\""
    },
    {
      "commit": "7222b1b594a8fab4b9e744d764b70e4c17767794",
      "tree": "1e533c94afca3c8f5361649368fffde6bd4908b9",
      "parents": [
        "d9b0629868fe4a2ce2e144b826dd869b6d808834"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 16 15:47:29 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 16 15:47:29 2014 -0700"
      },
      "message": "Hide __signalfd4, used to implement signalfd(3).\n\nBug: 11156955\nChange-Id: I50842279cb5b32ec8bd45193435574e415cd806e\n"
    },
    {
      "commit": "6b7987cca3e28381a3471804811210cdc5617cc3",
      "tree": "9f589d880208e22bd6157db46e8bd8d38f90176f",
      "parents": [
        "d9b0629868fe4a2ce2e144b826dd869b6d808834"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 16 15:23:54 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 16 15:23:54 2014 -0700"
      },
      "message": "Hide various debug malloc implementation details.\n\nBug: 11156955\nChange-Id: Ib9d69d49ecec8eff4f12392bde94d843ae53d442\n"
    },
    {
      "commit": "bd27a8b4af59e4078144f25953828061b6fead8b",
      "tree": "52e4eb77c5a307f9cc6c992b10b29319944de93d",
      "parents": [
        "d9b0629868fe4a2ce2e144b826dd869b6d808834"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 16 14:43:00 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 16 14:43:00 2014 -0700"
      },
      "message": "Remove dead code.\n\nThis doesn\u0027t exist upstream.\n\nReally we should upgrade to the current arc4random, but that\u0027s a bigger\njob for another day.\n\nBug: 11156955\nChange-Id: If6cd41b79139c64c17e81999e246cf4f00882ce8\n"
    },
    {
      "commit": "2a60227223da700e4ae1b5436f61aea99fc7a5aa",
      "tree": "134e15b19ed1988c5125a68108d72b37c56e079b",
      "parents": [
        "5265ad6273cd7c61d096ebe0e29e493915e7c63e",
        "15b641a26731a7e42455c3ed22e1e9bdf31ea79c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 16 16:37:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 16 16:37:20 2014 +0000"
      },
      "message": "Merge \"Move libstdc++ into libc.\""
    },
    {
      "commit": "623b0d05bd924e7fa3c155492695123c87c3a2b1",
      "tree": "8fa47b2bf2fb7abe4b168fb1009108cdd762f6e3",
      "parents": [
        "089c7c921786ff6255526feec96552fc16ada7f4"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed May 14 23:11:05 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu May 15 13:05:21 2014 -0700"
      },
      "message": "Register _cleanup function with atexit\n\n * Register cleanup function with atexit\n   instead of calling it explicitly on\n   exit()\n * abort() no longer calls _cleanup:\n   Flushing stdio buffers on abort is no\n   longer required by POSIX.\n * dlmalloc no longer need to reset cleanup\n   (see above)\n * Upstream findfp.c makebuf.c setvbuf.cexit.c\n   to openbsd versions.\n\nBug: 14415367\nChange-Id: I277058852485a9d3dbb13e5c232db5f9948d78ac\n"
    },
    {
      "commit": "15b641a26731a7e42455c3ed22e1e9bdf31ea79c",
      "tree": "c06577c257be144af1d59f9f23e1f1117b22c3aa",
      "parents": [
        "bc7f8a791b4a510914fd5cac713415acb80fb806"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 18:18:55 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 18:18:55 2014 -0700"
      },
      "message": "Move libstdc++ into libc.\n\nThe Android build system always links against libstdc++.so anyway. Having\noperator new and operator delete in a separate library means we can\u0027t use\nconstructors and destructors on heap-allocated objects inside the C library,\nwhich is quite an unfortunate limitation.\n\nThis will be cheaper too; on LP64 we can stop linking against the [now empty]\nlibstdc++.so giving the dynamic linker one less library to worry about for\nevery process.\n\nThere\u0027s precedent too --- we already have no libpthread or librt.\n\nFor now I\u0027m leaving the include files where they are, and I\u0027m generating a\ndummy libstdc++.so and libstdc++.a. We can come back and clean that up later\nif all goes well.\n\nBug: 13367666\nChange-Id: I6f3e27ea7c30d03d6394965d0400c9dc87fa83db\n"
    },
    {
      "commit": "3e786987b5fb3272b37dd955fe13fc67a8ddc880",
      "tree": "5db3139cf8d8bbf6a1ea70ff00f584433268d042",
      "parents": [
        "bc7f8a791b4a510914fd5cac713415acb80fb806"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 17:02:09 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 17:02:09 2014 -0700"
      },
      "message": "Remove the unused __system_property_wait.\n\nThis isn\u0027t declared in any header file.\n\nBug: 14970171\nChange-Id: Ib9fce61343dfb6b6ccd7e1430e1a6e34e4e869df\n"
    },
    {
      "commit": "49ec2a0cdc56fcd6bdd1b0feea127acfabc076f9",
      "tree": "616f6898c6378880304cb4fbfe21e2dc4b8140ee",
      "parents": [
        "acc513698b90abdf84f26d6dd08eb0b32fa56714",
        "8f0cd8aa22906c3e678738eeba20fc1a5c399b6c"
      ],
      "author": {
        "name": "Sreeram Ramachandran",
        "email": "sreeram@google.com",
        "time": "Wed May 14 19:40:50 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 14 19:40:50 2014 +0000"
      },
      "message": "Merge \"Mark sockets on accept().\""
    },
    {
      "commit": "07f1ded1399805fa9367f4db2936832b0c22b7a5",
      "tree": "ef1ea3c1b18e92aad46fa839de895bf76a4780c7",
      "parents": [
        "e6c27a7af7a9b13e4e3d3ebd604d28effa9e9322"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 11:35:49 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 11:38:22 2014 -0700"
      },
      "message": "Remove the broken pthread deadlock prediction.\n\nThis hasn\u0027t built in over one release cycle and no one even noticed.\nart does this the right way and other projects should do the same.\n\nChange-Id: I7d1fb84c4080e008f329ee73e209ce85a36e6d55\n"
    },
    {
      "commit": "8f0cd8aa22906c3e678738eeba20fc1a5c399b6c",
      "tree": "38bbf429b63d34d1d339bcd02689e81f744ef53a",
      "parents": [
        "15c13bd6cc0ce44d8f083f75d0bfa926a88cc169"
      ],
      "author": {
        "name": "Sreeram Ramachandran",
        "email": "sreeram@google.com",
        "time": "Tue May 13 15:40:26 2014 -0700"
      },
      "committer": {
        "name": "Sreeram Ramachandran",
        "email": "sreeram@google.com",
        "time": "Wed May 14 11:10:22 2014 -0700"
      },
      "message": "Mark sockets on accept().\n\n(cherry picked from commit 58b1f3f6a30a660ad81637c2b50382c3d279243b)\n\nChange-Id: I5d09be413cf720fbed905f96313b007997ada76c\n"
    },
    {
      "commit": "cd46104cf81aef14f9554bb4d9bced534a121471",
      "tree": "cc26d6481805b1d4d96089d57020976daa0b662d",
      "parents": [
        "15c13bd6cc0ce44d8f083f75d0bfa926a88cc169"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 10:58:58 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 10:58:58 2014 -0700"
      },
      "message": "Fix a typo in the big g_ search/replace.\n\nChange-Id: I79261de70d225236d0eadff288220258d697437f\n"
    },
    {
      "commit": "1728b2396591853345507a063ed6075dfd251706",
      "tree": "7083cd234073afa5179b94b3d978550c890af90c",
      "parents": [
        "bac795586bbc5dcbe886d8d781710f60c4c19d9b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 10:02:03 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 14 10:02:03 2014 -0700"
      },
      "message": "Switch to g_ for globals.\n\nThat\u0027s what the Google style guide recommends, and we\u0027re starting\nto get a mix.\n\nChange-Id: Ib0c53a890bb5deed5c679e887541a715faea91fc\n"
    },
    {
      "commit": "8205a61248973ac13716ae80e712c80e126b0541",
      "tree": "db74b30ed412e9dfa4f6fcf9be3cad2493f52b42",
      "parents": [
        "2ed09d44ecdaf656a598052d155a813897239042"
      ],
      "author": {
        "name": "Sreeram Ramachandran",
        "email": "sreeram@google.com",
        "time": "Tue May 13 17:24:03 2014 -0700"
      },
      "committer": {
        "name": "Sreeram Ramachandran",
        "email": "sreeram@google.com",
        "time": "Tue May 13 17:24:03 2014 -0700"
      },
      "message": "Fix build (take two).\n\nMake sure __netdClientDispatch is defined in the same set of libraries that\nrefer to it (e.g.: with connect.cpp).\n\nChange-Id: I86d7bf2df5bde09f75a35b204eac0e1361747e22\n"
    },
    {
      "commit": "ceb5bd787c8ce281e5f4343c5d4f77b41c3e2919",
      "tree": "4b91184c22597e1757ba036d30e09f5c5e586a74",
      "parents": [
        "0ccef7ec5294b34902e07c26db55891d3eddb2be"
      ],
      "author": {
        "name": "Sreeram Ramachandran",
        "email": "sreeram@google.com",
        "time": "Mon May 12 11:19:16 2014 -0700"
      },
      "committer": {
        "name": "Sreeram Ramachandran",
        "email": "sreeram@google.com",
        "time": "Tue May 13 11:30:03 2014 -0700"
      },
      "message": "Introduce netd_client, a dynamic library that talks to netd.\n\nThe library exists outside bionic. It is dynamically loaded, to replace selected\nstandard socket syscalls with versions that talk to netd.\n\nChange connect() to use the library if available.\n\n(cherry picked from commit 3a6b627a14df8111b03e452f2df4b5f4938e0e49)\n\nChange-Id: Ib6198e19dbc306521a26fcecfdf6e8424d163fc9\n"
    }
  ],
  "next": "eb664e24c074b88539b743668109d8b4eaa925bd"
}
