)]}'
{
  "log": [
    {
      "commit": "7592008030a67ebe0dbda20aa041d5c347170611",
      "tree": "ff2143b9eb4d1f48179ea0605575db36d784451f",
      "parents": [
        "a00a9f0b7ed39589a768798de6a584a4baae030b"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Wed Apr 22 10:37:38 2015 -0700"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Wed Apr 22 10:47:01 2015 -0700"
      },
      "message": "Update the search path for libclang.so\n\nPrebuilt shared libraries (libclang.so, libLLVM.so and etc) have been\nmoved to prebuilts/sdk/tools/linux/lib64. Update the search path in\ncpp.py to match the change.\n\nBug: 20485471\nChange-Id: Ib7784db4d5529d16a1e2bfc07cb0237929bc5a64\n"
    },
    {
      "commit": "2d8f9b5aea90b57cd01c0a07cfff032092b4672e",
      "tree": "5e0c6af872e20d46e99e1b47a6378360915b70bf",
      "parents": [
        "a4fc89badf4ef4d42df0927340c6f0d02167a3d6"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Feb 09 13:58:28 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Feb 09 19:56:47 2015 -0800"
      },
      "message": "Define MAXHOSTNAMELEN explicitly in source files.\n\nBug: 19093777\nBug: 19092844\nChange-Id: I0778507ca2d5c008abb9a6d6315d0909263a8817\n"
    },
    {
      "commit": "d7db594b8d1dab36b711bd887a9dd21675c87243",
      "tree": "214b4e6e4510386ffc05c9a43dd3c153c6cf89a0",
      "parents": [
        "11829be3e1a9e9e2271ba64a78c327bde6e044eb"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Wed Jan 28 10:07:51 2015 -0800"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Fri Feb 06 14:48:41 2015 -0800"
      },
      "message": "Switch kernel header parsing to python libclang\n\nReplace the tokenizer in cpp.py with libclang.\n\nBug: 18937958\nChange-Id: I27630904c6d2849418cd5ca3d3c612ec3078686d\n"
    },
    {
      "commit": "fa343e630d9a96039987ba163aef5b475428d614",
      "tree": "549f9959fea10485e4dad45f4439d70bd3c910b5",
      "parents": [
        "6a6845244cf9eb8fe21ecc012b7b45990adad7d8"
      ],
      "author": {
        "name": "Kyunam Jo",
        "email": "kyunam.jo@gmail.com",
        "time": "Wed Dec 10 15:06:46 2014 +0900"
      },
      "committer": {
        "name": "Kyunam Jo",
        "email": "kyunam.jo@gmail.com",
        "time": "Wed Dec 10 07:53:07 2014 +0000"
      },
      "message": "fix runtime issues for scripts\n\nnow, some script to update kernel-headers is not working.\nbecause of wrong variable value and test codes.\nso this issue is fixed.\n\nChange-Id: Iffae9607858cc3c1c58fa24244be217b5a1ab06e\n"
    },
    {
      "commit": "dc1fb7000adb77c647f70428fd6ce224e3938220",
      "tree": "b1fb3ac1fd01134601776f82b5d13a2651ed66ec",
      "parents": [
        "55244a9bdbc661212999655644c374352ae92040"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 11:16:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 11:16:11 2014 -0700"
      },
      "message": "Clean up some of our python scripts.\n\nChange-Id: Ifa75345db43434298cfb6113fbe2f7a33b88c79d\n"
    },
    {
      "commit": "38062f954c637861348dd8078cefb73554e6f12c",
      "tree": "5fef4bcbf86fc780ac83ee0e2ab2f0f6cdfc9408",
      "parents": [
        "4c199170a84e725a56b7d40c113c9d76a75d89ab"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 09 15:33:25 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jul 10 13:32:32 2014 -0700"
      },
      "message": "Update kernel headers to v3.14.\n\nOther changes:\n- Modify update_all.py to skip ion header files when importing into aosp.\n- Fix generate_uapi_headers.sh to handle imports from a linux-stable kernel.\n\nChange-Id: I1ad81b9ccb063c21740f9875f2cc1238052cd4b3\n"
    },
    {
      "commit": "a69eaec4d48e978751356b2e8fd989d5e23a34db",
      "tree": "88e80d158b230e2b1bef980f073af3e3cec968d8",
      "parents": [
        "0df59bd3a5aed6c90dbac80f2c85968af52730d6"
      ],
      "author": {
        "name": "Duane Sand",
        "email": "duane.sand@imgtec.com",
        "time": "Thu Jun 19 14:38:07 2014 -0700"
      },
      "committer": {
        "name": "Duane Sand",
        "email": "duane.sand@imgtec.com",
        "time": "Fri Jun 20 10:46:28 2014 -0700"
      },
      "message": "[MIPS64] Adjust kernel/tools for mips32,mips64 headers\n\nDefine CONFIG_32BIT as _ABIO32 rather than as 1;\nit needs to be undefined for calls from mips64.\nWe need  defined(CONFIG_32BIT) \u003d\u003d !defined(CONFIG_64BIT),\nand get that via  defined(_ABIO32) \u003d\u003d !defined(__LP64__).\n\nDefine CONFIG_CPU_LITTLE_ENDIAN to get correctly-placed\nstruct msqid64_ds fillers on ipc calls from mips32.\nWithout this, big-endian fillers were erroneously used.\nThis bug exists in prior mips32 Android releases.\n\nDefine __SANE_USERSPACE_TYPES__ to use int_ll64.h\nrather than int_ll64.h on mips64.\nThis depends on external/kernel-headers patch\n https://android-review.googlesource.com/#/c/98915/\n http://patchwork.linux-mips.org/patch/6890/\n\nChange-Id: If65fa80746533723cdf46eebe95733bea7ce24ba\n"
    },
    {
      "commit": "ab39aba70e04940637fe1db3a4ef1d1aafd7b976",
      "tree": "225de80d996be1578901e76e3915a51536122301",
      "parents": [
        "6fa47ca484aa37b0a2a5734a9def32973d110cc6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jun 06 15:28:42 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jun 06 15:28:42 2014 -0700"
      },
      "message": "Remove unused scripts.\n\nChange-Id: I3391d6c903f710b45e62bcf01058cf3ad9abe399\n"
    },
    {
      "commit": "08b60747fe99623f3ae6d5f351a4c08c7b020207",
      "tree": "196e891e7307556d3af662434fda9a2aa3661ec5",
      "parents": [
        "9c101eb9d12a87c9b68fce9052751df75e36d172"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 05 11:17:06 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jun 06 13:54:36 2014 -0700"
      },
      "message": "Update kernel header generation docs.\n\nAlso move the description of the cleanup data to the cleanup script.\n\nBug: 15433575\nChange-Id: I21e2cbbfab55da483af1bbe36bbe59126b518e3c\n"
    },
    {
      "commit": "8ed7a23309cd6f1a73c19a23ade2e11ab31fcb2f",
      "tree": "89aa99d80851940c789c81c2445eda83dd659c1a",
      "parents": [
        "089c7c921786ff6255526feec96552fc16ada7f4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 15 12:01:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 15 12:01:11 2014 -0700"
      },
      "message": "Scrub uapi headers slightly harder.\n\nThere\u0027s no point having always-false tests. It just makes the headers\nharder to read.\n\nBug: 11560081\nChange-Id: I6187755e1514ca9ff5642b3c1b0489f22edddaf5\n"
    },
    {
      "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": "0990d4fda898ada86e557f872f5cb7d16b138e3c",
      "tree": "43cd74258c43e23e8008c15aebdb0a3efd476f6c",
      "parents": [
        "77473e408504a7e298816b4071cd6902065b03d8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 30 09:45:40 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 30 10:06:09 2014 -0700"
      },
      "message": "Make SIGRTMIN hide the real-time signals we use internally.\n\n__SIGRTMIN will continue to tell the truth. This matches glibc\u0027s\nbehavior (as evidenced by the fact that we don\u0027t need a special case\nin the strsignal test now).\n\nChange-Id: I1abe1681d516577afa8cd39c837ef12467f68dd2\n"
    },
    {
      "commit": "9195a258ee96d6cf31b2fc7db9da16f92f5e7f65",
      "tree": "d6a1c27515460453156afaf69c84451cfd0a6933",
      "parents": [
        "b9bb48bf289eec9053c6d7cc77ebbde2b4356c4b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 08 10:15:06 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 08 10:15:06 2014 -0700"
      },
      "message": "Fix kernel header scrubbing for LP64.\n\nChange-Id: I4caf44d41edd1b03a20d4c565e169c2b7a2f3686\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": "d1973ca51325393f304e82a4d79874f33e54ac16",
      "tree": "75a657d895a41aa4855a06ef1e0e986c963e0eef",
      "parents": [
        "5b4884fac90753c68d401de73036c2de919958eb"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 21 19:50:58 2014 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 23 18:35:39 2014 -0800"
      },
      "message": "bionic: rename aarch64 target to arm64\n\nRename aarch64 build targets to arm64.  The gcc toolchain is still\naarch64.\n\nChange-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3\n"
    },
    {
      "commit": "b4091e69f1cc2111008c3790c62906a3bf37b26f",
      "tree": "73bfe267f225c54bd0d338e045ef6569a151d6e5",
      "parents": [
        "26f0e54ae083727ee66ee35531ed00338570d792"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Nov 22 17:04:34 2013 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Nov 22 17:04:34 2013 -0800"
      },
      "message": "Update script to copy in extra generated files.\n\nThere are files in generated/asm that simply include asm-generic files. The\nscript now copies any file in generated/asm that also exists in asm-generic.\n\nChange-Id: I075161c68624e9e9e81797224831988ce02220eb\n"
    },
    {
      "commit": "26f0e54ae083727ee66ee35531ed00338570d792",
      "tree": "9c567e649fe1a494d2af59734802cbdc98efcfcd",
      "parents": [
        "fa7b48bf8753690bd15706a1fe3d23cf5c42782f",
        "e994d41578c05800bc09ca5b2deb8fca9f72424f"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Nov 21 22:20:14 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 21 22:20:14 2013 +0000"
      },
      "message": "Merge \"Script to grab uapi headers from android kernel.\""
    },
    {
      "commit": "e994d41578c05800bc09ca5b2deb8fca9f72424f",
      "tree": "e369dfe8928885e1157a90fcb619ad7000d683bb",
      "parents": [
        "d4143c8e4cd8b006d8f422883b53684881e0991a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Nov 20 19:52:56 2013 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Nov 21 14:09:54 2013 -0800"
      },
      "message": "Script to grab uapi headers from android kernel.\n\nChange-Id: Ia140e3ab27fbfee6b02f04c085f3e0e351bbe68d\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": "460fa7033b17c49e3e6fdaee49eb6d7d666e16d9",
      "tree": "2e517a610f0b1078a98003a71b109b638dd943d8",
      "parents": [
        "97dc3309f3d403c391581444ad656c2f3c61303d"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Oct 23 14:38:25 2013 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Oct 23 14:44:38 2013 -0700"
      },
      "message": "Add __EXPORTED_HEADERS__ as predefined macro.\n\nTo weed out stuff like this in uapi/linux/types.h\n\nifndef __EXPORTED_HEADERS__\nwarning \"Attempt to use kernel headers from user space, see\nhttp://kernelnewbies.org/KernelHeaders\"\nendif /* __EXPORTED_HEADERS__ */\n\nChange-Id: I6506cea6248f7a3b44a839b98e91bdd0d3a6c4cd\n"
    },
    {
      "commit": "8bea2b6faca554a145bdafc6f3afafec1f3120b6",
      "tree": "f79aa40bf5642dc106cf4041402e935a4a92d165",
      "parents": [
        "1f29c2f51097b68110bc2766a7c1560d6a8831d0"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Oct 16 15:28:56 2013 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Oct 16 15:28:56 2013 -0700"
      },
      "message": "Tweaked the cleanup scripts to handle uapi and aarch64 headers.\n\nThe processed uapi directory is now placed at libc/kernel/uapi as\nopposed to libc/kernel/common/uapi as it contains\narchitectural-dependent headers now.\n\nChange-Id: I53f814704a4d231b452fde398cd94257a0fb2eea\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": "18bc975bfe41a0ef8d2df1a188078b0741dc6c25",
      "tree": "1013658abaeb0fa056a4c6403fd5f154a7e60aa0",
      "parents": [
        "560e9f7e7a39e02aca96709043ca06f562f75d58"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 17 10:26:10 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 17 10:39:33 2013 -0700"
      },
      "message": "Slight script cleanup; make gensyscalls work from any directory.\n\nAlso remove a ton of dead code.\n\nChange-Id: I1315623695a004f643b155f121cbafe24b715b8a\n"
    },
    {
      "commit": "e6ddfc55c874bda9a6178d898a79042b9a1c235d",
      "tree": "d26f84e40ae4d32a591fe53b2c1c13ac85ace810",
      "parents": [
        "e51d75a9acef86008f4d64cf482bbc65e24dc66c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 25 14:09:52 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 25 14:09:52 2013 -0700"
      },
      "message": "Remove some dead script code and fix a script comment.\n\nChange-Id: I91ca466d1b6f8a39da50ce61acebc268d0daab3a\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": "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": "0e772872090ea703a24e3afbfa1eb5abcace7f32",
      "tree": "e3eb6304d89f14203343e024de7ac0a42e4f9e99",
      "parents": [
        "6e0e03c38bc0e864225b89b3fb273fb56ded8940"
      ],
      "author": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Tue Sep 25 17:49:17 2012 -0700"
      },
      "committer": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Tue Sep 25 17:54:43 2012 -0700"
      },
      "message": "Replace __unused in kernel headers with __linux_unused to avoid\nconflicts with __unused macro in sys/cdefs.h\n\nChange-Id: Ice664397e0b7c7a90795012f30be5e43a9675525\n"
    },
    {
      "commit": "988ff8ff9fb8bb3394d5571ce088b23dc828edb5",
      "tree": "7611d4872120758dc0c182573c16ce914940b146",
      "parents": [
        "47dc4d431017e701239dd7d9a16333e0ad56a0ac"
      ],
      "author": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Fri Sep 21 17:13:25 2012 -0700"
      },
      "committer": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Fri Sep 21 17:14:05 2012 -0700"
      },
      "message": "[MIPS] Add CONFIG_32BIT to kernel_default_arch_macros for MIPS.\nSome of the required structure definitons are defined under this macro.\n\nChange-Id: I7a9a986e371381697dcb56bd8ea362856ffa7509\n"
    },
    {
      "commit": "8fd682f7f28bcd3da365f8a4cd9615fd6e386d05",
      "tree": "aa468a2ee3e7548847c54f987b987fd4c4fe9232",
      "parents": [
        "32913bf7d923ead76a3feebf6ccaa8bfa4e51d7f",
        "ea76f4147825cc39d9aa91230cd863ed29f28e27"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 27 17:58:57 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 27 17:58:57 2012 -0700"
      },
      "message": "am ea76f414: am d509f9cc: am 09ce7749: Merge \"[MIPS] Clean Kernel headers are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture.\"\n\n* commit \u0027ea76f4147825cc39d9aa91230cd863ed29f28e27\u0027:\n  [MIPS] Clean Kernel headers are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture.\n"
    },
    {
      "commit": "82fa43febc9d679ae6276f6bf992b9b345bb5815",
      "tree": "80d5c3b101c2b6347d6de2528db1917fcc5c69f9",
      "parents": [
        "56731351de7230180fc99a1a4b0afd12f881b0f7"
      ],
      "author": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Tue Mar 27 11:37:17 2012 -0700"
      },
      "committer": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Tue Mar 27 11:38:00 2012 -0700"
      },
      "message": "[MIPS] Clean Kernel headers are generated by running\nlibc/kernel/tools/update_all.py script. This patch ignores\nany changes to libc/kernel directory not related to MIPS\narchitecture.\n\nChange-Id: I2c9e461dccb7c33eb4420be2db1a562f45137c8d\nSigned-off-by: Raghu Gandham \u003craghu@mips.com\u003e\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\n"
    },
    {
      "commit": "126601dd3f5303b50033dcb88945d928aa764aa4",
      "tree": "36f80c2aaa18e794fc65cd4a756a28146bd50b5e",
      "parents": [
        "eaae81082cb76efa43a2c3fb57997b28ca270634"
      ],
      "author": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Fri Mar 23 23:07:36 2012 +0800"
      },
      "committer": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Fri Mar 23 23:07:36 2012 +0800"
      },
      "message": "Fixed to #include correct 32-bit headers; Refreshed libc/kernel headers\n\nThis patch fixes an issue where 64-bit hreaders are incorrectly included\nin kernel headers.  For example, file \"libc/kernel/arch-x86/asm/io.h\"\nincorreclty includes \"io_64.h\" (missing, BTW) instead of \"io_32.h\".\n\nThe reason is because CONFIG_X86_32 isn\u0027t considered pre-defined in\n\"kernel_default_arch_macros\" for x86, and clean_header.py doesn\u0027t\nlook at it at all anyway (ie. __i386__ is also ignored, but it\u0027s\nokay since x86 cross compiler defines it back)\n\nFixed 2 tools/*py, README.TXT, and refreshed libc/kernel headers\n\nChange-Id: Iac834cc8b3548f055d3f2a214af36072dd679fe8\n"
    },
    {
      "commit": "25b7a16a6ee73248192909862f03f95d2363ad14",
      "tree": "97d420779e6b79917ba5ac65b9bc182a8ceaa68d",
      "parents": [
        "b118b9c5cd6a99fd3368a01ee9de8849d869afc7",
        "c4cb87f367fc33b36c9988b4f42fc07876abccd1"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 01 09:46:08 2012 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 01 09:46:08 2012 -0800"
      },
      "message": "Merge c4cb87f3\n\nChange-Id: I4cc14eba43fde75a7702fdc7ad07d3d949e9c092\n"
    },
    {
      "commit": "70b1668a76d3b719ae690903ea790fda964a5458",
      "tree": "674232e6152fa67c0db8b07b0083bb3ac6c9bd8c",
      "parents": [
        "e80044455961005ac95e405c8d553f2418d8e50c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jan 30 17:17:58 2012 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Tue Jan 31 20:28:23 2012 +0100"
      },
      "message": "remove obsolete SuperH support\n\nWe don\u0027t have a toolchain anymore, we don\u0027t have working original\nkernel headers, and nobody is maintaining this so there is really\nno point in keeping this here. Details of the patch:\n\n- removed code paths from Android.mk files related to the SuperH\n  architecture (\"sh\")\n\n- removed libc/arch-sh, linker/arch-sh, libc/kernel/arch-sh\n\n- simplified libc/SYSCALLS.TXT\n\n- simplified the scripts in libc/tools/ and libc/kernel/tools\n\nChange-Id: I26b0e1422bdc347489e4573e2fbec0e402f75560\n\nSigned-off-by: David \u0027Digit\u0027 Turner \u003cdigit@android.com\u003e\n"
    },
    {
      "commit": "c61f99056634119806916d5dfb58505d432e6732",
      "tree": "e0122e41506b805eb153c7185aa49826df0f5f31",
      "parents": [
        "e4ade69654d9026310ce7a895f14aa67947b4f31"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 19 11:27:50 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 13 07:41:20 2012 -0800"
      },
      "message": "Fix misspelled Python variable name and typos\n\nTypos:\n - Update pathname in README.txt\n - Fix missing newlines in header update script.\n\nChange-Id: Ib0e053f92a27ff10071b9805fa64e5653ab31b0c\n"
    },
    {
      "commit": "7b6795dad91988d76a282fc2b033f0cc5585ee65",
      "tree": "6865006286576b39f02115f2fae1ac72791706ec",
      "parents": [
        "9d918606123cbf8656517868a65437b0a832aa9e"
      ],
      "author": {
        "name": "Frank Maker",
        "email": "ffrank@google.com",
        "time": "Wed May 25 11:07:04 2011 -0700"
      },
      "committer": {
        "name": "Frank Maker",
        "email": "ffrank@google.com",
        "time": "Wed May 25 17:28:37 2011 -0700"
      },
      "message": "Fixed bug where -k option would not be passed to cleanupFile function\nChanged cleanupFile to have no default original path, forcing it to be passed instead, thereby conforming to the Google Python style guide.\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": "b969b5a32a3924412b3584a2ab606ff64a3c4203",
      "tree": "941676f6fdb4fe7a7da090e12bcab939208e5c8a",
      "parents": [
        "43164fcbdf9fb47768df07ee73da56413200f971"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jan 11 17:23:10 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jan 11 17:23:10 2011 +0100"
      },
      "message": "libc: fix kernel cleanup script typo.\n\nChange-Id: I5fc119be535ed47dadc780234665335efa6b9ac5\n"
    },
    {
      "commit": "c9205dba43c45dc5a185aa26e1160c3f62e9b471",
      "tree": "fdc369cc402eacf20c904fc278bd376af94b1f87",
      "parents": [
        "d32c8052fc2b2d3c5da344eb673df35d4a5bc052"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Dec 08 11:39:05 2010 +0100"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Dec 08 11:41:37 2010 +0100"
      },
      "message": "Replace all occurrances of asm with __asm__ in the output headers\n\nasm() conflicts with userland code compiled with -std\u003dc99, the userland\nlibc should only use __asm__() instead. Therefore, this transformation\nhas to be applied to all exported headers.\n\nThis only changes arch-arm/asm/byteorder.h.\n\nChange-Id: I1cf88c37201c3a91668d387293a18885c316d53c\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": "c1a534ba0bc58c74bf06e7735c6fb0ffb27a6652",
      "tree": "257a993adbf839debabb66aa27e62962f157bf5a",
      "parents": [
        "e8f79c1f5de7ecaf1249ee36813abd2558cacf08"
      ],
      "author": {
        "name": "Vilmos Nebehaj",
        "email": "v.nebehaj@gmail.com",
        "time": "Mon Jun 28 15:13:23 2010 +0200"
      },
      "committer": {
        "name": "Vilmos Nebehaj",
        "email": "v.nebehaj@gmail.com",
        "time": "Mon Jun 28 15:13:23 2010 +0200"
      },
      "message": "Regenerate linux/netfilter_ipv6/ip6_tables.h.\n\nAdd ip6t_get_target() to kernel_known_generic_statics in\nlibc/kernel/tools/defaults.py to be able to build ip6tables.\n\nChange-Id: Iadb885db3faa85b2d0070dc2e0ac493af6e62bb6\n"
    },
    {
      "commit": "73981476a389847e8537cca37503c43e107fadc9",
      "tree": "a60ed9cc386c36ef6937974e0a729c5d429c57b5",
      "parents": [
        "60c221ccfaf67bdd9cadfd151d0bad9d3f8482ce",
        "4e30c09e57a0351daff70f6657794569445be21c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Oct 14 08:18:23 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Oct 14 08:18:23 2009 -0700"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "5632aeb83862a50e39dae9b7da2d7e2e5a8cb0d3",
      "tree": "7f3330f7ba5eb22771007f7b6f12847a77c4b370",
      "parents": [
        "5672726b44f796b43ec825aa666925231e8d69a4",
        "37429fff4101f8f75db795048226169ede9e7413"
      ],
      "author": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Sep 17 13:43:08 2009 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Sep 17 13:43:08 2009 -0700"
      },
      "message": "Merge change 10539\n\n* changes:\n  modified kernel headers re-generate tools to support SuperH architecture\n"
    },
    {
      "commit": "4c4a9632bdb5189011b74d63847ee4bbd6daea4b",
      "tree": "c053b4789786d00aad7c3cabdfb0ac7c64db94bf",
      "parents": [
        "6e36f86333486ac60dfa9684d1af9475e5a90a11"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Aug 05 17:55:30 2009 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed Aug 05 17:56:55 2009 -0700"
      },
      "message": "libc: kernel: let clean_header tool take path to kernel originals as argument\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "37429fff4101f8f75db795048226169ede9e7413",
      "tree": "448b102745e0b0df47c0fa2b398faac8cb759ad6",
      "parents": [
        "90ec5f2a3f581927ffef55733e8d531890fdc90e"
      ],
      "author": {
        "name": "Shin-ichiro KAWASAKI",
        "email": "shinichiro.kawasaki.mg@hitachi.com",
        "time": "Wed Jul 01 15:41:52 2009 +0900"
      },
      "committer": {
        "name": "Tony Sim",
        "email": "sim.chinyeow@renesas.com",
        "time": "Wed Jul 01 15:41:52 2009 +0900"
      },
      "message": "modified kernel headers re-generate tools to support SuperH architecture\n"
    },
    {
      "commit": "e5446feb21a991426fb683d077a1a8ca5831ac0f",
      "tree": "d450c459c5cd3de7b2a9cdc7c0e42d5190a3813f",
      "parents": [
        "8169573c8744ee3a484ea74bd5e06a8a4f708e37"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 20 13:00:10 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 20 13:00:10 2009 +0200"
      },
      "message": "Add \u003clinux/ipsec.h\u003e and \u003clinux/if_pppolac.h\u003e for VPN support.\n\nAlso update tools/update_all.py to not use perforce add/edit/delete commands automatically now that we\u0027re using git\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"
    }
  ]
}
