)]}'
{
  "log": [
    {
      "commit": "6f94de3ca49e4ea147b1c59e5818fa175846518f",
      "tree": "9a2c45004114f53c4cf1f9468a58fe54c58320fa",
      "parents": [
        "2a1bb4e64677b9abbc17173c79768ed494565047"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 12 06:06:22 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 12 06:06:22 2013 +0000"
      },
      "message": "Revert \"More pthreads cleanup.\"\n\nThis reverts commit 2a1bb4e64677b9abbc17173c79768ed494565047\n\nChange-Id: Ia443d0748015c8e9fc3121e40e68258616767b51\n"
    },
    {
      "commit": "2a1bb4e64677b9abbc17173c79768ed494565047",
      "tree": "3e843fd4277f2bdc502511bd5e4ee539887c14f1",
      "parents": [
        "2d3e72336e76180fb00822386da4f14203d117ce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 12:34:03 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 14:56:39 2013 -0800"
      },
      "message": "More pthreads cleanup.\n\nPOSIX says pthread_create returns EAGAIN, not ENOMEM.\n\nAlso pull pthread_attr_t functions into their own file.\n\nAlso pull pthread_setname_np into its own file.\n\nAlso remove unnecessary #includes from pthread_key.cpp.\n\nAlso account for those pthread keys used internally by bionic,\nso they don\u0027t count against the number of keys available to user\ncode. (They do with glibc, but glibc\u0027s limit is the much more\ngenerous 1024.)\n\nAlso factor out the common errno-restoring idiom to reduce gotos.\n\nBug: 6702535\nChange-Id: I555e66efffcf2c1b5a2873569e91489156efca42\n"
    },
    {
      "commit": "44b53ad6818de344e0b499ad8fdbb21fcb0ff2b6",
      "tree": "9a2c45004114f53c4cf1f9468a58fe54c58320fa",
      "parents": [
        "8397cdba9424febeaed4068829a5b0174ee1138c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 20:18:47 2013 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 12:20:33 2013 -0800"
      },
      "message": "Revert \"Revert \"Pull the pthread_key_t functions out of pthread.c.\"\"\n\nThis reverts commit 6260553d48f6fd87ca220270bea8bafdde5726ec\n\n(Removing the accidental libm/Android.mk change.)\n\nChange-Id: I6cddd9857c31facc05636e8221505b3d2344cb75\n"
    },
    {
      "commit": "6260553d48f6fd87ca220270bea8bafdde5726ec",
      "tree": "9c2cb4dfb830d7918a0d0b8ecfbf25bf87bcc453",
      "parents": [
        "ad59322ae432d11ff36dcf046016af8cfe45fbe4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 20:18:16 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 11 20:18:16 2013 +0000"
      },
      "message": "Revert \"Pull the pthread_key_t functions out of pthread.c.\"\n\nThis reverts commit ad59322ae432d11ff36dcf046016af8cfe45fbe4\n\nsomehow my unfinished libm/Android.mk change got into here.\n\nChange-Id: I46be626c5269d60fb1ced9862f2ebaa380b4e0af\n"
    },
    {
      "commit": "ad59322ae432d11ff36dcf046016af8cfe45fbe4",
      "tree": "04ea728ddd656079ca4b9f228b32c371370be947",
      "parents": [
        "9a9bb243b50be5e3910b8edad72327bc216e72d0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 08 15:46:37 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 12:00:48 2013 -0800"
      },
      "message": "Pull the pthread_key_t functions out of pthread.c.\n\nThis was originally motivated by noticing that we were setting the\nwrong bits for the well-known tls entries. That was a harmless bug\nbecause none of the well-known tls entries has a destructor, but\nit\u0027s best not to leave land mines lying around.\n\nAlso add some missing POSIX constants, a new test, and fix\npthread_key_create\u0027s return value when we hit the limit.\n\nChange-Id: Ife26ea2f4b40865308e8410ec803b20bcc3e0ed1\n"
    },
    {
      "commit": "9a9bb243b50be5e3910b8edad72327bc216e72d0",
      "tree": "9c2cb4dfb830d7918a0d0b8ecfbf25bf87bcc453",
      "parents": [
        "03579da2d91a57a0f22da14e4216ecaf811869f4",
        "d3920b3a996b358e48232f417aa0a1e44a60f155"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 08 19:17:33 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 08 19:17:33 2013 +0000"
      },
      "message": "Merge \"Switch to using AT_RANDOM for the stack guards.\""
    },
    {
      "commit": "d3920b3a996b358e48232f417aa0a1e44a60f155",
      "tree": "b0520d0d300dbca1e6e54a9a7c26e6d2cd81ed08",
      "parents": [
        "f6afd3b670e23f56bf341d12136416aee17ea249"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 07 18:39:34 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 08 11:16:13 2013 -0800"
      },
      "message": "Switch to using AT_RANDOM for the stack guards.\n\nBug: 7959813\nChange-Id: I8db4b8912ba649bfe668c6f22aa44690ddd401a2\n"
    },
    {
      "commit": "b184d3ba3341f1f24c79e5b236bb6659277e7f84",
      "tree": "dba8e026c7bdfeb09c773c891137ee7476261b46",
      "parents": [
        "964886afa339959aedad1c09af738df4ffa4091d"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Feb 07 16:23:16 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Feb 07 16:23:16 2013 -0800"
      },
      "message": "update xattr.h\n\nChange-Id: Ibd91167ba56e2692359b92fe3108da271f0c2e38\n"
    },
    {
      "commit": "cd6780b1677503a0dfa91c8a9c0c635dbbd48366",
      "tree": "d55a08351d906bff48aa9fd2459e3d79510b5e7e",
      "parents": [
        "f6afd3b670e23f56bf341d12136416aee17ea249"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 07 14:07:00 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 07 14:07:00 2013 -0800"
      },
      "message": "Remove dead code from gensyscalls.py.\n\nChange-Id: I0df69f8fd990f829ccbfcd5123c17b523d5a4d45\n"
    },
    {
      "commit": "f6afd3b670e23f56bf341d12136416aee17ea249",
      "tree": "fa3baa194244874d4db40b517788a73729819a00",
      "parents": [
        "59e9a496b4341fd2b11d4a01544bf7edf3d00cc5",
        "646e058136d59671d5d32d93bedbb71004a9ce73"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 07 20:27:40 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 07 20:27:40 2013 +0000"
      },
      "message": "Merge \"Fix x86 build, remove void* arithmetic.\""
    },
    {
      "commit": "646e058136d59671d5d32d93bedbb71004a9ce73",
      "tree": "354d30a60436bb8a093faf72b56ad2b96abb55b6",
      "parents": [
        "2f41531ff9f48dbdaf2ba711e14c669031728e99"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 07 12:16:10 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 07 12:16:10 2013 -0800"
      },
      "message": "Fix x86 build, remove void* arithmetic.\n\nChange-Id: Idc7f14af2e094ac33de315e808176237af063bb8\n"
    },
    {
      "commit": "e4ccf5a138a9c6387ee2e4b8e41d628e0a2cc336",
      "tree": "adffd90b54d462c0e48c47c234d16025614a5fec",
      "parents": [
        "2f41531ff9f48dbdaf2ba711e14c669031728e99"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 07 12:06:44 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 07 12:06:44 2013 -0800"
      },
      "message": "__progname should be const char*, not char*.\n\nChange-Id: I8e846872c30a712fbc05c8da59ffa1cec1be31a4\n"
    },
    {
      "commit": "2f41531ff9f48dbdaf2ba711e14c669031728e99",
      "tree": "ae8b9be038220ed0d4cba96453560676d8bd4699",
      "parents": [
        "d4187efd7f9c30ffaff4738862e3d08be27a52e9",
        "42b2c6a5eed5e4ef35315b8cd32d1355f12a69b6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 07 19:48:16 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 07 19:48:17 2013 +0000"
      },
      "message": "Merge \"Clean up the argc/argv/envp/auxv handling.\""
    },
    {
      "commit": "42b2c6a5eed5e4ef35315b8cd32d1355f12a69b6",
      "tree": "0fb55a369b620ef79cfa103f67a5184f067dadeb",
      "parents": [
        "d32fdbaf03f688497adbec885e85c0a69f7a4542"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 07 10:14:39 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 07 11:44:21 2013 -0800"
      },
      "message": "Clean up the argc/argv/envp/auxv handling.\n\nThere\u0027s now only one place where we deal with this stuff, it only needs to\nbe parsed once by the dynamic linker (rather than by each recipient), and it\u0027s\nnow easier for us to get hold of auxv data early on.\n\nChange-Id: I6314224257c736547aac2e2a650e66f2ea53bef5\n"
    },
    {
      "commit": "7582a9c119a4e4d0c306996b2513205889a9fb6c",
      "tree": "44c9126902c7477c5f260323a07a775725c22f55",
      "parents": [
        "d32fdbaf03f688497adbec885e85c0a69f7a4542"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 06 17:08:15 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 06 17:08:15 2013 -0800"
      },
      "message": "Switch x86 syscall stubs over to the ENTER/END style of the ARM stubs.\n\nAlso update the x86 asm.h to support this; we need it for libm assembler\nanyway.\n\nAlso clean up the _FBSDID hack in \u003csys/cdefs.h\u003e.\n\nChange-Id: Iababd977b8110ec022bf7c93f4d62ece47630e7c\n"
    },
    {
      "commit": "428f5567be25b8090e3dd72e2d3d337c305b514e",
      "tree": "fe9bc208b680b3366150885d6efc5be034c3f21e",
      "parents": [
        "a4f88fdcf0e9be084d04048ad65671716298c3c2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 05 16:10:59 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 05 16:10:59 2013 -0800"
      },
      "message": "Remove bogus extra alignment from sbrk.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d37349\nChange-Id: I970c7b6be7bb7fbe6bbbe2c332f05816aeb0e09f\n"
    },
    {
      "commit": "24fad01755d33e6772ea3be56b702570bf257d55",
      "tree": "7e2bb950c87cf765f6f6b147840c2dc8a0af097a",
      "parents": [
        "a3120aaf2f4e20261a2ea9fd8862e2b360183fc5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 04 13:44:14 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 04 13:44:14 2013 -0800"
      },
      "message": "Document the mallinfo struct, add missing attributes.\n\nChange-Id: Ia97acce1f6a83bd8b3ba8dd20efd962bc96f35a9\n"
    },
    {
      "commit": "3fac8f7f492302ae680288996e31debc645fd684",
      "tree": "9efd413d621c3fa07a5660f5b08683e410ccd4b5",
      "parents": [
        "3dc6b57cf54b15a756551deeda33df5715e519bb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 01 18:21:08 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 01 18:21:08 2013 -0800"
      },
      "message": "Regenerate msm_ion.h.\n\nBug: 8000377\nChange-Id: If496d9972cb8aebfc996ac641aa762220aa71f3b\n"
    },
    {
      "commit": "9c81892c2e8c684e0da12028e389bf6d9b5253b7",
      "tree": "a6a5f54863bcf4467ce2cc27d9cf669120b35c39",
      "parents": [
        "1bf835558a3f7424c805766250ace88fa70e0630"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 01 17:07:40 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 01 17:07:40 2013 -0800"
      },
      "message": "Don\u0027t claim there were no leaks if we weren\u0027t even checking.\n\nBug: 8107016\nChange-Id: I9059f1f8374ebcdf00dfc6ac74d3709f501292c9\n"
    },
    {
      "commit": "a48e1b2aaca3766504ea2d04f832493c885c3b3c",
      "tree": "432ec8843afcc16225e42d02e164fc66713515c6",
      "parents": [
        "44badc70ccd35d7690bda9f107e3e5da0b80d295"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 01 16:10:28 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 01 16:10:28 2013 -0800"
      },
      "message": "Restore bionic\u0027s \u003clinux/elf-em.h\u003e.\n\nUsed by \u003clinux/audit.h\u003e.\n\nChange-Id: Ica4ebb7f52a7fce13c52fdff35e187ded3939382\n"
    },
    {
      "commit": "44badc70ccd35d7690bda9f107e3e5da0b80d295",
      "tree": "bd46bb490d23fdefc63c32bdbbb7c18160112a6b",
      "parents": [
        "e1a124e5c93b59e2b6792e4de8a2c72dc0a78be1",
        "a0ee07829a9ba7e99ef68e8c12551301cc797f0f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 01 23:07:48 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 01 23:07:49 2013 +0000"
      },
      "message": "Merge \"Upgrade libm.\""
    },
    {
      "commit": "a0ee07829a9ba7e99ef68e8c12551301cc797f0f",
      "tree": "fefc432ee572779579a16d2868d4181a33399281",
      "parents": [
        "a990cf5b3392c5aef767aee1e67b4d7ef651afc6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 30 19:06:37 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 01 14:51:19 2013 -0800"
      },
      "message": "Upgrade libm.\n\nThis brings us up to date with FreeBSD HEAD, fixes various bugs, unifies\nthe set of functions we support on ARM, MIPS, and x86, fixes \"long double\",\nadds ISO C99 support, and adds basic unit tests.\n\nIt turns out that our \"long double\" functions have always been broken\nfor non-normal numbers. This patch fixes that by not using the upstream\nimplementations and just forwarding to the regular \"double\" implementation\ninstead (since \"long double\" on Android is just \"double\" anyway, which is\nwhat BSD doesn\u0027t support).\n\nAll the tests pass on ARM, MIPS, and x86, plus glibc on x86-64.\n\nBug: 3169850\nBug: 8012787\nBug: https://code.google.com/p/android/issues/detail?id\u003d6697\nChange-Id: If0c343030959c24bfc50d4d21c9530052c581837\n"
    },
    {
      "commit": "1d12d574169cedd68185196e4957597d00fd4681",
      "tree": "0da27f2238592c5bb074afe229e97b802ddb6161",
      "parents": [
        "a990cf5b3392c5aef767aee1e67b4d7ef651afc6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 30 11:38:26 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 30 11:38:26 2013 -0800"
      },
      "message": "Say explicitly if there were no leaks.\n\nOtherwise people trying to use this are left wondering \"did I not leak, or did\nthe leak checking code not get called when I exited?\".\n\nChange-Id: If79b225f8a2e24dd69aba1fb836bf9e81bb00efe\n"
    },
    {
      "commit": "a990cf5b3392c5aef767aee1e67b4d7ef651afc6",
      "tree": "eeedee9801ea523e724e9e9be952d8144fdbbda1",
      "parents": [
        "323287ea7fb1d22f64b49d701b33cef9fbaf757d",
        "c95eb57405d3d2f0e6cfab313aa74b1bad280452"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 30 18:13:28 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 30 18:13:29 2013 +0000"
      },
      "message": "Merge \"Clean up trailing whitespace in the kernel headers.\""
    },
    {
      "commit": "c95eb57405d3d2f0e6cfab313aa74b1bad280452",
      "tree": "3732a299ef9278be919aa436f135df907502a7a2",
      "parents": [
        "f67219783fa7c38c1f4f077364290d10d3aa1db4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 18:15:55 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 30 10:13:07 2013 -0800"
      },
      "message": "Clean up trailing whitespace in the kernel headers.\n\nAnd fix the scripts so they stop letting trailing whitespace through.\n\nChange-Id: Ie109fbe1f63321e565ba0fa60fee8e9cf3a61cfc\n"
    },
    {
      "commit": "6fe67c3cf26cc695881d7cb8a9aa971e4dab1f59",
      "tree": "6a43ffce4ef2904b88cf47262831102fefde3501",
      "parents": [
        "f67219783fa7c38c1f4f077364290d10d3aa1db4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 17:49:12 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 17:49:12 2013 -0800"
      },
      "message": "Fix valgrind build.\n\nChange-Id: Ie375d32565d10f4c0c56da5422f52b68cb069654\n"
    },
    {
      "commit": "d070df4c74c654d8c37c807e7e77db616f91ecbd",
      "tree": "d8dd7005cba2f17674bae1644415bd82b1f37c47",
      "parents": [
        "5fb409b7b0b0a4ecca5fd2a6c7dc5ce421f6b7cf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 16:40:39 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 16:40:39 2013 -0800"
      },
      "message": "Fix x86 build to use \u003celf.h\u003e.\n\nChange-Id: I7b697d5eae69dc08eb31471a42cb8bbe5360be76\n"
    },
    {
      "commit": "448080d372242194bfa8ac85443476ffa484abd5",
      "tree": "c6bfb4eff79ae12d445fcb908b4e80d6a5946fd2",
      "parents": [
        "f09f6db5dd87856bbbb7a3d465187b9d8799a788"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 16:25:06 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 16:25:06 2013 -0800"
      },
      "message": "Bring the NOTICE files back up to date.\n\nChange-Id: I978275cf6604b90595ee79d897c0460eeadc7dc8\n"
    },
    {
      "commit": "a6a3ac59243d8c95c94c3069e9332051f785c05f",
      "tree": "1a8567d1852f147f346240ac6f8187f9e9b526c3",
      "parents": [
        "3db2fc5acb4894a2cb22533b165a0de1bbafc3f6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 15:02:50 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 15:02:50 2013 -0800"
      },
      "message": "Use the NetBSD \u003csys/exec_elf.h\u003e.\n\nReplace a kernel header file dependency with files from NetBSD.\nThey\u0027re more complete, and ELF is ELF, whether you\u0027re on Linux or a BSD.\n\nBug: 7973611\nChange-Id: I83ee719e7efdf432ec2ddbe8be271d05b2f558d7\n"
    },
    {
      "commit": "35b621c5f4c79959cd36fec0153c2c9c43ebe5f0",
      "tree": "016d232e99a12943587357bf8b10a3d25cb98b0e",
      "parents": [
        "a0151cbfbaa37965dbcd188a55a78d3ad4802b9b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 28 16:27:36 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 29 09:56:31 2013 -0800"
      },
      "message": "Don\u0027t collect useless stack frames; do demangle C++ symbols.\n\nPreviously, we\u0027d collect every stack frame and then throw some away\nwhen we came to log them. This meant that stack traces were effectively\nshorter than the buffers that had been allocated for them. This patch\nonly stores frames we\u0027ll actually output.\n\nAlso dynamically call the C++ demangler so we don\u0027t have to try to\nread mangled names. Because no one knows the mangling of operator new[]\nfor int arrays off the top of their head.\n\nBug: 7291287\nChange-Id: I42b022fd7cd61675d05171de4c3b2704d058ef2a\n"
    },
    {
      "commit": "41b3179c9ef03ebb447cac7f5e8405dce399cb17",
      "tree": "b0fa19272b1a7bb1ca7fe17c35a7374b650913b6",
      "parents": [
        "0a91b11d286446fe7849a6f537b4a21a52f63399"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 28 10:36:31 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 28 10:36:31 2013 -0800"
      },
      "message": "Unit tests for formatting code, fix %%.\n\nAlso fix \u003csignal.h\u003e and \u003cstdio.h\u003e so they don\u0027t cause compiler warnings.\n\nChange-Id: Ib1a746bf01de22d47dbd964de0e6af80a7c96303\n"
    },
    {
      "commit": "239e7a0756fddf3698bf72cab10d7f382421090b",
      "tree": "6ec3636787883bf1b20bd490cc011110b625d3fe",
      "parents": [
        "6a94cb748bf63278c3271b0ab610061b0dc6f04a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 25 17:13:45 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 25 17:13:45 2013 -0800"
      },
      "message": "More debug malloc fixes.\n\nInclude the leaky executable\u0027s name in the log output. Fix the \"sh\" test.\nUse uintptr_t instead of intptr_t.\n\nAlso fix debug formatting of NULL with %s.\n\nBug: 7291287\nChange-Id: I015bf341cd48d43a247173612e6ccb1bf1243d53\n"
    },
    {
      "commit": "6a94cb748bf63278c3271b0ab610061b0dc6f04a",
      "tree": "c811de50ac7aca47876b70dda93ab1e33b7e6231",
      "parents": [
        "b871e5d6b3b4a214c7f19bdfca7663f1fe49fda8",
        "faa0fdb1194172f578f973097d61e580bce528dc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 25 21:57:58 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 25 21:57:58 2013 +0000"
      },
      "message": "Merge \"arm syscall : for eabi call_default don\u0027t use stack\""
    },
    {
      "commit": "c16961b8c3b932716b2e576c5877d39411b453cc",
      "tree": "06678c237ade4a15cfdf977235212dc6582ab50d",
      "parents": [
        "82ef8296dc5e25b9cc8e7231f9515f50185dac9d"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 25 13:07:31 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 25 13:07:31 2013 -0800"
      },
      "message": "system_properties: do more checking of file\n\nCheck that the permissions on the properties file\nare exactly as we expect them to be.\n\nMake sure we close the fd if fstat fails.\n\nRefactor the code slightly.\n\nChange-Id: I5503fd58c3b8093ce7e6d05920748ed70eaf8e2c\n"
    },
    {
      "commit": "8e70b0d5c3ba9cc7e2cf6025a9ae0ae157f5acc9",
      "tree": "1701a2f6710ccf95937d0e4a95fff60efb29e3da",
      "parents": [
        "b3351f12047747b603efb070069e7afdf3040335"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jan 23 16:49:47 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jan 23 16:49:47 2013 -0800"
      },
      "message": "prctl.h: include sys/cdefs.h\n\nprctl.h uses __BEGIN_DECLS but fails to include sys/cdefs.h\n(where it\u0027s defined).  Code which includes prctl.h without\npreviously including sys/cdefs.h will fail to compile.\n\nFixed.\n\nChange-Id: If4c9f3308f08b93596dcd00e351ae786807e9320\n"
    },
    {
      "commit": "32417fb37642a1f975ec107e6b449ba71196db56",
      "tree": "2a10ccaed29dd6ba733b4338d72fdb786633255f",
      "parents": [
        "778a68e1e57408be04806b5bfc3150aade44bcbf"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jan 23 09:28:35 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jan 23 09:28:35 2013 -0800"
      },
      "message": "libc: use more secure system properties if available\n\nCurrently, system properties are passed via the environment\nvariable ANDROID_PROPERTY_WORKSPACE and a file descriptor passed\nfrom parent to child. This is insecure for setuid executables,\nas the environment variable can be changed by the caller.\n\nModify system property handling so that we get the properties\nfrom a root owned properties file, rather than using an\nenvironment variable.  Fall back to the environment variable\nif the file doesn\u0027t exist.\n\nBug: 8045561\nChange-Id: I54f3efa98cf7d63d88788da5ce0d19e34fd7851a\n"
    },
    {
      "commit": "778a68e1e57408be04806b5bfc3150aade44bcbf",
      "tree": "0e49a81d919a0b83f91a6c74b9ba99f4e48d3088",
      "parents": [
        "5c8f75ef8bd89498de1d1108efa54869a2784738",
        "848247a972038e30e12b0c9f7f049aa97c73b9c7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 23 06:06:21 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 23 06:06:21 2013 +0000"
      },
      "message": "Merge \"Don\u0027t free anything when reporting leaks.\""
    },
    {
      "commit": "848247a972038e30e12b0c9f7f049aa97c73b9c7",
      "tree": "baaaa82fff74ab5785e28bf078b30563a90b8290",
      "parents": [
        "28f82b260c9076aae437dafb57193a174aef1eb3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 18:36:28 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 18:36:28 2013 -0800"
      },
      "message": "Don\u0027t free anything when reporting leaks.\n\nWe don\u0027t know that they\u0027re not going to be cleaned up by a\nC++ global destructor that runs after us. This is the case with\nbootanimation, for example.\n\nBug: 7291287\nChange-Id: Iba402514d1735fdc2ae4bc95b65396d816be46c0\n"
    },
    {
      "commit": "84f8b5f4013c5df372ad97f3f98ea27ac6064a97",
      "tree": "dad43f1df94b4888342ae7aa5ce365c1c48f9956",
      "parents": [
        "28f82b260c9076aae437dafb57193a174aef1eb3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 18:35:14 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 18:35:14 2013 -0800"
      },
      "message": "Disable leak checking for mksh; it\u0027s way too leaky.\n\nWhen each shell leaks ~240 allocations, you can\u0027t see the leaks from\nthe program you ran with \"adb shell\".\n\nBug: 7291287\nChange-Id: Ib8780db72ba0114ebdb24768537da74bbb61f354\n"
    },
    {
      "commit": "28f82b260c9076aae437dafb57193a174aef1eb3",
      "tree": "8312c903b13cb97abb354dd6f99ad6a4375dfbe2",
      "parents": [
        "8d6302cdcff9c53fe3ecd36ab479fdf08318c504",
        "f373b11f9ff46a2f4b918b0027d466eaa035297a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 23 01:11:28 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 23 01:11:28 2013 +0000"
      },
      "message": "Merge \"Add const for first argument of sigismember for fit POSIX spec\""
    },
    {
      "commit": "2b473070126345e323d0694b87f88264cc9a77cc",
      "tree": "1f626a0ab6ef690d17c7c52004615147fd768dba",
      "parents": [
        "547eba0a63951d7db93c0542e1ecab891725b9a8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 15:10:19 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 15:10:19 2013 -0800"
      },
      "message": "Our strcoll(3) is no different from NetBSD\u0027s, so take exactly theirs.\n\nChange-Id: I45251047202a229f9175735ecc23c0ebcda71e8d\n"
    },
    {
      "commit": "c51cd764a2d0897234762abd4dbd21420cb9f17d",
      "tree": "77a3efe1662c08da97eb9eff8df6e69b4a53fe66",
      "parents": [
        "85597e2b59af91be0607ed073b6574b934ed369d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 14:41:23 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 14:41:23 2013 -0800"
      },
      "message": "Avoid overflow in memccpy.\n\nJust take the upstream NetBSD code.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d43078\nChange-Id: Ibbbde9d00e8bc6a09c9503aab2b04b4e3d1f98b0\n"
    },
    {
      "commit": "7af7895eeb810ff1a1ca8b60fcda13595d551114",
      "tree": "0ae28f192a11b411e21c9ff280a8c7c28bde3c8c",
      "parents": [
        "244bee5bb6e0bc12b739c57028ac8af23a18aed0",
        "ce4cf90d7993ec7b9abc79bc86ede4d8758a49ab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 22:26:35 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 22:26:35 2013 +0000"
      },
      "message": "Merge \"Use the new non-allocating logging for dlmalloc failures.\""
    },
    {
      "commit": "ce4cf90d7993ec7b9abc79bc86ede4d8758a49ab",
      "tree": "d3ac7b81d9c35a83bec417ea3c6d2327a6cc0d1f",
      "parents": [
        "02f96b9db0242711fe1dfe0713c0c4e698561da5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 14:00:09 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 14:24:52 2013 -0800"
      },
      "message": "Use the new non-allocating logging for dlmalloc failures.\n\nChange-Id: I88afe0201ee5766a295fc5a9e710fba9d6e0d363\n"
    },
    {
      "commit": "abc21c80563454ff1f5a04effcf4f807996d3b10",
      "tree": "a470a0bb7d043689e09d9e8f949e8a627917993f",
      "parents": [
        "02f96b9db0242711fe1dfe0713c0c4e698561da5"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 22 13:09:04 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 22 13:09:04 2013 -0800"
      },
      "message": "bionic_auxv.h: fix #define conflict\n\nBoth libc/include/sys/auxv.h and libc/private/bionic_auxv.h\nuse _SYS_AUXV_H_ to see if a header file has already been included.\nThis prevents both of these files from being included at the same\ntime.\n\nFix this name conflict.\n\nChange-Id: Ifaec88aa9779d784b95f8e75145117acf3d5cfc5\n"
    },
    {
      "commit": "f90b95ea1a46b0685d1051c41a02a9abc25f3f35",
      "tree": "6ad4a71eb058dec917ebd39369a7da6443025f40",
      "parents": [
        "ca483765bd0dc16294b9e67dd0de5c6d53b1bfa3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 11:20:45 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 11:20:45 2013 -0800"
      },
      "message": "Add missing extern \"C\".\n\nChange-Id: Idbf24ce8482ff03f24caa89bafb08677b1c5cec3\n"
    },
    {
      "commit": "ca483765bd0dc16294b9e67dd0de5c6d53b1bfa3",
      "tree": "f3676bbac701bc026573ee833e8e9cb50478c445",
      "parents": [
        "5496bbf6a3592fd99cee6b8c20c8624c2aeea0c1",
        "1e980b6bc8315d00a07312b25486531247abd98c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 17:44:15 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 17:44:15 2013 +0000"
      },
      "message": "Merge \"Fix the duplication in the debugging code.\""
    },
    {
      "commit": "f373b11f9ff46a2f4b918b0027d466eaa035297a",
      "tree": "0593a1d072ed88df874187deabd44f3ba9913641",
      "parents": [
        "5496bbf6a3592fd99cee6b8c20c8624c2aeea0c1"
      ],
      "author": {
        "name": "Kito Cheng",
        "email": "kito@0xlab.org",
        "time": "Sun Jan 20 00:15:15 2013 +0800"
      },
      "committer": {
        "name": "Kito Cheng",
        "email": "kito@0xlab.org",
        "time": "Sun Jan 20 00:15:23 2013 +0800"
      },
      "message": "Add const for first argument of sigismember for fit POSIX spec\n\nChange-Id: Icbc67375282f2a22dce02e4bacab15ddae846057\n"
    },
    {
      "commit": "1e980b6bc8315d00a07312b25486531247abd98c",
      "tree": "539f2c0c63fca27d5eb6ba184d658bb0e11a32d9",
      "parents": [
        "e4ca88d9fa8757e4fb4056fcafa5bc15b406a2fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 17 18:36:06 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 18 22:20:06 2013 -0800"
      },
      "message": "Fix the duplication in the debugging code.\n\nWe had two copies of the backtrace code, and two copies of the\nlibcorkscrew /proc/pid/maps code. This patch gets us down to one.\n\nWe also had hacks so we could log in the malloc debugging code.\nThis patch pulls the non-allocating \"printf\" code out of the\ndynamic linker so everyone can share.\n\nThis patch also makes the leak diagnostics easier to read, and\nmakes it possible to paste them directly into the \u0027stack\u0027 tool (by\nusing relative PCs).\n\nThis patch also fixes the stdio standard stream leak that was\ncausing a leak warning every time tf_daemon ran.\n\nBug: 7291287\nChange-Id: I66e4083ac2c5606c8d2737cb45c8ac8a32c7cfe8\n"
    },
    {
      "commit": "4bfaf1e5f62748b305406ff4ceebd5f4b750038c",
      "tree": "9eeeb22e6098864b11bb8a6234ecc6daf5f4f9f3",
      "parents": [
        "e4ca88d9fa8757e4fb4056fcafa5bc15b406a2fd",
        "a44e9afdd16105d6f36319cb538666d9cc78435a"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 18 00:49:35 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 18 00:49:36 2013 +0000"
      },
      "message": "Merge \"FORTIFY_SOURCE: optimize\""
    },
    {
      "commit": "a44e9afdd16105d6f36319cb538666d9cc78435a",
      "tree": "8606530bcdef438dc305894c805f0713edad5306",
      "parents": [
        "f3fe19459fd9263e8cc8a413a5313b1ec3cf3975"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Jan 17 15:41:33 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Jan 17 15:41:33 2013 -0800"
      },
      "message": "FORTIFY_SOURCE: optimize\n\nDon\u0027t do the fortify_source checks if we can determine, at\ncompile time, that the provided operation is safe.\n\nThis avoids silliness like calling fortify source on things like:\n\n  size_t len \u003d strlen(\"asdf\");\n  printf(\"%d\\n\", len);\n\nand allows the compiler to optimize this code to:\n\n  printf(\"%d\\n\", 4);\n\nDefer to gcc\u0027s builtin functions instead of pointing our code\nto the libc implementation.\n\nChange-Id: I5e1dcb61946461c4afaaaa983e39f07c7a0df0ae\n"
    },
    {
      "commit": "a864c2c23486e4ab7235829d8c9574426794298a",
      "tree": "1666c13eb53aab178af4d5d2f4d177e2bd3e1ea2",
      "parents": [
        "f3fe19459fd9263e8cc8a413a5313b1ec3cf3975"
      ],
      "author": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Wed Jan 16 16:42:47 2013 -0800"
      },
      "committer": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Thu Jan 17 14:39:09 2013 -0800"
      },
      "message": "Add functionlity to the scripts to replace tokens in kernel headers\nbased on architecture.\n"
    },
    {
      "commit": "36bd371e26c716cbc18e11801b13eff0352d91b0",
      "tree": "b63e06f7a65f3ac2df09449bb65172644f230386",
      "parents": [
        "ba117e4172fe6f160bf5f4d58b37e12c08c34245"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jan 16 13:13:22 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jan 16 13:16:42 2013 -0800"
      },
      "message": "Revert \"stack protector: use AT_RANDOM\"\n\nThe AT_RANDOM changes broke setuid / setgid executables\nsuch as \"ping\". When the linker executes a setuid program,\nit cleans the environment, removing any invalid environment\nentries, and adding \"NULL\"s to the end of the environment\narray for each removed variable. Later on, we try to determine\nthe location of the aux environment variable, and get tripped\nup by these extra NULLs.\n\nReverting this patch will get setuid executables working again,\nbut getauxval() is still broken for setuid programs because of\nthis bug.\n\nThis reverts commit e3a49a8661125f24aec8a1453e54b3b78005e21e.\n\nChange-Id: I05c58a896b1fe32cfb5d95d43b096045cda0aa4a\n"
    },
    {
      "commit": "e3a49a8661125f24aec8a1453e54b3b78005e21e",
      "tree": "a6a1be7dbdf1901db051fcfa1bd19f823e7a7f2b",
      "parents": [
        "14e1975e13c197180ed0481f305f83a362b16a24"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jan 14 14:46:26 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Jan 16 10:09:52 2013 -0800"
      },
      "message": "stack protector: use AT_RANDOM\n\nPopulate the stack canaries from the kernel supplied\nAT_RANDOM value, which doesn\u0027t involve any system calls.\nThis is slightly faster (6 fewer syscalls) and avoids\nunnecessarily reading /dev/urandom, which depletes entropy.\n\nBug: 7959813\n\nChange-Id: If2b43100a2a9929666df3de56b6139fed969e0f1\n"
    },
    {
      "commit": "f193b9fc211760938a79703f6e7ca1619de8cee8",
      "tree": "8f2ee03543450a5885d6553911104e3c3978d6fb",
      "parents": [
        "791e26d9598a72376b8a16a5ccfb5d1ae0010965"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 16 09:34:16 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 16 09:40:25 2013 -0800"
      },
      "message": "Fix signalfd for MIPS.\n\nAlso mark signalfd\u0027s sigset_t* argument as non-nullable.\n\nChange-Id: I466e09cdf3fb92480744c496da92274a97f99dd1\n"
    },
    {
      "commit": "faa0fdb1194172f578f973097d61e580bce528dc",
      "tree": "d4202960694635613c2bcebb69c198e0345d603a",
      "parents": [
        "791e26d9598a72376b8a16a5ccfb5d1ae0010965"
      ],
      "author": {
        "name": "Matthieu Castet",
        "email": "matthieu.castet@gmail.com",
        "time": "Wed Jan 16 14:02:50 2013 +0100"
      },
      "committer": {
        "name": "Matthieu Castet",
        "email": "matthieu.castet@gmail.com",
        "time": "Wed Jan 16 14:53:37 2013 +0100"
      },
      "message": "arm syscall : for eabi call_default don\u0027t use stack\n\nIn the default case, we don\u0027t need to use the stack, we can save r7 with\nip register (that what does eglibc).\n\nThis allow to fix vfork data corruption\n(see 3884bfe9661955543ce203c60f9225bbdf33f6bb), because vfork now don\u0027t\nuse the stack.\n"
    },
    {
      "commit": "acb907fb0d253391c1515f488f2a51dcda502e7c",
      "tree": "af3991a7b9dc31d14733c81da008bfc4d9a9cd09",
      "parents": [
        "b09d7d86004ab75b774358454d8ee261987af96b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 15 11:12:18 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 15 11:12:18 2013 -0800"
      },
      "message": "Revert \"DO NOT MERGE Revert \"Add the libcutils localtime_tz and mktime_t extensions to bionic.\"\"\n\nThis reverts commit f4b34b6c3942be273ad7298a40be0d312b183aab.\n\nThe revert was only meant to apply to the jb-mr1 branch, but accidentally\nleaked out into AOSP. This revert-revert gets AOSP master and internal\nmaster back in sync.\n"
    },
    {
      "commit": "35f5385aa5206c8958dc38a197cd6847e01b8c7b",
      "tree": "c4b5011273a95f7a5764c4e1b04d4c0d5b3823f8",
      "parents": [
        "29fe857ec80e59347e28458a5396eb68d1cba0e4"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Mon Jan 14 11:26:51 2013 -0800"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Mon Jan 14 15:33:40 2013 -0800"
      },
      "message": "Add __aeabi_idiv to the dummy reference list.\n\nIf the platform code is compiled with -mcpu\u003dcortex-a15, then without this\nchange prebuilt libraries built against -march\u003darmv7 cannot resolve the\ndependency on __aeabi_idiv (provided by libgcc.a).\n\nBug: 7961327\n\ncherry-picked from internal master.\n\nChange-Id: I8fe59a98eb53d641518b882523c1d6a724fb7e55\n"
    },
    {
      "commit": "a67e4de6620b570dabe0f92985228af0d0204f2c",
      "tree": "153a29319dfd1ef7171d1f905568e21a26fab2b8",
      "parents": [
        "68fa57f000285af20100c00db3d2bc143ad32294"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jan 14 11:28:26 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jan 14 11:49:59 2013 -0800"
      },
      "message": "headers: update auxvec.h from Linux kernel\n\nPull a new version of auxvec.h from the upstream Linux\nkernel at commit b719f43059903820c31edb30f4663a2818836e7f\n\nThese files were generated using the following commands:\n\ncd bionic/libc/kernel\n./tools/clean_header.py -u ../../../external/kernel-headers/original/uapi/linux/auxvec.h\n./tools/clean_header.py -u ../../../external/kernel-headers/original/linux/auxvec.h\n./tools/clean_header.py -u ../../../external/kernel-headers/original/asm-x86/auxvec.h\n\nThis change is needed to get AT_RANDOM defined.\n\nChange-Id: Ib064649684b17af6ff4b1a31d501a05f78bb81d0\n"
    },
    {
      "commit": "68fa57f000285af20100c00db3d2bc143ad32294",
      "tree": "be6d38c52f4539923d50848bfe04b729e21dafd2",
      "parents": [
        "bb897fa9f79d25e4445fe3ab46b86657d6660c10",
        "8921060253f95fa77dbfe96ddaab5a39c446a49e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jan 14 10:54:44 2013 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 14 10:54:44 2013 -0800"
      },
      "message": "Merge \"Name anonymous mmap mallocs.\""
    },
    {
      "commit": "9fb48ac257d9a01ba99c6c9ced497b24512a86b7",
      "tree": "888f9f35fe741a0e59beaa599ada10aff2b74bd5",
      "parents": [
        "2c5153b043b44e9935a334ae9b2d5a4bc5258b40"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 11 18:38:26 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 11 18:38:26 2013 -0800"
      },
      "message": "libc_init_static: apply relro earlier.\n\nThe dynamic linker applies relro before the preinit and init\narrays are executed, so we should be consistent for statically\nlinked executables.\n\nChange-Id: Ia0a49d0e981a6e8791f74eed00280edf576ba139\n"
    },
    {
      "commit": "8921060253f95fa77dbfe96ddaab5a39c446a49e",
      "tree": "e772aa74be62c50a61c47671aa5dd79def2f30d5",
      "parents": [
        "69c89942db2ed472c71aa84903d0259cc84aa074"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 15:25:44 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 17:42:17 2013 -0800"
      },
      "message": "Name anonymous mmap mallocs.\n\nChange-Id: Icc53ba1eecb8445210623826d8e99a611d686f7f\n"
    },
    {
      "commit": "2c5153b043b44e9935a334ae9b2d5a4bc5258b40",
      "tree": "a416a91052c38633d963fb5fc193356ae0c45640",
      "parents": [
        "69c89942db2ed472c71aa84903d0259cc84aa074"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 11 14:43:05 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 11 16:44:15 2013 -0800"
      },
      "message": "libc: add getauxval()\n\nAdd support for getauxval().  This method allows a program an easy way\nto retrieve information from the kernel auxiliary vector, and will\nhopefully replace other clumsy ways of accessing this same information.\n\nThis particular function was also added to glibc in glibc 2.16.\nSee the following URLs for more details.\n\n  * http://lwn.net/Articles/519085/\n  * http://www.gnu.org/software/libc/manual/html_node/Auxiliary-Vector.html\n\nThis change is a prerequisite for bug 7959813.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d38441\nChange-Id: Iba19d899df334bddc6f4899077ece2fc87564ea8\n"
    },
    {
      "commit": "a12c54454f3a6132988b68873903f6e9eed7f384",
      "tree": "cc4310383aaabecf344c6a66d758fcb9dbf5f1b5",
      "parents": [
        "bfde0b6fd9e5de545746ab963d3a05ed2a8014f6"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Jan 08 15:15:45 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 10 16:30:22 2013 -0800"
      },
      "message": "Fix unused warnings in pthread.c\n\nChange-Id: I0287aadb825fd8cda29dc976bce55d75a1279fc5\n"
    },
    {
      "commit": "e6e60065ff093ff8c859ab146cf543531cb1967c",
      "tree": "41de4f1d0cf5cec9fa72c4ad6d0fed5bf1b00329",
      "parents": [
        "0d3700d957debe841c385f66a8026ca8b3755815"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 10 16:01:59 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 10 16:01:59 2013 -0800"
      },
      "message": "glibc 2.15 treats errno as signed in strerror(3).\n\nAnd the only reason I hadn\u0027t done that in bionic is because I wanted to behave\nthe same as glibc.\n\nChange-Id: I2cf1bf0aac82a748cd6305a2cabbac0790058570\n"
    },
    {
      "commit": "c5d028fc913de84a781bd61084bf7ae2182fd48e",
      "tree": "9086acc9c039dad30feca8a8d80ca7af04b061e1",
      "parents": [
        "2bbb8fac61e482dd96386620cc6f7f193e9c6840"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 10 14:42:14 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 10 14:42:14 2013 -0800"
      },
      "message": "Only have one copy of the kernel_sigset_t hack, and add more tests.\n\nChange-Id: I377522fcba6fb4b5fd2754ab15b091014bd7c16f\n"
    },
    {
      "commit": "a4b2dc016fa62bd172a73c3f8971c805700ffb0f",
      "tree": "e4fdfa1397187776c680825a805ae3672c27c052",
      "parents": [
        "364d9ee62f583bca795a2b40f71a04e272c80389"
      ],
      "author": {
        "name": "Rom Lemarchand",
        "email": "romlem@google.com",
        "time": "Wed Jan 09 15:46:06 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 10 13:14:46 2013 -0800"
      },
      "message": "Add signalfd call to bionic\n\nAdd signalfd() call to bionic.\n\nAdding the signalfd call was done in 3 steps:\n- add signalfd4 system call (function name and syscall\n  number) to libc/SYSCALLS.TXT\n- generate all necessary headers by calling\n  libc/tools/gensyscalls.py. This patch is adding\n  the generated files since the build system\n  does not call gensyscalls.py.\n- create the signalfd wrapper in signalfd.cpp and add\n  the function prototype to sys/signalfd.h\n\n(cherry-pick of 0c11611c11f4dc1b6d43587b72c3ccbe8c51a51c, modified to\nwork with older versions of GCC still in use on some branches.)\n\nChange-Id: I4c6c3f12199559af8be63f93a5336851b7e63355\n"
    },
    {
      "commit": "fb5e5cbdd4e1d75594c37ebb544c0f46482a027b",
      "tree": "310053af341c83e71625b67eb4cba74d6766fe9b",
      "parents": [
        "26c5b2d460e3b2595eb7f0605edcd02753a13594"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 07 13:58:49 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 07 13:58:49 2013 -0800"
      },
      "message": "Fix an off-by-one error in the sigset_t function error handling.\n\nSpotted while running the tests on MIPS, where sigset_t is\nactually large enough. The bits in sigset_t are used such that\nsignal 1 is represented by bit 0, so the range of signals is\nactually [1, 8*sizeof(sigset_t)]; it seems clearer to reword\nthe code in terms of valid bit offsets [0, 8*sizeof(sigset_t)),\nwhich leads to the usual bounds checking idiom.\n\nChange-Id: Id899c288e15ff71c85dd2fd33c47f8e97aa1956f\n"
    },
    {
      "commit": "d73c0b300e2dbaa4cc59f87fc1435661e5e1c736",
      "tree": "5b8137a8949482e82e150494cfe11d73538e1dac",
      "parents": [
        "f0036944a13a76dddda70347032128d4a27081d6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 16:25:47 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 16:25:47 2013 -0800"
      },
      "message": "Add AF_CAN and PF_CAN (and other missing families).\n\nChange-Id: I2c183a6f5f7a7e81e87dad85d8c9aff9c43ed33a\n"
    },
    {
      "commit": "db492b3ca753c4ef688d0daf648294de0c89145e",
      "tree": "aed7c4b15968d65c06e2d9ac6184153e611bf2d4",
      "parents": [
        "b1b5317799a34ac9e93f568af82952e52a9e9a13"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 15:44:03 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 15:44:03 2013 -0800"
      },
      "message": "Fix debug malloc.\n\n...which has been broken since the linker data structures went read-only.\n\nBug: 7941716\nChange-Id: If28f6bac0fcb13e371e4d85b064544f561c8d692\n"
    },
    {
      "commit": "7cbff41ba3d89e98980fdc61ebbf6058d1c94d05",
      "tree": "657ae521798f695ef0af87ead7456d3f96337771",
      "parents": [
        "fb62558bb4c25c8f71e0b949ba8552c674578674"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 11:53:35 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 03 11:53:35 2013 -0800"
      },
      "message": "sysconf.c was renamed to sysconf.cpp (and modified)...\n\n...but sysconf.c still lingers on due to some git/repo accident. Kill it.\n\nChange-Id: Iae354ecb21abf03a3f718cc45cfdddb7a9347778\n"
    },
    {
      "commit": "a55f63083fb16b2595f517a3260083e5f8cddd02",
      "tree": "a21307c7a280a75b425eac764546fb1460e3eb76",
      "parents": [
        "f6524f8bda87f7d25dad7bed7091a93f3de58728"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 02 14:23:43 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 02 14:23:43 2013 -0800"
      },
      "message": "Define _POSIX_MONOTONIC_CLOCK and implement sysconf(_SC_MONOTONIC_CLOCK).\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d39680\nChange-Id: I11cf10a66f9d305868a725f04f581099fb88bbfc\n"
    },
    {
      "commit": "4fa35d8ae80c175425e9525831d7b6a71a3ada60",
      "tree": "aa349c2c944131991af7fcbcd91b1ab54c9c6b4e",
      "parents": [
        "0521ff8234cafcc61060961b2f856fcf4dae1e7d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 11 16:14:54 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 11 16:17:33 2012 -0800"
      },
      "message": "Fix \u003cendian.h\u003e and \u003csys/endian.h\u003e.\n\nPreviously we\u0027d been relying on getting the machine-specific \u003cendian.h\u003e\ninstead of the top-level \u003cendian.h\u003e, and \u003csys/endian.h\u003e was basically broken.\nNow, with this patch and the previous patch we should have \u003cendian.h\u003e\nand \u003csys/endian.h\u003e behaving the same. This is basically how NetBSD\u0027s endian.h\nworks, and was probably how ours was originally intended to work.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d39824\nChange-Id: I71de5a507e633de166013a658b5764df9e1aa09c\n"
    },
    {
      "commit": "d8a5a6f513c6fa99229e9c82c5c308c7cd6b3d54",
      "tree": "1237090d7651fdb2374c60d94e7e1d8f75cd4e35",
      "parents": [
        "6fcf1770e5829b8439b7e7ed7efb39ee5d425e23"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Fri Dec 07 18:41:10 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 10 11:20:57 2012 -0800"
      },
      "message": "Use pthread_kill() in raise()\n\nraise() should use pthread_kill() in a pthreads environment.\nFor bionic this means it should always be used.\n\nChange-Id: Ic679272b664d2b8a7068b628fb83a9f7395c441f\n"
    },
    {
      "commit": "03e1ebbdd638c6974267c6248935fdf59a4429ea",
      "tree": "1709473c28c5bc00a7da349580ea8dc1ea54d712",
      "parents": [
        "c8354f501ef9a6d3430de27386bf0b42c30981d9"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Thu Dec 06 13:02:46 2012 -0800"
      },
      "committer": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Fri Dec 07 14:13:23 2012 -0800"
      },
      "message": "Added audit.h from the kernel.\n\nJust followed the recipe in I1ca996541d05b0d5927ab828a6ce49c09877ea01\n\nChange-Id: I5713d9ce5ff62e310a694ecfbe21cad6577bcb4d\n"
    },
    {
      "commit": "57874753900865312d7d265d2ca15cb4edb00ef2",
      "tree": "344ba9328ef618db3dec557b592ec5f1f64e272e",
      "parents": [
        "5dfdb701292c53e74e319f277d808e598389c8e7"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Dec 07 09:57:01 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Dec 07 09:57:01 2012 -0800"
      },
      "message": "FORTIFY_SOURCE: remove memcpy overlap checks\n\nThese checks haven\u0027t been as useful as I hoped, and it\u0027s\ncausing a false positive finding.  Remove the overlap\ncompile time checks.\n\nChange-Id: I5d45dde10ae4663d728230d41fa904adf20acaea\n"
    },
    {
      "commit": "8b6fea59ac89147297c770f5dc298e0d5a99984f",
      "tree": "3706e11936c42ab1280507344c34d31129e4e5e3",
      "parents": [
        "7a34ed2bb36fcbe6967d8b670f4d70ada1dcef49"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Dec 05 15:26:54 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Dec 05 15:26:54 2012 -0800"
      },
      "message": "FORTIFY_SOURCE: fix up previous commit\n\nI forgot two files in 326ea5413d18ea019cd1bda415ce428f7bdcafd2.\n\nChange-Id: I30430f65bfafad4274193fc5b973959eac0791a7\n"
    },
    {
      "commit": "326ea5413d18ea019cd1bda415ce428f7bdcafd2",
      "tree": "630469ff443d522e356418bfda081452d28606f6",
      "parents": [
        "db79e827ebcb077ebaa6d6c96915c5bffba9a0ca"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Dec 04 13:55:19 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Dec 04 15:27:30 2012 -0800"
      },
      "message": "clean up FORTIFY_SOURCE handling.\n\nAvoid duplicating huge chunks of code.\n\nChange-Id: Id6145cdfce781c5ffba2abaaa79681d25a7ab28f\n"
    },
    {
      "commit": "9a4d305340e6ce2fc6c3f371f2d7ede446f8c6d4",
      "tree": "e6c29deaf1b6789aa94bb1074db1b9b554033267",
      "parents": [
        "60fb68338b7541b6022fc343857b90c088c399cd"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Dec 03 10:36:13 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Dec 03 10:39:16 2012 -0800"
      },
      "message": "FORTIFY_SOURCE: fortify strrchr\n\nThis change compliments 049e58369c37fdeacd0380a6bf1e078d9baf819f\n\nChange-Id: I27d015d70a520713c7472558a3c427f546d36ee4\n"
    },
    {
      "commit": "60fb68338b7541b6022fc343857b90c088c399cd",
      "tree": "fb98cdd5b719fa8aea2e371ebe067acc5a0805e6",
      "parents": [
        "46d64ed2e5cf8e37d53b116f2281b4a39cc4f288",
        "635df850e5037be5093f64a87ec2e0a23bf7a50b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 03 09:13:20 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 03 09:13:20 2012 -0800"
      },
      "message": "Merge \"mmap: Remove madvise() workaround\""
    },
    {
      "commit": "46d64ed2e5cf8e37d53b116f2281b4a39cc4f288",
      "tree": "77ef1721b324924e435fbdb9b486a3504578e59f",
      "parents": [
        "3acc908c79aa9cba975861fa23fa2672733b5d5d",
        "da73f655fcbac6e1a8bfd35303cef6f41187d12b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 03 07:45:45 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 03 07:45:46 2012 -0800"
      },
      "message": "Merge \"Add argument checking to sigemptyset(3) and friends.\""
    },
    {
      "commit": "da73f655fcbac6e1a8bfd35303cef6f41187d12b",
      "tree": "7c85d8bc7ff5cb4a8eebd0ea3a6a808790c26f5d",
      "parents": [
        "16c61f088524756ef0fa1b030719f6745eaef2db"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 16:40:55 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 16:40:55 2012 -0800"
      },
      "message": "Add argument checking to sigemptyset(3) and friends.\n\nYou could argue that this is hurting people smart enough to have manually\nallocated a large-enough sigset_t, but those people are smart enough to\nimplement their own sigset functions too.\n\nI wonder whether our least unpleasant way out of our self-inflicted 32-bit\ncesspool is to have equivalents of _FILE_OFFSET_BITS such as _SIGSET_T_BITS,\nso calling code could opt in? You\u0027d have to be careful passing sigset_t\narguments between code compiled with different options.\n\nBug: 5828899\nChange-Id: I0ae60ee8544835b069a2b20568f38ec142e0737b\n"
    },
    {
      "commit": "049e58369c37fdeacd0380a6bf1e078d9baf819f",
      "tree": "039599b75477a0759c69af2295e3dd20f293caff",
      "parents": [
        "16c61f088524756ef0fa1b030719f6745eaef2db"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Nov 30 15:15:58 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Nov 30 15:19:15 2012 -0800"
      },
      "message": "FORTIFY_SOURCE: fortify strchr\n\nDetect when strchr reads off the end of a buffer.\n\nChange-Id: I0e952eedcff5c36d646a9c3bc4e1337b959224f2\n"
    },
    {
      "commit": "4a9e837840fda3aaea48aeba85c7c7a8782d2586",
      "tree": "3d74d674ea208fda1676d51bc9d6feecc2cc6bc9",
      "parents": [
        "97b70b2bda47af46adf58dfde61050357114aa1f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 11:58:57 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 12:05:18 2012 -0800"
      },
      "message": "Reduce the exposure of the __set_errno implementation detail.\n\nChange-Id: I395e1b46a9491e34fc53e71853e932ea90b3d1cc\n"
    },
    {
      "commit": "97b70b2bda47af46adf58dfde61050357114aa1f",
      "tree": "b9158b242f0beaacf3c9f6eb72fcc818cc812b87",
      "parents": [
        "07c0b73a7fc9214e50fc6b9a15a06aeef0506e0f",
        "20c4a3a8eee5ca8c87ae377732f541baffce1fda"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 10:06:53 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 30 10:07:19 2012 -0800"
      },
      "message": "Merge \"Replace .S version of x86 crtfiles with .c version\""
    },
    {
      "commit": "20c4a3a8eee5ca8c87ae377732f541baffce1fda",
      "tree": "73b9ac8f6749da7b637f90727f5f7051bf0e36aa",
      "parents": [
        "8784709a2cfe6d32b5fff2c6b826b8d9cbf73d7b"
      ],
      "author": {
        "name": "Pavel Chupin",
        "email": "pavel.v.chupin@intel.com",
        "time": "Wed Nov 28 18:31:14 2012 +0400"
      },
      "committer": {
        "name": "Pavel Chupin",
        "email": "pavel.v.chupin@intel.com",
        "time": "Fri Nov 30 17:41:25 2012 +0400"
      },
      "message": "Replace .S version of x86 crtfiles with .c version\n\nThis patch replaces .S versions of x86 crtfiles with .c which are much\neasier to support. Some of the files are matching .c version of Arm\ncrtfiles. x86 files required some cleanup anyway and this cleanup actually\nled to matching Arm files.\n\nI didn\u0027t change anything to share the same crt*.c between x86 and Arm. I\nprefer to keep them separate for a while in case any change is required\nfor one of the arch, but it\u0027s good thing to do in the following patches.\n\nChange-Id: Ibcf033f8d15aa5b10c05c879fd4b79a64dfc70f3\nSigned-off-by: Pavel Chupin \u003cpavel.v.chupin@intel.com\u003e\n"
    },
    {
      "commit": "3975cec694a0c9b42e3f7e671fcd678da92836c3",
      "tree": "bf92249d492ff0b9902d06950814e18be342a4b8",
      "parents": [
        "50e62e4051c14d7d2a5e07ebe66afd2a81693a26"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 17:25:23 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 17:25:23 2012 -0800"
      },
      "message": "Remove (near-)duplicate definitions of size_t and ssize_t.\n\nThe near duplicates upset fussier compilers that insist that\ntypedefs be exactly the same, but the fix isn\u0027t to make all\ncopies identical...\n\nChange-Id: Icfdace41726f36ec33c9ae919dbb5a54d3529cc9\n"
    },
    {
      "commit": "50e62e4051c14d7d2a5e07ebe66afd2a81693a26",
      "tree": "f7f10ed5c9f20df627ed75aa7772d8ee01b5d5f0",
      "parents": [
        "99ea84b12dd3ebebbbd527b8748f0d74bb1dfc0d",
        "a437bff914aa4416e8a72ea444f226f84c8b11fd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 15:51:57 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 15:51:57 2012 -0800"
      },
      "message": "Merge \"Bug: __WINT_TYPE__ and wint_t reference to different types\""
    },
    {
      "commit": "99ea84b12dd3ebebbbd527b8748f0d74bb1dfc0d",
      "tree": "b7c6722716fe156b22db57a8c6571d7a8a62cec6",
      "parents": [
        "5d4b8421b3d040e8c2bdb83c8adb2752eab7b4b6",
        "58aaaa730b5b33bc4ee524eb04985e5b8cf540bb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 14:37:13 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 14:37:14 2012 -0800"
      },
      "message": "Merge \"[MIPS] Fix the MIPS getsid system call\""
    },
    {
      "commit": "5d4b8421b3d040e8c2bdb83c8adb2752eab7b4b6",
      "tree": "da6f64309d2b5af18b3e2f59a41e0e905d68ce69",
      "parents": [
        "781142208033e72b3773bcfab83cddf5ca34c9b2",
        "285b02582bc301dede933bf9d161ecd68b1f4257"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 14:34:19 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 14:34:19 2012 -0800"
      },
      "message": "Merge \"Verify architecture neutral syscall numbers\""
    },
    {
      "commit": "58aaaa730b5b33bc4ee524eb04985e5b8cf540bb",
      "tree": "9cc321eaeebff1ba2fe99348d2ac7effd42791b9",
      "parents": [
        "285b02582bc301dede933bf9d161ecd68b1f4257"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Thu Nov 29 11:23:31 2012 -0800"
      },
      "committer": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Thu Nov 29 12:05:25 2012 -0800"
      },
      "message": "[MIPS] Fix the MIPS getsid system call\n\nChange-Id: I30a27941125bccb35d73a572a729ecf7dd555389\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\n"
    },
    {
      "commit": "285b02582bc301dede933bf9d161ecd68b1f4257",
      "tree": "fb73f892a67927c4512adadf6ec2859efa107627",
      "parents": [
        "dea13da3407873e4f3fec9ba1a04b4fdacea07f4"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Thu Nov 29 11:22:11 2012 -0800"
      },
      "committer": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Thu Nov 29 12:04:23 2012 -0800"
      },
      "message": "Verify architecture neutral syscall numbers\n\nAlso removed some dead code and fixed comment\n\nChange-Id: I5d6a04b4af3d95e34368136cf2eeb3c9b6f99769\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\n"
    },
    {
      "commit": "f27b7fb0567a9cbb642be9d98298cb6668e7db39",
      "tree": "99a6559087e9fcb01aa78852e57054c4f0316b7a",
      "parents": [
        "dea13da3407873e4f3fec9ba1a04b4fdacea07f4"
      ],
      "author": {
        "name": "Hakan Kvist",
        "email": "hakan.kvist@sonymobile.com",
        "time": "Wed Oct 10 08:32:52 2012 +0200"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 29 11:53:33 2012 -0800"
      },
      "message": "Define DEFFILEMODE and friends\n\nDefine the macros ACCESSPERMS, ALLPERMS and DEFFILEMODE.\nThese macros originates from BSD but has been available in glibc\nfor quite some time.\n\nChange-Id: I429cd30aa4e73f53b153ee7740070cebba166c57\n"
    },
    {
      "commit": "b15c58bb0fe55f076751acd7a5d00ded0ec33963",
      "tree": "a77604250097aa29d362334783e7f4d9277efa67",
      "parents": [
        "f2de6b0f6e873f9cb28682b8fc6764b0ab41c6ee"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 27 14:18:04 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 27 14:18:04 2012 -0800"
      },
      "message": "Clean up _BYTE_ORDER definitions for better x86 portability.\n\nWe\u0027d manually hacked _BYTE_ORDER into the arm and mips \"_types.h\" headers,\nbut not into the x86 one. Judging by upstream, _BYTE_ORDER should be in\nthe \"endian.h\" headers instead, so let\u0027s uniformly do that.\n\nI\u0027ve also ironed out some of the other differences between the different\narchitectures\u0027 header files too.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d39824\nChange-Id: I19d3af7ffd74e1c02b1b6886aec0f0d11f44ab8d\n"
    },
    {
      "commit": "5d2ef8724d8978465b9795198099305d0f0b12d0",
      "tree": "eadbe7f85c37a6696fb50d217f47db4763c5b6ab",
      "parents": [
        "8784709a2cfe6d32b5fff2c6b826b8d9cbf73d7b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 26 13:44:49 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 26 14:51:39 2012 -0800"
      },
      "message": "Upgrade to tzdata2012j.\n\nThis reflects the following changes recently circulated on the tz mailing list:\n\n  Libya moved to CET [2012-11-11], but with DST planned [2013].\n  (Thanks to Even Scharning, Steffen Thorsen, and Tim Parenti.)\n\nI also had to change the script to cope with:\n\n  Signatures now have the extension .asc, not .sign, as that\u0027s more\n  standard.  (Thanks to Phil Pennock.)\n\nChange-Id: Ie9711c5c796b3c122daea9690929edcc3ddd32da\n"
    },
    {
      "commit": "a437bff914aa4416e8a72ea444f226f84c8b11fd",
      "tree": "0e1a574df2d0ca81daea1033296040b36de70e24",
      "parents": [
        "8784709a2cfe6d32b5fff2c6b826b8d9cbf73d7b"
      ],
      "author": {
        "name": "Sergey Melnikov",
        "email": "sergey.melnikov@intel.com",
        "time": "Wed Nov 21 19:42:19 2012 +0400"
      },
      "committer": {
        "name": "Sergey Melnikov",
        "email": "sergey.melnikov@intel.com",
        "time": "Mon Nov 26 12:01:58 2012 +0400"
      },
      "message": "Bug: __WINT_TYPE__ and wint_t reference to different types\n\n__WINT_TYPE__ type provided by gcc. It references to unsigned int\ntype for android and linux. Patch corrects wint_t typedef to\n__WINT_TYPE__.\n\nSigned-off-by: Sergey Melnikov \u003csergey.melnikov@intel.com\u003e\nChange-Id: Iabeb9fcb0b7bb303a8b220043e339126f125dd68\n"
    },
    {
      "commit": "635df850e5037be5093f64a87ec2e0a23bf7a50b",
      "tree": "21c04e8b18b3a15e6503beae99f6573cc1915b72",
      "parents": [
        "8784709a2cfe6d32b5fff2c6b826b8d9cbf73d7b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Nov 19 11:23:10 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Nov 19 11:46:33 2012 -0800"
      },
      "message": "mmap: Remove madvise() workaround\n\nRemove mmap() calling madvise(MADV_MERGEABLE) added\nin b8e1e9685efc82d6ac112b9aa316e7f6bf5186ca\n\nChange-Id: I80dbf6afe750348964d83097f993ea6cb8a065d5\n"
    },
    {
      "commit": "ac3de8d080745e62c77fdf03e3923726d0a6b50d",
      "tree": "88c4c73553aa705cb6ab29ec2744f6a65bbd5ea2",
      "parents": [
        "c079dfe4153941e6da881be9a143b41a1112c2ac"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Nov 09 16:51:36 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Nov 15 12:52:06 2012 -0800"
      },
      "message": "Support GNU_RELRO for static executables.\n\nIn 9ec0f03a0d0b17bbb94ac0b9fef6add28a133c3a, we added dynamic\nlinker support for GNU_RELRO protections. These protections\nmake certain regions of memory read-only, helping protect certain\ndata structures from accidental or deliberate modifications.\n\nThis change adds GNU_RELRO support to STATIC executables.  We can\ndetermine if we\u0027re compiled with relro protections by examining\nour own program headers, which is passed to us by the kernel\nin the AT_PHDR and AT_PHNUM auxiliary vectors.\n\nParts of this code were stolen from the dynamic linker.\n\nChange-Id: Ic17eb5f932218538ec25347ece314d4dc7549de1\n"
    },
    {
      "commit": "d86d713b6345ac9c030aeb0eedee11fc17d2fba1",
      "tree": "8a271c696875c9e91adff9b84175aac5e2c5b327",
      "parents": [
        "0b25791a2819e01b28f777901facd5db03ba6961",
        "b62e2770e7c41f9cbe41acca4f25966eea2bc533"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 09 15:15:09 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 09 15:15:09 2012 -0800"
      },
      "message": "am b62e2770: Merge \"Add optimized version of memset for Cortex A9\"\n\n* commit \u0027b62e2770e7c41f9cbe41acca4f25966eea2bc533\u0027:\n  Add optimized version of memset for Cortex A9\n"
    },
    {
      "commit": "884e4f839b18552237c1453312aa4ccba46f94e9",
      "tree": "e79be3598394b985f99560cd1e5179f479ee6466",
      "parents": [
        "49677deca2c2984ae6c0a3df8fbada7132e82940"
      ],
      "author": {
        "name": "Henrik Smiding",
        "email": "henrik.smiding@stericsson.com",
        "time": "Fri Nov 05 15:07:53 2010 +0100"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 09 15:05:32 2012 -0800"
      },
      "message": "Add optimized version of memset for Cortex A9\n\nAdds new code to function memset, optimized for Cortex A9.\n\nCopyright (C) ST-Ericsson SA 2010\n\nAdded neon implementation\n\nAuthor: Henrik Smiding henrik.smiding@stericsson.com for ST-Ericsson.\n\nChange-Id: Id3c87767953439269040e15bd30a27aba709aef6\nSigned-off-by: Christian Bejram \u003cchristian.bejram@stericsson.com\u003e\n"
    }
  ],
  "next": "0b25791a2819e01b28f777901facd5db03ba6961"
}
