)]}'
{
  "log": [
    {
      "commit": "fddbafdc0a63a1b4c5e9252719a913197a4eecfa",
      "tree": "f108fcc8076996cac4950f9e217b796bacd047dc",
      "parents": [
        "9fb53dd4dbaa7633c234d9da8417827fa3d3c32f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 01 10:17:27 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 01 10:27:49 2014 -0700"
      },
      "message": "Keep the kernel header scrubber\u0027s data structures in sync.\n\nIf you rewrite the tokens of a #if you need to rewrite the expression to match\nbecause either might be used later. This was showing up as SIGRTMAX being\nrewritten in a #define but not in the #ifndef that guarded it, for which case\nI\u0027ve added a unit test.\n\nChange-Id: I6929675461a1afe272edd667594529fd84a3dc4d\n"
    },
    {
      "commit": "199346a2abd8b6ba282e1fe291cc3766fa921f40",
      "tree": "9ee2feb4ffcb2be771e2b733b1338c8755bd306a",
      "parents": [
        "022885e2fad5ef9643e05d80c6f50a2a90bf3431"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 11 20:01:11 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 11 22:16:04 2014 -0800"
      },
      "message": "Fix NSIG.\n\nOur sigset_t definition hasn\u0027t been tied to our NSIG definition since we\nswitched to uapi headers, so we can now fix it without breaking the LP32 ABI.\nThe kernel uapi headers define and use _NSIG, so we need to have our scripts\nrename the kernel\u0027s definitions out of the way, then we can define _NSIG\nand NSIG in terms of the kernel\u0027s off-by-one value.\n\nBug: 12938442\nChange-Id: Ic7c86fd5be5ad1d822f7b2b1d88c8a0d70a1ac0f\n"
    },
    {
      "commit": "1198fd38645ff94bf48daae10f8b74903444badc",
      "tree": "7ede00fdf4207fc607c1bf87b7fd3dee3f952379",
      "parents": [
        "d4143c8e4cd8b006d8f422883b53684881e0991a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 21 11:12:34 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 21 11:12:34 2013 -0800"
      },
      "message": "Add support for the ternary operator to the header scrubber.\n\nUsed in various uapi headers.\n\nChange-Id: Id0f862d2adc7ddc9727e8a29160d5435f8d547c3\n"
    },
    {
      "commit": "40596aa0054bcfa76148f55321bf4b979e2242be",
      "tree": "5e7f3d342b548177c5fb486878477ccfe5708f03",
      "parents": [
        "f1258672d1eed41da30612a70690c19ff1966b73"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 05 14:54:29 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 06 12:04:48 2013 -0800"
      },
      "message": "Make cpp.py less braindead.\n\nThe old code ignored operator precedence (!), despite having two tables\nof operator precedence. The code\u0027s still pretty awful, but I\u0027ve cleaned\nit up enough to fix this, the most important bug.\n\nThis patch lets us correctly clean the uapi unistd.h, stat.h, and swab.h files,\nand also fixes the mess we were already making of various old kernel\nheader files. I\u0027ve added a bunch more tests, fixed the existing tests that\nthe existing script was already failing (!), and changed the script so that\nthe tests are run every time the script is run.\n\nWe can probably remove some of the old kernel header files that we were\nparsing incorrectly, but we can worry about that later.\n\nBug: 11253477\nChange-Id: Ie66c65b3a7ae13b4e98ed8038a6a534f06eae0e5\n"
    },
    {
      "commit": "d3e64a3f403918abf2cc3f9f0f9a2204a420ec96",
      "tree": "ec7cb0e25587096a42ed0fce4a125bf4bba7affd",
      "parents": [
        "76218efbeb2e124656ce15d4eb5a7039da065123"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 30 17:41:08 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 30 18:42:13 2013 -0700"
      },
      "message": "Add x86_64 to the bionic headers.\n\nManual changes:\n\n  cpp.py: cope with macros that refer to other macros.\n\n  defaults.py: x86 no longer always implies __i386__; use __i386__ to replace\n  the kernel CONFIG_X86_32 flag.\n\n  asm/page.h: the upstream page.h isn\u0027t a uapi header and no longer includes\n  the stuff we were using it for. Let\u0027s just have our own static file, since\n  it\u0027s the same for all our architectures (both 32- and 64-bit).\n\n  sys/select.h: we used to use the various FD_SET-related macros from the\n  kernel header files, but they\u0027ve gone. Adjust by adding trivial equivalent\n  definitions.\n\nAutomated changes:\n\n  libc/kernel/arch-x86, libc/kernel/common: regenerated from\n  external/kernel-headers.\n\nChange-Id: I84fc0ed52dc742e043b4ae300fd3b58ee99b7fcd\n"
    },
    {
      "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": "fc2693110ee8a2ba22a445ad9855fbe9e118d439",
      "tree": "6bbfcf0620780f454b5c0ac2dbd5341a00cfa157",
      "parents": [
        "040e18f362716c0bab1d9c39a869b98d6c61584c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Oct 11 22:11:06 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Feb 03 18:07:41 2011 +0100"
      },
      "message": "libc: Update auto-gen scripts\n\nMake the scripts use external/kernel-headers/original by default.\n\nclean_header.py:  Document -k\u003cpath\u003e, add -d\u003cpath\u003e\nfind_headers.py:  Make kernel config files optional\nupdate_all.py:    Allow setting the path to kernel headers on the command-line\nupdate_all.py:    Better formatting of output on ttys\nupdate_all.py:    Automatically perform \"git add/rm\" on affected files.\nSYSCALLS.TXT:     Fix typo in __socketcall definition.\nchecksyscalls.py: Add support for superH architecture in the checks.\ngensyscalls.py:   Automatically perform \"git add/rm\" on affected files.\ncpp.py:           Fixed a bug that prevented certain type definitions to\n                  be kept in the generated clean header (e.g.\n                  struct ethtool_drvinfo in \u003clinux/ethtool.h\u003e)\n\nAll scripts will use the content of external/kernel-headers/original by default now.\n\nThe generated code removes all empty lines and trailing whitespace. This is useful\nto ensure a unified output even if we change the parser again in the future.\n\nThe top-level disclaimer has been edited with update instructions to regenerate\nthe headers when needed.\n\nAlso, a warning is now inserted every 8th line in the final output:\n\n/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */\n\nChanges under kernel/arch-arm and kernel/arch-x86 should correspond to whitespace\ndifferences and additionnal struct definitions that were missed by the previous\nparser implementation.\n\nChange-Id: Icd1c056bacd766759f3e9b7bb5d63a246f3d656a\n\nWARNING: If you run these script, do not submit the result to gerrit for now.\n         It seems there are discrepancies between the content of original headers\n         and those currently commited under bionic/libc/kernel/.\n\n         (This problem is the main motivation to insert the warning repeatedly).\n\n         Current list of issues:\n\n           - Missing SuperH headers (i.e. external/kernel-headers/original/asm-sh)\n"
    },
    {
      "commit": "d32c8052fc2b2d3c5da344eb673df35d4a5bc052",
      "tree": "453039efa2d214c68a422bda36921eb7266a0296",
      "parents": [
        "1bc98ccb76c147c46bd666f05247eb11e2847d4b"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Dec 08 11:38:14 2010 +0100"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Dec 08 11:40:59 2010 +0100"
      },
      "message": "Add a method for replacing tokens in the preprocessed headers\n\nChange-Id: I14cf6337945560b012732ae0fe7a247074810678\n"
    },
    {
      "commit": "1dc9e472e19acfe6dc7f41e429236e7eef7ceda1",
      "tree": "3be0c520fae17689bbf5584e1136fb820caef26f",
      "parents": [
        "1767f908af327fa388b1c66883760ad851267013"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "1767f908af327fa388b1c66883760ad851267013",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "a799b53f10e5a6fd51fef4436cfb7ec99836a516"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "6d6c82c7a0a6b9a89f61b61c66f9b90d9c7177dc",
      "tree": "8de86895228b63728c3a134c8b1fcab003db467d",
      "parents": [
        "4e468ed2eb86a2406e14f1eca82072ee501d05fd"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:50:54 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:50:54 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@125939\n"
    },
    {
      "commit": "4e468ed2eb86a2406e14f1eca82072ee501d05fd",
      "tree": "4e05b3c66eef86531e464521a3bf96a1864d4bf5",
      "parents": [
        "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349",
      "tree": "defd1cc07d16ad2f3b21154114e092d11c94c5bb",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
