)]}'
{
  "log": [
    {
      "commit": "94aa3d716ee0244cc5b9f2ab3745aed5fdfa30e0",
      "tree": "0003889647cfdbabb5db12555eb5967177e226fc",
      "parents": [
        "11ddad396086f8d1dfcb0056dc9d65d228f755c1"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Thu Jul 31 00:03:49 2008 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Thu Jul 31 23:00:25 2008 +0200"
      },
      "message": "kbuild: genksyms parser: fix the __attribute__ rule\n\nWe are having two kinds of problems with genksyms today: fake checksum\nchanges without actual ABI changes, and changes which we would rather like\nto ignore (such as an additional field at the end of a structure that\nmodules are not supposed to touch, for example).\n\nI have thought about ways to improve genksyms and compute checksums\ndifferently to avoid those problems, but in the end I don\u0027t see a\nfundamentally better way.  So here are some genksyms patches for at least\nmaking the checksums more easily manageable, if we cannot fully fix them.\n\nIn addition to the bugfixes (the first two patches), this allows genksyms\nto track checksum changes and report why a checksum changed (third patch),\nand to selectively ignore changes (fourth patch).\n\nThis patch:\n\nGcc __attribute__ definitions may occur repeatedly, e.g.,\n\n\tstatic int foo __attribute__((__used__))\n\t\t       __attribute__((aligned (16)));\n\nThe genksyms parser does not understand this, and generates a syntax error.\nFix this case.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "3550a516d07dda4786c63e86f64f4f440db58782",
      "tree": "57c107a79f37fb8dabc555e625e728c9d244decf",
      "parents": [
        "a3a6261a11b4db5b9712bb8388c9d9d955035e98"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Tue Aug 28 20:28:55 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@neptun.(none)",
        "time": "Fri Oct 12 21:15:31 2007 +0200"
      },
      "message": "kbuild: __extension__ support in genksyms (fix unknown CRC warning)\n\nRecently the __extension__ keyword has been introduced in the kernel.\nTeach genksyms about this keyword so it can generate correct CRC for\nexported symbols that uses a symbol marked __extension__.\nFor now only the typedef variant:\n\n\t__extension__ typedef ...\n\nis supported.\nLater we may add more variants as needed.\n\nThis patch contains the actual source file changes. The\nfollowing patch will hold modifications to the generated\nfiles (*_shipped) and only after the second patch the fix\nhas effect.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "a89a0a2354ae666612968e254d650bfd04f11eb6",
      "tree": "37b8791eb9b6580d511fd514cd180145e39ed04f",
      "parents": [
        "f83b5e323f57d6e1f35a839d663e91cebe985e54"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Tue Dec 20 19:45:50 2005 -0600"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Mon Dec 26 22:39:55 2005 +0100"
      },
      "message": "kbuild: Fix genksyms handling of DEFINE_PER_CPU(struct foo_s *, bar);\n\nThis is a one-line change to parse.y.\nTo take advantage of this the scripts/genksyms/*_shipped files needs to\nbe rebuild - this is the next patch.\n\nWhen a .c file contains:\nDEFINE_PER_CPU(struct foo_s *, bar);\n\nthe .cpp output looks like:\n__attribute__((__section__(\".data.percpu\"))) __typeof__(struct foo_s *) per_cpu__bar;\n\nWith the existing parse.y, the value inside the paranthesis of\n__typeof__() does not evaluate as a type_specifier and therefore\nper_cpu__bar does not get assigned a type for genksyms which results in\nthe EXPORT_PER_CPU_SYMBOL() not generating a CRC value.\n\nI have compared the Modules.symvers with and without this\npatch and for ia64\u0027s defconfig, the only change is:\nBefore 0x00000000    per_cpu____sn_nodepda   vmlinux\nAfter  0x9d3f3faa    per_cpu____sn_nodepda   vmlinux\n\nper_cpu____sn_nodepda was the original source of my problems.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
