)]}'
{
  "log": [
    {
      "commit": "0d4ccee35101c6bcd6cc28c23fe79d7b48a98dd0",
      "tree": "1249c631a5be89488538f3d9d2d0641d1cf5fbe8",
      "parents": [
        "104a472958f86eafafe0c1d9e2c58ba6403f99e7",
        "224ff048efc782bd60047a3ae53eb66941f73125"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 21:19:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 14 19:41:13 2014 +0000"
      },
      "message": "Merge \"Change name of MB_CUR_MAX implementation function.\""
    },
    {
      "commit": "224ff048efc782bd60047a3ae53eb66941f73125",
      "tree": "7c148e8f2e8095a98fa9cc24e710edc3ccf5d008",
      "parents": [
        "9a74e4c15c17b9126ad348d865002880fc36bd12"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 13:56:51 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 13:56:51 2014 -0700"
      },
      "message": "Change name of MB_CUR_MAX implementation function.\n\nGlibc calls theirs __ctype_get_mb_cur_max. Make ours match to cut down\non differences between bionic and glibc.\n\nBug: 11156955\nChange-Id: Ib7231f01aa9676dff30aea0af25d597bfe07bc73\n"
    },
    {
      "commit": "b3aaf398e1d6af5362e0f30f11ab7c11890644c2",
      "tree": "d71aeb605341e0bc89b43a483c18b5f5e7c2d9c1",
      "parents": [
        "6e3823d37e54929558990d7c475bc30d381098fe"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 13:11:58 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 13:11:58 2014 -0700"
      },
      "message": "Hide __libc_init_vdso().\n\nBug: 11156955\nChange-Id: I7ee31e1ee2ce479c5746b374a239637d582815fe\n"
    },
    {
      "commit": "4f85c6ffd31d1f8cc000ab326edd8edb7ecd55a9",
      "tree": "1b829c7e8544c18787c7f28729132e621b0c170e",
      "parents": [
        "e942b3ed81ad4e0161f3ffa4f8d0017bfbb750e2",
        "30214b901e8dbec9ec11230187a8e71fc8a04014"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 14 01:03:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 12 19:23:43 2014 +0000"
      },
      "message": "Merge \"Add memory ordering constraint, convert to C11 atomics\""
    },
    {
      "commit": "edd81faff0b61fc458dc27b9c91f358d3313ce7a",
      "tree": "75a100c4d5939b8b6b77274626e8994c0b92c8e8",
      "parents": [
        "00c16c1b921dfeab42eb92ac53c6d79addc9f549"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 12 16:21:26 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 12 16:53:14 2014 -0700"
      },
      "message": "Hide __libc_malloc_dispatch.\n\nNow that -Bsymbolic is fixed, we can hide __libc_malloc_dispatch without\nbreaking ASAN.\n\nBug: 11156955\nChange-Id: Ia2fc9b046a74e666b33aa6c6c5435f70a63b8021\n"
    },
    {
      "commit": "51a22a12ab370933a35463f5c81223132ec64dcb",
      "tree": "83033d1672090d93a22d349669bbe9159322f4e8",
      "parents": [
        "a0db46418757dd1b399acb97ff42083cc274e8ae"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Aug 08 16:57:15 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 11 09:22:48 2014 -0700"
      },
      "message": "Label pages mapped by linker_allocator\n\nChange-Id: I7e0bf29bc1a480e9be0d1ae573ca1063d90d82ff\n"
    },
    {
      "commit": "30214b901e8dbec9ec11230187a8e71fc8a04014",
      "tree": "b81bf8ff795f3191c5f139893ffc29b4d4624092",
      "parents": [
        "1c5e415f8c4cd2cb10ad1d1cf660d17161132772"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Jul 31 15:53:22 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 08 11:34:25 2014 -0700"
      },
      "message": "Add memory ordering constraint, convert to C11 atomics\n\nAdd an ordering constraint/fence to __system_property_serial.\nThis slows down a read on a Nexus 5 from about 50 to about 70 ns,\nbut avoids the possibility of seeing an inconsistent property value.\nUse C11 atomic operations where easy and appropriate.\nThis code remains not fully C++11 memory model conformant, but\nI would now expect the generated code to now be correct with current compilers.\n\nBug:14970171\nChange-Id: I0891ff1d0f914ae5c3857e3d76b6a7c8a4a07d83\n"
    },
    {
      "commit": "88a1f520d2d54d362dc2f29a0fad2cf0029c8918",
      "tree": "d2d8f1a51b39a7883247dbf36544621101decf3b",
      "parents": [
        "f2d8c357eec1bbc4e7441942dfc338ad1d9a207a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 07 16:21:21 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 08 09:40:17 2014 -0700"
      },
      "message": "Add a way to disable backtracing in malloc debug.\n\nThe property libc.debug.malloc.nobacktrace set to non-zero disables\ngetting backtracing when using mode 1 or mode 10.\n\nBug: 16874447\n\n(cherry picked from 49de01a5be7bfb07baaea7415647d838383e1b59)\n\nChange-Id: I6bbefe5420b14991fe84c2f849222dcd7cb592bf\n"
    },
    {
      "commit": "e380960813bbb6e05d820eb75885556a1c4bf6ac",
      "tree": "9eafb0466f8e3cdc3c24125d295e488312ac2099",
      "parents": [
        "f3868fa735ad67ec853f3db36936ca184bd5f79a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Aug 06 14:15:01 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Aug 06 17:57:04 2014 -0700"
      },
      "message": "Do a second key cleanup in pthread_exit.\n\nDuring pthread_exit, the keys are cleaned. Unfortunately, a call to\nfree occurs after the cleanup and the memory for some of the keys\nis recreated when using jemalloc. The solution is to do the key\ncleanup twice.\n\nAlso, modify the pthread_detach__leak test to be less flaky\nwhen run on a jemalloc system.\n\nBug: 16513133\n\n(cherry picked from commit 18d93f2793fad393b6aa6eae6afe1054958339d5)\n\nChange-Id: Idb32e7f9b09e2c088d256ed9eb881df80c81ff8e\n"
    },
    {
      "commit": "8b91980e4c139558f9cca4e9a0980dad07c06e68",
      "tree": "53262ac65a9b8d4ee7983650d809f4f4c46f92b0",
      "parents": [
        "afc8672387438f9c8926a12831f43a6dd1f59323",
        "1628eb1d43008c52b00ec98d10c4fd9e8b6fc7c5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 06 17:55:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 06 17:20:04 2014 +0000"
      },
      "message": "Merge \"Explain how wcswcs ended up in ndk_cruft.cpp.\""
    },
    {
      "commit": "1628eb1d43008c52b00ec98d10c4fd9e8b6fc7c5",
      "tree": "dbc976246dd99c44e949e410290283fd6dd882e1",
      "parents": [
        "4ad5066e1de326e5db46df18eeade9a88bc11bec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 06 10:47:33 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 06 10:47:33 2014 -0700"
      },
      "message": "Explain how wcswcs ended up in ndk_cruft.cpp.\n\nChange-Id: Ie45148095b2d5c3896c0df623d5d06a700c33c70\n"
    },
    {
      "commit": "6a918870bab1a55a5f57dd7954abd9a8a27c1bc2",
      "tree": "fa02049d5e70ded2d921311a4aa1b0af09bf22bf",
      "parents": [
        "447fe1c23bc5adaded9a51d3b58f3adaf2cce7b3"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 05 20:53:31 2014 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 05 14:11:38 2014 -0700"
      },
      "message": "Revert \"Replaces vfork() implementation with fork()\"\n\nWe\u0027re getting cold feet on this one... let\u0027s put it back.\n\nThis reverts commit 210331d9762037afb9b5ed8413079c6f65872df9.\n\nChange-Id: I6b0d3c2b1dbf7f1dc9566979a91b7504c2189269\n"
    },
    {
      "commit": "b6cc8e00cd562bd0f81fe44a6bc646540a862f32",
      "tree": "f4630dd8581b62020996f5f30636e593ac79c9b4",
      "parents": [
        "36bacd237de931c48714d1a8aa4aa9522283e407"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jul 31 11:31:03 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jul 31 11:31:03 2014 -0700"
      },
      "message": "Fix mbsrtowcs(3) src param for finished string.\n\nA mistake I made while cleaning this up the first time through.\nmbstrtowcs(3) sets the src param to null if it finishes the string.\n\nChange-Id: I6263646e25d9537043b7025fd1dd6ae195f365e2\n"
    },
    {
      "commit": "1aec7c1a35b2d03038b194967d5ebdc8e2c24b80",
      "tree": "977211860df02be4f4c0843cf231ec6c3da88ee6",
      "parents": [
        "0f7ed163cf6c1fe6d71a1d7e5fb6d0989213be85"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jul 30 10:53:48 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jul 30 17:09:46 2014 -0700"
      },
      "message": "Proper MB_CUR_MAX.\n\nPreviously this was hard coded to 4. This is only the case for UTF-8\nlocales.\n\nAs a side effect, this properly reports C.UTF-8 as the default locale\ninstead of C.\n\nChange-Id: I7c73cc8fe6ffac61d211cd5f75287e36de06f4fc\n"
    },
    {
      "commit": "861c0ef37bcfcae56d88572cb01c18bcfe1faded",
      "tree": "f63fc703a50b23213537962e4f60519f8b34db47",
      "parents": [
        "a7dc7600fe1be1f3fd61856b407bb7065307e711"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jul 24 17:52:23 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jul 29 18:10:00 2014 -0700"
      },
      "message": "Use libunwindbacktrace for debug malloc code.\n\nCreate a method of disabling the debug allocation code paths so that\nit\u0027s possible to use the libunwindbacktrace library without any\nmodifications.\n\nUse this path to create and destroy the maps for the process. It\u0027s not\nstricly necessary in the init code since the symbols are not modified\nuntil after the initialize calls.\n\nAlso, remove the debug_XXX source files that doesn\u0027t need to be in libc.so.\n\nFix the maps reading code since it was completely broken for 64 bit.\n\nBug: 16408686\n\nChange-Id: I6b02ef6ce26fdb7a59ad1029e7cbba9accceb704\n"
    },
    {
      "commit": "a7dc7600fe1be1f3fd61856b407bb7065307e711",
      "tree": "e9255c5f3358a393b7cdc56d7709a4970bb9d5d0",
      "parents": [
        "52f8271fa9fd3f84849465f3c978580fbed866c1",
        "4916706cfe590eb06c9b5bd4bd402ce056034d51"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 29 17:43:10 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 28 22:45:44 2014 +0000"
      },
      "message": "Merge \"Fix linkage of grantpt(3).\""
    },
    {
      "commit": "4916706cfe590eb06c9b5bd4bd402ce056034d51",
      "tree": "75e0434f53123a7f34ffb405b84899bbacc80b38",
      "parents": [
        "50a9630cc26cbc1e38e3ddc589f04fa5cd91697b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 17:24:00 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 19:55:23 2014 -0700"
      },
      "message": "Fix linkage of grantpt(3).\n\nAlso clean up the implementation of all the pty functions, add tests,\nand fix the stub implementations of ttyname(3) and ttyname_r(3).\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d58888\nChange-Id: I0fb36438cd1abf8d4e87c29415f03db9ba13c3c2\n"
    },
    {
      "commit": "a406ee6d5f616192e9a13afad6ac6a9969814fc1",
      "tree": "bc9d1575ddacb246d49109367b6151732fbfe19e",
      "parents": [
        "337c0cefdc4667143a1f4f2c30113b452c5d188f"
      ],
      "author": {
        "name": "Brigid Smith",
        "email": "brigidsmith@google.com",
        "time": "Mon Jul 21 15:38:06 2014 -0700"
      },
      "committer": {
        "name": "Brigid Smith",
        "email": "brigidsmith@google.com",
        "time": "Mon Jul 28 19:38:08 2014 -0700"
      },
      "message": "Added a bionic systrace class and tracing to pthread_mutex.cpp.\n\nbionic_systrace.h contains an implementation of tracing that\ncan be used with systrace.py and its associated viewer.  pthread_mutex\nnow uses this tracing to track pthread_mutex contention, which can be\nenabled by using the \"bionic\" command line option to systrace.\n\nBug: 15116468\nChange-Id: I30ed5b377c91ca4c36568a0e647ddf95d4e4a61a\n"
    },
    {
      "commit": "1abb8bd21d64c2bd21258469b688483f821974d5",
      "tree": "53bbf37102d4f12e095eab1816506e7b84153479",
      "parents": [
        "123172ae370fe51e2d1fc26fe0aafa095af52919"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jul 25 11:24:03 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jul 25 11:24:03 2014 -0700"
      },
      "message": "en_US.UTF-8 is also supported.\n\nChange-Id: Ic35fad3596dc5e24ee8ae35543a274a471f27bb2\n"
    },
    {
      "commit": "40a521744825b6060960c296d5fb3da4c6593d94",
      "tree": "b9736886f5ca89daf4bf6cca05e090315a006dcd",
      "parents": [
        "4ad5066e1de326e5db46df18eeade9a88bc11bec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 30 14:48:10 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 30 14:49:40 2014 -0700"
      },
      "message": "Only wipe TLS for user-supplied stacks.\n\nBug: 16667988\nChange-Id: Id180ab2bc6713e1612386120a306db5bbf1d6046\n"
    },
    {
      "commit": "d6f614a4e16b0fcf4a4fba748bf21fc0017d3619",
      "tree": "0c867acec33e9182579f155e52cdcb52feb49f4d",
      "parents": [
        "8dbe3f0f51f0cd26c22df82bdef9a2f8caea7ef6",
        "3e424d0a241f8ae5194514dabc4ad899f5a5416d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 24 22:11:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 24 22:07:52 2014 +0000"
      },
      "message": "Merge \"Implement twalk(3), add unit tests.\""
    },
    {
      "commit": "3e424d0a241f8ae5194514dabc4ad899f5a5416d",
      "tree": "b206a209b235ba16e560b514766853c1ac908c22",
      "parents": [
        "467e49be70231f55bd7ba908407b4413294d3bfc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 23 16:02:26 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 24 14:55:29 2014 -0700"
      },
      "message": "Implement twalk(3), add unit tests.\n\nI\u0027ve also added insque(3) and remque(3) (from NetBSD because the OpenBSD\nones are currently broken for non-circular lists).\n\nI\u0027ve not added the three hash table functions that should be in this header\nbecause they operate on a single global hash table and thus aren\u0027t likely\nto be useful.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d73719\nChange-Id: I97397a7b921e2e860fd9c8032cafd9097380498a\n"
    },
    {
      "commit": "f1e83cc34a58761fc7bc5178c6f283db85d6057a",
      "tree": "bfdd6078020a74f855f320fbcb87f60de7bd47e6",
      "parents": [
        "1a918d9be83013cdc8e194edf35b5295eba4ab1c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 20:31:47 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 28 09:43:21 2014 -0700"
      },
      "message": "Use vsnprintf(3) in syslog(3).\n\nIt seemed like a clever trick to use the internal log message formatting\ncode in syslog(3), but on reflection that means you can\u0027t (for example)\nformat floating point numbers. This patch switches us over to using good\nold vsnprintf(3), even though that requires us to jump through a few hoops.\n\nThere\u0027s no obvious way to unit test this, so I wrote a little program and\nran that.\n\n(cherry-pick of b1b60c30bf321c0fc02264b953b5c16c49d34457.)\n\nBug: 14292866\nChange-Id: I9c83500ba9cbb209b6f496067a91bf69434eeef5\n"
    },
    {
      "commit": "afe6360627ef3f0e9bc8f45535fbfae3354f3ae0",
      "tree": "81d3cf23f17e54ad6362ed474f6f0fb822574ffd",
      "parents": [
        "467e49be70231f55bd7ba908407b4413294d3bfc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 23 11:38:38 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 23 11:38:38 2014 -0700"
      },
      "message": "Fix belated review comments on syslog change.\n\nBug: 14292866\nChange-Id: I3cd92084cb55b5673f6ba62d51952941b79deb51\n"
    },
    {
      "commit": "4d421901e587fd1563da94baf59b015017c01b91",
      "tree": "bc8d44e08bfb7cca6a7f1edd86930d8c62fcade4",
      "parents": [
        "925d388e24945afb17f66d5c132f993e6a0d4fee",
        "2b67d7dee09852789d9ac7d8972ed6cdb2c18430"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 22 01:59:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 21 15:45:37 2014 +0000"
      },
      "message": "Merge \"Use upstream OpenBSD\u0027s arc4random.\""
    },
    {
      "commit": "2b67d7dee09852789d9ac7d8972ed6cdb2c18430",
      "tree": "a9a5165ceb108943a62dd251c2aeeccd2f96ae23",
      "parents": [
        "1fb90a8aa0086f7e4f7960a5b916b8605a9a3c96"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 18 15:57:41 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 21 14:38:16 2014 -0700"
      },
      "message": "Use upstream OpenBSD\u0027s arc4random.\n\nThe getentropy_linux.c is lightly modified to build on Android, but we\u0027re now\ncompletely in sync with upstream OpenBSD\u0027s arc4random implementation.\n\nChange-Id: If32229fc28aba908035fb38703190d41ddcabc95\n"
    },
    {
      "commit": "3ad8ecb64e9dd5614169232b84a93eb3b8aa32d7",
      "tree": "f756f624e7cc5bb019465444881deb6ffbc2dfe6",
      "parents": [
        "1fb90a8aa0086f7e4f7960a5b916b8605a9a3c96"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 21 16:35:24 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 21 16:56:48 2014 -0700"
      },
      "message": "Rewrite syslog(3) to use Android logging.\n\nSince we don\u0027t have syslogd on Android and you can\u0027t run one on a non-rooted\ndevice, it\u0027s more useful if syslog output just goes to the regular Android\nlogging system.\n\nBug: 14292866\nChange-Id: Icee7f088b97f88ccbdaf471b98cbac7f19f9210a\n"
    },
    {
      "commit": "1fb90a8aa0086f7e4f7960a5b916b8605a9a3c96",
      "tree": "15032f013bcf2f4b96c346f70fa0a801d6cb3793",
      "parents": [
        "e9731387f46938dd73fcda0193460b33655400c4",
        "6b55ba54eff4657cffe053b71e1c9cce2944a8a9"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jul 21 18:47:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 17 22:34:19 2014 +0000"
      },
      "message": "Merge \"Fix mbsrtowcs(3)\u0027s handling of len parameter.\""
    },
    {
      "commit": "6b55ba54eff4657cffe053b71e1c9cce2944a8a9",
      "tree": "cec574487f5fe5c039a9b2acd90ea4dbe22e8066",
      "parents": [
        "7dd126a38ca501818b07927f310dcc0f531c0f1f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sun Jul 20 11:51:26 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jul 21 11:45:48 2014 -0700"
      },
      "message": "Fix mbsrtowcs(3)\u0027s handling of len parameter.\n\nThe len parameter is a _maximum_ length. The previous code was treating\nit as an exact length, causing the following typical call to fail:\n\n    mbsrtowcs(out, \u0026in, sizeof(out), state); // sizeof(out) \u003e strlen(in)\n\nChange-Id: I48e474fd54ea5f122bc168a4d74bfe08704f28cc\n"
    },
    {
      "commit": "97e31dedf056b07bcfcd46c49b60bf0798c60843",
      "tree": "376eeda115899cee701483913620a0a261b56351",
      "parents": [
        "7dd126a38ca501818b07927f310dcc0f531c0f1f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Sun Jul 20 11:49:46 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jul 21 11:10:00 2014 -0700"
      },
      "message": "__libc_fatal should print a newline to stderr.\n\nChange-Id: I088dc880d7488a65beac8cda95f530f3db41f112\n"
    },
    {
      "commit": "6425327c3278137d153b8a7505f97d2f5f058d49",
      "tree": "89601d76e7adb7fa4e2629444d9318068825bcc1",
      "parents": [
        "d18b87f38de8644acdcd1a112bd06d3a70d2ea1d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 18 12:26:45 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 18 14:16:51 2014 -0700"
      },
      "message": "Use the mmap/munmap for allocation routines.\n\nTo avoid any issues calling malloc related routines, use mmap/munmap.\nSpecifically, this avoids any problems when this is compiled into a\nmalloc debug shared library.\n\nChange-Id: Iae2d197145da43dc103ad6024357d8cc2374378f\n"
    },
    {
      "commit": "2f9c6e38b8f59ea6e53e95e062e04dc987ac67f3",
      "tree": "357f52fa44154578044df31cf4ee3e281d206201",
      "parents": [
        "169e2bf6bd092ea3599cfe3426766988ec66658a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 17 15:09:17 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 17 15:09:17 2014 -0700"
      },
      "message": "Fix private/bionic_name_mem.h build breakage.\n\nChange-Id: I8fe9c63dbbb5911721ca56791c0bff4bdf403314\n"
    },
    {
      "commit": "d7453860a6b06e7d4a960c20792ce6f0b6cc5f3a",
      "tree": "eb16bdf461a93257bf1f16a7e7eabb36f52a4e46",
      "parents": [
        "43363ab7202a935e12cf6a38d32a48433bdc3705"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 17 14:26:33 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 17 14:26:33 2014 -0700"
      },
      "message": "Remove non-standard prctl constants from \u003csys/prctl.h\u003e.\n\nAlso remove __bionic_name_mem which has exactly one caller, and is only\never expected to be used in this one place.\n\nChange-Id: I833744f91e887639f5b2d1269f966ee9032af207\n"
    },
    {
      "commit": "98b088dce70a2625d5cfa1872e427af5f06bfd99",
      "tree": "700f61f789e13229ca9300c6eecdf212a7936596",
      "parents": [
        "f13aa6fc5b66d1c98b7fd4b43e20515033707e56"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 16 15:18:54 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 16 16:07:10 2014 -0700"
      },
      "message": "ptrace(3) should be varargs.\n\nBug: 16352070\nChange-Id: Ied72e6e79eaf912fc93fc49ae7637af321a31a59\n"
    },
    {
      "commit": "625993dfbb085a3cde7492eda8ec1cdc1ee39a78",
      "tree": "4385fee1dde6d90f42c616a2afc6766824f72835",
      "parents": [
        "770d0f6177ca1ad242b509151fb612f07ef8a07b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 15 16:53:13 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 16 14:27:43 2014 -0700"
      },
      "message": "Use VDSO for clock_gettime(2) and gettimeofday(2).\n\nBug: 15387103\nChange-Id: Ifc3608ea65060c1dc38120b10b6e79874f182a36\n"
    },
    {
      "commit": "e612add0516b1b6dd83f3ea1a1446cd6b8c2f7e5",
      "tree": "0929f020c172dd38fcc89fcc41cf91b3ee3f96b6",
      "parents": [
        "ee3608f9d3259a0ef22a27932a3f5149fb2763c8"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jul 14 15:48:02 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jul 14 15:48:02 2014 -0700"
      },
      "message": "Remove isascii_l(3).\n\nHad intended to remove this one before submitting the locale changes,\nbut forgot. It isn\u0027t a standard ctype function, so we don\u0027t need it.\n\nChange-Id: Ie9c09fa6c61b1101b5992fa06da30e373a0c6bf7\n"
    },
    {
      "commit": "673bff01aed0c08991b98841ed0bfad78a589672",
      "tree": "9d97ebd099e97d25702dc44d5861a22e8c6bb263",
      "parents": [
        "4ae938698c89e9e3c79008d9a833db726779accd",
        "76c241b091b4d9d9a9237d40e814e52ce2917f47"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 14 19:19:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 14 17:20:33 2014 +0000"
      },
      "message": "Merge \"Implement rand/srand in terms of random/srandom.\""
    },
    {
      "commit": "76c241b091b4d9d9a9237d40e814e52ce2917f47",
      "tree": "fb7139355285a3b9efcabd6009b8f2d36024a9fe",
      "parents": [
        "83ce99d8b7e2b15b2169e6e6e18e871ad35abb6c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 14 11:57:03 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 14 12:02:22 2014 -0700"
      },
      "message": "Implement rand/srand in terms of random/srandom.\n\nCode developed for glibc or older versions of bionic might expect more\nrandomness than the BSD implementation provides.\n\nBug: 15829381\nChange-Id: Ia5a908a816e0a5f0639f514107a6384a51ec157e\n"
    },
    {
      "commit": "53c3c271dc9927dd280981fc23409af60f460007",
      "tree": "4a04122167583b9994204372bbc549a8174b9611",
      "parents": [
        "83ce99d8b7e2b15b2169e6e6e18e871ad35abb6c"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Jul 11 12:59:16 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Jul 14 12:05:16 2014 -0700"
      },
      "message": "Upstream atexit\n\nChange-Id: Ia454a2181b5058ed9783dc02b6b1805d0e4d2715\n"
    },
    {
      "commit": "dfb5ce42bcc5a275af49211c0bbe64c5ec3d2668",
      "tree": "4ff3d2f96f0c5e00edac99cd86119f2ecc5cfa73",
      "parents": [
        "76df69d1f5cbbc8a2c1e899bc1ad5ada8b083e1e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jul 09 22:51:34 2014 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jul 11 16:21:31 2014 +0000"
      },
      "message": "Revert \"Revert \"Add locale aware APIs.\"\"\n\nThis reverts commit 063e20c26943ec82ef1d53a544545e79054e93d3.\n\nChange-Id: Ib8c9004efefe75a5346b3af50dfe37952d91eb21\n"
    },
    {
      "commit": "91570ce987ef93f9ba2fa663a5fee1bd2525a2ba",
      "tree": "6d79ac1618f8415982041faf046378f8b684a12e",
      "parents": [
        "f0f8cd1ff3e7f7124cab8a687370b51df4ec93de"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 10 12:34:23 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 10 12:34:23 2014 -0700"
      },
      "message": "Slim down static binaries by avoiding stdio.\n\nIt\u0027s okay for a program to choose to drag in stdio, but it\u0027s unfortunate\nif even the minimal \"int main() { return 42; }\" drags in stdio...\n\nThis brings the minimal static binary on ARM down from 78KiB to 46KiB.\n\nGiven that we don\u0027t have a separate -lpthread it\u0027s not obvious to me that\nwe can shave this down any further. I\u0027m not sure whether this is a worthwhile\nchange for that reason. (And the fact that dynamic binaries, the usual case,\nare unaffected either way.)\n\nChange-Id: I02f91dcff37d14354314a30b72fed2563f431c88\n"
    },
    {
      "commit": "e959a3b3157e38ebda4ce6f86efb5644faa4988b",
      "tree": "3e8e0aec84c044d4471cf76b0348aaccce7df1f8",
      "parents": [
        "cd23370ca737dffc49166f8aacd19a025e72266f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 10 10:25:26 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 10 10:25:26 2014 -0700"
      },
      "message": "Remove the global lock around thread stack creation.\n\nThis lock has been here since the original commits, but as far as I can tell\nit never served any purpose. We\u0027ve never had a free list of cached stacks or\nanything like that.\n\nChange-Id: I9d665c7eaa9c699ce0659ffb111402a0239fe1f5\n"
    },
    {
      "commit": "cd23370ca737dffc49166f8aacd19a025e72266f",
      "tree": "d2acfa3e3bc6ba56c9db239975854f69b8779aa1",
      "parents": [
        "02459d34c9b82741155fbbb32850a7987eb7abaf",
        "e0f25dda3f38a70e5689e785597c5cf2b68bdcf8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 10 17:10:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 10 16:05:36 2014 +0000"
      },
      "message": "Merge \"Remove the obsolete _thread_created_hook.\""
    },
    {
      "commit": "e0f25dda3f38a70e5689e785597c5cf2b68bdcf8",
      "tree": "bacde97e2513770b1d9c9bfe76792f1e7c0d7d57",
      "parents": [
        "d028b6209cde7929e6d0613cbd92cc7b766d3d09"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 09 22:13:55 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 09 22:13:55 2014 -0700"
      },
      "message": "Remove the obsolete _thread_created_hook.\n\ngdb won\u0027t even try to use this on Android because it knows we don\u0027t\nsupport old enough kernels to need it.\n\nBug: 15470251\nChange-Id: Ia6d54585d888bbab8ee0490a148a1586b25437b9\n"
    },
    {
      "commit": "f8408c58fa61540d8b6b5afec4246284482d89c2",
      "tree": "98f7474693249a59c68493f9e3adb13179066d15",
      "parents": [
        "e95d0fc34cc3f6ef658c6470ffe4b59fbbc978b5"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jul 10 12:47:13 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jul 10 12:47:13 2014 +0100"
      },
      "message": "Move __cmsg_nxthdr to its proper file.\n\nChange-Id: I095fb6bc5318f2d256baa97658bdfe679d235aec\n"
    },
    {
      "commit": "e95d0fc34cc3f6ef658c6470ffe4b59fbbc978b5",
      "tree": "b6abcfed663ec8f744fe4eb41888dcf5912cd8e7",
      "parents": [
        "25fba981a17c51df6cf88d5ace7ffe3c5a5766e4"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jul 07 13:33:04 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jul 10 12:44:52 2014 +0100"
      },
      "message": "Removed obsolete symbol cmsg_nxthdr.\n\nBug: 15822452\nChange-Id: I5322fb29522fc58e9c3489ff86216e25a12ef970\n"
    },
    {
      "commit": "dda1c6c466c4f31de31d76c8be7e46c16b4b4209",
      "tree": "33df23032fdd6451750acc4f87ea0e298d2cee5b",
      "parents": [
        "4c199170a84e725a56b7d40c113c9d76a75d89ab"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 09 17:16:07 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 09 21:27:15 2014 -0700"
      },
      "message": "Do not include libc_common in malloc debug code.\n\nThe inclusion of the static libc_common library in the malloc_debug_XXX.so\nshared libraries causes constructors to be called twice. This doesn\u0027t seem\nto have caused any issues when setting the libc.debug.malloc property.\nHowever, jemalloc crashes because there are two jemalloc implementations,\none in the static libc_common library and one in the shared library. Each\nimplementation has created overlapping thread keys that are not the same.\nThe crash comes because one of the jemalloc keys is actually used by the\nlocale setting code. Thus if someone sets the locale, the jemalloc code\ncrashes trying to access the same key.\n\nChange-Id: Iaac650a82d69064db148a6333e9403744f68b4a4\n"
    },
    {
      "commit": "063e20c26943ec82ef1d53a544545e79054e93d3",
      "tree": "486076b9e0dd6439cea5f0108ecf6154df6e4aab",
      "parents": [
        "e087eac404b0e30de427392065e2750acf92bd4a"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jul 09 22:50:43 2014 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jul 09 22:50:43 2014 +0000"
      },
      "message": "Revert \"Add locale aware APIs.\"\n\nAccidentally verified against a dirty tree. Needs the companion change to libc++ to land upstream before I can submit this.\n\nThis reverts commit e087eac404b0e30de427392065e2750acf92bd4a.\n\nChange-Id: I317ecd0923114f415eaad7603002f77feffb5e3f\n"
    },
    {
      "commit": "e087eac404b0e30de427392065e2750acf92bd4a",
      "tree": "c547e35ffc82ee9afd441d2e3739a87de73103fd",
      "parents": [
        "6cdd0cfd2f279dfb20b9f7cccc963eb9ee91c666"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jul 09 10:09:04 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jul 09 15:41:53 2014 -0700"
      },
      "message": "Add locale aware APIs.\n\nSince we only support the C locale, we can just forward all of these to\ntheir non-locale equivalents for correct behavior.\n\nChange-Id: Ib7be71b7f636309c0cc3be1096a4c1f693f04fbb\n"
    },
    {
      "commit": "2b2916d15458671babed9e250b4d98f1980a976d",
      "tree": "3c70b424a97110fd8d725a9e446ad53ec1fc155c",
      "parents": [
        "db42a9f5a3b8a6bb6af2d9ef42844c8dc835527b",
        "920d831ba15a4d9707e70e834df1be12613413c3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 07 17:53:23 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 02 20:49:42 2014 +0000"
      },
      "message": "Merge \"Remove some dead data.\""
    },
    {
      "commit": "920d831ba15a4d9707e70e834df1be12613413c3",
      "tree": "34c719c9fcc8806032ef78b2b34ec80fae6bee66",
      "parents": [
        "1f262b35fef5108e3bd3fbea4b6aa1ce635767f9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 07 09:46:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 07 09:46:11 2014 -0700"
      },
      "message": "Remove some dead data.\n\nClang doesn\u0027t like dead data, and this is just an LP32 compatibility turd.\n\nChange-Id: I3832748a4e773b254877f4438b5340e7d4c1ce70\n"
    },
    {
      "commit": "6917e6c2aed624aea146c68c35c6148c136e3dcc",
      "tree": "ac554851f78ae67b2926eeac1966befe57eb2899",
      "parents": [
        "ab4fc82315567a1400bb25af3f835f1b5d80a0fe"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 02 16:46:34 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 02 16:46:34 2014 -0700"
      },
      "message": "Fix recv.cpp so it can build with clang.\n\nChange-Id: Iac3e676aa256837333240219bcadbdc31985b5dd\n"
    },
    {
      "commit": "4d763df3243f81041269015d0ac3fbd2912d5f3d",
      "tree": "a2864cfb211669420aff5d38301d040d3d6b6b36",
      "parents": [
        "1ee1bfdeeca74d71f3e7de7ac3a7e45c9a7d0f53",
        "29edbfd64ff636b40309d350ca038a7fdb114ad8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 07 17:49:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 05 03:01:43 2014 +0000"
      },
      "message": "Merge \"Fix a broken boolean test found by clang.\""
    },
    {
      "commit": "29edbfd64ff636b40309d350ca038a7fdb114ad8",
      "tree": "455e7fbb22c3a8622776ced938dda03feb96b732",
      "parents": [
        "1f262b35fef5108e3bd3fbea4b6aa1ce635767f9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 07 09:45:15 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 07 09:45:15 2014 -0700"
      },
      "message": "Fix a broken boolean test found by clang.\n\nThis was only on the failure case, so this probably never caused\nany real trouble.\n\nChange-Id: Id983689772102cbb9171693b927e544fb0b584fb\n"
    },
    {
      "commit": "1ee1bfdeeca74d71f3e7de7ac3a7e45c9a7d0f53",
      "tree": "37c3af9ee2a6c270476d71677c7a0116c3d2e341",
      "parents": [
        "2d94ee29f4be528167f1de328226cac259aac738",
        "668da74ef1d4558f699374cb28a9df1a011db122"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 07 17:49:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 02 20:49:53 2014 +0000"
      },
      "message": "Merge \"Use __unused rather than self assignment for unused parameters.\""
    },
    {
      "commit": "668da74ef1d4558f699374cb28a9df1a011db122",
      "tree": "d3ff8fd3e04f2c5b7fff6955a39f169171b7da83",
      "parents": [
        "1f262b35fef5108e3bd3fbea4b6aa1ce635767f9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 07 09:46:54 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 07 09:46:54 2014 -0700"
      },
      "message": "Use __unused rather than self assignment for unused parameters.\n\nClang, reasonably enough, doesn\u0027t like self assignment.\n\nChange-Id: Ie5843287802949dad148a1a815231035678e1306\n"
    },
    {
      "commit": "bae5b1dbd8dfe7318e208be917f4c9b9e8abced6",
      "tree": "802266e9ef04af079867b541b25a30cfe2d727e8",
      "parents": [
        "1f262b35fef5108e3bd3fbea4b6aa1ce635767f9"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jul 02 22:39:14 2014 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jul 02 22:39:14 2014 -0700"
      },
      "message": "libc_logging: Set SOCK_CLOEXEC on socket\n\nSocket file descriptors remain open across exec unless\nSOCK_CLOEXEC is set. Enable this option, to avoid leaking\nfile descriptors.\n\nIn practice, this isn\u0027t a big deal, since the socket only remains\nopen for a very short period to write a message. However, this\nsocket might leak for for multithreaded programs if an exec occurs\nbetween the open and close.\n\nChange-Id: Ica2e71fe28657c32d56de1431c8f7f1f5c7b7c58\n"
    },
    {
      "commit": "e9975987900e5713c5b8b13e1817a243e92f79d9",
      "tree": "30928d8a1176c7ea9023ca9d98b2eee568f21ef3",
      "parents": [
        "f2102f54a0006c56033ab0ba62d48dc4b4e8b91a",
        "95d3cd0b85724d3702cfb71942f9aa0a5ee27c74"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 02 00:33:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 01 19:22:04 2014 +0000"
      },
      "message": "Merge \"Quiten warnings in semaphore.c.\""
    },
    {
      "commit": "95d3cd0b85724d3702cfb71942f9aa0a5ee27c74",
      "tree": "24991be02dfb17d5d3e3f5c583ae30174a3392fd",
      "parents": [
        "105ef36c67baeebd2fd9c24b6140953afba4f160"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 01 17:07:43 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 01 17:07:43 2014 -0700"
      },
      "message": "Quiten warnings in semaphore.c.\n\nChange-Id: I30aff82174f789ab407d2282c07e6207123d4d5b\n"
    },
    {
      "commit": "ec67cded1d2969b5ba21028f0dd1560827947f3d",
      "tree": "335db8e76ac9b812c727651cfa30a9b74d0fe15a",
      "parents": [
        "105ef36c67baeebd2fd9c24b6140953afba4f160"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 01 17:20:06 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 01 17:20:06 2014 -0700"
      },
      "message": "Quiten warnings in fts.c.\n\nAlso bring us closer to upstream. Sadly the Linux and BSD dirent\nstructs don\u0027t match, so we\u0027ll never be completely in sync (and I don\u0027t\nthink we can hide the difference with macro trickery).\n\nChange-Id: Ief4275856116cd1d5b5e0f9166db1ead9439515c\n"
    },
    {
      "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"
    }
  ],
  "next": "3d5cb30d23cfc6a72f01c00246e69a2c614c8228"
}
