)]}'
{
  "log": [
    {
      "commit": "7cebf835f310650f67b254295a685918681656fc",
      "tree": "daf485447fccb691750149c465b2c629adf6e305",
      "parents": [
        "a4110def5cec22306313a34fff64b5810c9b1792"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 12 14:25:41 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 12 15:52:14 2020 -0700"
      },
      "message": "Various coverage improvements.\n\nMostly from extra test cases, but also:\n\n* Move the fgets size \u003c 0 assertion into fgets.\n\n* Use ELF aliases for strtoq/strtouq rather than duplicating code.\n\n* Don\u0027t check uname() succeeded, since it can\u0027t fail.\n\nTest: treehugger\nChange-Id: I2e6b3b88b0a3eb16bd68be68b9bc9f40d8043291\n"
    },
    {
      "commit": "bcaa454d32e1b4ccf92467bb263d627695ac9a5b",
      "tree": "65d7d4c493242ecb51bfe1796f133b32538de514",
      "parents": [
        "ff16c0b89b7297bc70353f60afac9bb93d6b0087"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 08 15:20:23 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 12 10:26:39 2019 -0700"
      },
      "message": "bionic tests: use GTEST_SKIP.\n\nAlso be a bit more to the point in our messages, focusing on \"why\" not\n\"what\".\n\nTest: ran tests\nChange-Id: I297806c7a102bd52602dcd2fcf7a2cd34aba3a11\n"
    },
    {
      "commit": "32bc0fcf69dfccb3726fe572833a38b01179580e",
      "tree": "abca656f500087493e0997d5cf38cbcc9ec98eb8",
      "parents": [
        "65f82092a17518080178ff7004cc6db362ebfbcd"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Aug 02 17:31:13 2018 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Aug 02 18:09:44 2018 -0700"
      },
      "message": "Modernize codebase by replacing NULL with nullptr\n\nFixes -Wzero-as-null-pointer-constant warning.\n\nTest: m\nBug: 68236239\nChange-Id: I5b4123bc6709641315120a191e36cc57541349b2\n"
    },
    {
      "commit": "2950f13eef106d021e228c0b86d32332e8840580",
      "tree": "bcf64de9154835836104f6aeba197344330687ae",
      "parents": [
        "aa8f766bf0ead7d87ed1084880f42aa4b2d01fbb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 01 23:02:48 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 02 09:01:42 2017 -0700"
      },
      "message": "Add some \u003csched.h\u003e tests.\n\nI was intending to change our behavior to match POSIX, but reality convinced\nme otherwise.\n\nAlso add missing argument names to the header file on the assumption they\u0027ll\nbe shown in Studio one day.\n\nBug: http://b/26203902\nTest: ran tests\nChange-Id: I2aaea48a88d408a32925033fc8f17448fb63252e\n"
    },
    {
      "commit": "e104a2edf3c459b2e79e86d4de388fb7a1efe198",
      "tree": "4f50d2627e6f47f6908561114d95b32a168691bc",
      "parents": [
        "5ac45a2add41fd7c1640815accf09a29bd14aac6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 06 15:55:36 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 06 16:37:00 2016 -0700"
      },
      "message": "Generalize the clone function slightly.\n\n* Allow clone where both the child function and stack are null. It\u0027s\nobviously wrong to ask to call a function without a stack, but it\u0027s not\nnecessarily wrong to supply no stack if you\u0027re also not supplying a\nfunction.\n\n* Reimplement fork in terms of the clone function, rather than using the\nclone system call directly.\n\nThis is intended as a step towards enabling use of pid namespaces.\n\nChange-Id: I03c89bd1dc540d8b4ed1c8fdf6644290744b9e91\n"
    },
    {
      "commit": "fb23fa30465e14b5dbf0e9de2a34c1cbe113e971",
      "tree": "9b0d9883c85ff042a3a685a20f217debcfeaf089",
      "parents": [
        "e725dc164015d873b64639f0fee9ba5c30175f4c"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Wed Mar 23 17:15:02 2016 -0700"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Thu Mar 24 16:37:20 2016 -0700"
      },
      "message": "clone: check for NULL child stack\n\nThe clone syscall accepts NULL child stacks, interpreting this to mean\nthe child gets a copy of the parent\u0027s stack with copy-on-write\nsemantics.  However clone(2) is explicitly documented to treat this an\nan error.\n\n\"Fortunately\" every architecture\u0027s __bionic_clone implementation pushes\nsomething onto the child stack before making the clone syscall.  So we\nknow fixing this won\u0027t break legacy apps, because any app that tried\nusing a NULL child stack would have died with SIGSEGV.\n\nThis change fixes the LTP clone04 testcase.\n\nChange-Id: I663b34f34bc8dad2aa405c46e4eed4418cccca0d\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "063525c61d24776094d76971f33920e2a2079530",
      "tree": "de279e25b05c43dbb06bc3ceb49f23bed3874377",
      "parents": [
        "a26dd781fe675cf94c62183da27622eb83ff6fa7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 13 11:19:57 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 13 11:19:57 2014 -0700"
      },
      "message": "Consistently use #if defined(__BIONIC__) in tests.\n\nI\u0027ve also switched some tests to be positive rather than negative,\nbecause !defined is slightly harder to reason about and there are\nonly two cases: bionic and glibc.\n\nChange-Id: I8d3ac40420ca5aead3e88c69cf293f267273c8ef\n"
    },
    {
      "commit": "954cf0d4e2669f91194b45f484152e47efa4f6c7",
      "tree": "a367f6590dcf1723983c7396a63bb6174b94b8e9",
      "parents": [
        "170daa042cb0ef3e5d7839f79d052a683b3c670f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 08 19:00:23 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 08 19:00:23 2014 -0700"
      },
      "message": "Hide the __bionic_clone and __bionic_clone_entry implementation details.\n\nclone(2) is the public symbol.\n\nAlso switch a test from __bionic_clone to clone; testing public API\nmeans the test now works on glibc too.\n\nChange-Id: If59def26a00c3afadb8a6cf9442094c35a59ffde\n"
    },
    {
      "commit": "2d36750c3ad8fd91cf52cb0ed8f38ecfd88b0f13",
      "tree": "81925d42b18d74111e3a544ce1646948dd6b596b",
      "parents": [
        "77473e408504a7e298816b4071cd6902065b03d8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 30 10:45:35 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 30 10:45:35 2014 -0700"
      },
      "message": "Fix the CPU_*_S tests.\n\nChange-Id: Id67c48b9c12a20b01309490670438bfcd9163465\n"
    },
    {
      "commit": "b743790ccabd9b0b93355ff693066478d10dae0d",
      "tree": "7594a0cbcc9703fbd5ae9f7dcb48daaad1e2ff69",
      "parents": [
        "eab395e4a88ee8ca7eeb7b6b2d6dfde364afbfcc"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 29 20:25:26 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 30 14:30:15 2014 +0100"
      },
      "message": "Fix cpu_set_t\n\n- extend CPU_SETSIZE for LP64\n- fix CPU_(AND|OR|XOR) macros\n- fix CPU_OP_S macro\n- fix __sched_cpucount\n- tidy up the code\n\nChange-Id: I741afff4d0c473e8a1ee6b4141981dc24467e0d4\n"
    },
    {
      "commit": "13613137bc4266656bffce464e525eb9ae6371f0",
      "tree": "0acda656b21254c1b809b575ab403d4099811b6e",
      "parents": [
        "020bcdaef349b6bd82302a0656fdf9aaff30bdb3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Oct 28 15:24:04 2013 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 29 14:55:11 2013 -0700"
      },
      "message": "Fix up failing glibc tests.\n\nThere is a known bug running clone with the CLONE_VM flag, so for host\ncreate an empty test.\n\nChange the expected output of the stdio test for a glibc difference.\n\nChange the pause test to use ScopedSignalHandler to setup/restore the SIGALRM\nhandler.\n\nAfter this, running bionic-unit-tests-glibc passes for all tests.\n\nBug: 11389824\n\nChange-Id: Ib304eae4164115835a54991dfdca5821ecc3db5e\n"
    },
    {
      "commit": "53bfdae4ffdbd43d0c019d1a35af1f8477a272c9",
      "tree": "f6b7395802ff60e74d4da96d0f66418dba31e22a",
      "parents": [
        "a5bab412e0bcb4f9e449d594330819c321cf18ad"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 18 19:39:09 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 18 19:39:09 2013 -0700"
      },
      "message": "Fix the x86_64 clone implementation.\n\nChange-Id: Ia75f46dcb4d3222049e9a6a6fabc2b17223b47f7\n"
    }
  ]
}
