)]}'
{
  "log": [
    {
      "commit": "2c5925d6b7fedc8f1c325f4f85451f505ec69aca",
      "tree": "4b27c58e2487842385e9a736331d97a3c3a9afee",
      "parents": [
        "b06fcd6c83c231f51a86448bb33c4cd717fefee8"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Sat Oct 08 01:18:35 2011 +0200"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Tue Oct 11 12:00:39 2011 +0200"
      },
      "message": "genksyms: Do not expand internal types\n\nConsider structures, unions and enums defined in the source file as\ninternal and do not expand them. This way, changes to e.g. struct\nserial_private in drivers/tty/serial/8250_pci.c will not affect the\nchecksum of the pciserial_* exports.\n"
    },
    {
      "commit": "880f4499bb4f6883095965bdd3b9237d927e24d8",
      "tree": "19f8b015b84e3a0294edfe3373df67e79386199d",
      "parents": [
        "6b19e7e49e6d4ce123c16a6b069916045cab9fa0"
      ],
      "author": {
        "name": "Arnaud Lacombe",
        "email": "lacombar@gmail.com",
        "time": "Mon May 23 00:05:28 2011 -0400"
      },
      "committer": {
        "name": "Arnaud Lacombe",
        "email": "lacombar@gmail.com",
        "time": "Thu Jun 09 14:04:41 2011 -0400"
      },
      "message": "genksyms: migrate parser to implicit rules\n\nSigned-off-by: Arnaud Lacombe \u003clacombar@gmail.com\u003e\n"
    },
    {
      "commit": "e37ddb82500393cb417c3ab0fe0726d9a8652372",
      "tree": "6ecc94992cb5affad4fe438d9b586a61b803f928",
      "parents": [
        "01762c4ec5f6f62c550304b9c70e824293cefdd0"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Feb 03 23:57:09 2011 +0100"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Mar 17 15:13:56 2011 +0100"
      },
      "message": "genksyms: Track changes to enum constants\n\nEnum constants can be used as array sizes; if the enum itself does not\nappear in the symbol expansion, a change in the enum constant will go\nunnoticed. Example patch that changes the ABI but does not change the\nchecksum with current genksyms:\n\n| enum e {\n|\tE1,\n|\tE2,\n|+\tE3,\n|\tE_MAX\n| };\n|\n| struct s {\n|\tint a[E_MAX];\n| }\n|\n| int f(struct s *s) { ... }\n| EXPORT_SYMBOL(f)\n\nTherefore, remember the value of each enum constant and\nexpand each occurence to \u003cconstant\u003e \u003cvalue\u003e. The value is not actually\ncomputed, but instead an expression in the form\n(last explicitly assigned value) + N\nis used. This avoids having to parse and semantically understand whole\nof C.\n\nNote: The changes won\u0027t take effect until the lexer and parser are\nrebuilt by the next patch.\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "01762c4ec5f6f62c550304b9c70e824293cefdd0",
      "tree": "4a457cec48321f5b591966e56ddaea33733df5cc",
      "parents": [
        "68eb8563a1adf27fae18dde4c95fb796c17563df"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Tue Feb 15 15:11:36 2011 +0100"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Mar 17 15:13:55 2011 +0100"
      },
      "message": "genksyms: simplify usage of find_symbol()\n\nAllow searching for symbols of an exact type. The lexer does this and a\nsubsequent patch will add one more usage.\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "95f1d639ade8fdf9572ac8a926f62b29dd66eaba",
      "tree": "9b8864def448176b950e1f747d33b5e7439ef429",
      "parents": [
        "9c281f13b68da49764cbc8d7d610c2f229a0f9a0"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Jan 20 16:19:58 2011 +0100"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Mar 17 15:13:55 2011 +0100"
      },
      "message": "genksyms: Simplify lexer\n\nThe V2_TOKENS state is active all the time.\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "11ddad396086f8d1dfcb0056dc9d65d228f755c1",
      "tree": "6d2ebc9fab7ca8aa1a9eb4245c323df2515756e1",
      "parents": [
        "be2be1d59035a28debb22555f103e676a8f74186"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Jul 17 02:08:12 2008 +0300"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jul 30 22:31:02 2008 +0200"
      },
      "message": "kbuild: scripts/genksyms/lex.l: add %option noinput\n\ngcc 4.3 correctly determines that input() is unused and gives the\nfollowing warning:\n\n\u003c--  snip  --\u003e\n\n...\n  HOSTCC  scripts/genksyms/lex.o\nscripts/genksyms/lex.c:1487: warning: ‘input’ defined but not used\n...\n\n\u003c--  snip  --\u003e\n\nFix it by adding %option noinput to scripts/genksyms/lex.l and\nregeneration of scripts/genksyms/lex.c_shipped.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "6803dc0ea85ad21b2cb3ec88decff5e27d7a390b",
      "tree": "e4041b76ed21bd835018be3e8bbc5e2c1d76ce74",
      "parents": [
        "15fde6751886fd972a64ed65ba49db309919c504"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Sat Jun 24 23:46:54 2006 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Sat Jun 24 23:46:54 2006 +0200"
      },
      "message": "kbuild: replace abort() with exit(1)\n\nWe have had no use of the coredump file for a long time.\nSo just exit(1) and avoid coredumping.\n\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"
    }
  ]
}
