)]}'
{
  "log": [
    {
      "commit": "ea6b101d8a3ea4e1dec29df31188c2f9852296fe",
      "tree": "d4ec831d266914d72dbe028388260b8f7dfca6da",
      "parents": [
        "7387be3373277005c171b9f1509e91fae2e430f3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Aug 09 17:20:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:04 2010 -0700"
      },
      "message": "include/linux/compiler-gcc.h: use __same_type() in __must_be_array()\n\nWe should use the __same_type() helper in __must_be_array().\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c695203a7ddbe49dba5f22f4c941d24f47475df",
      "tree": "0dcfa624ecb7c5810f7062fe950bf3f0de2e55b2",
      "parents": [
        "2952095c6b2eefd068dda0dee6317cf95155a304"
      ],
      "author": {
        "name": "Mikael Pettersson",
        "email": "mikpe@it.uu.se",
        "time": "Tue Jun 29 15:05:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 29 15:29:31 2010 -0700"
      },
      "message": "compiler-gcc.h: gcc-4.5 needs noclone and noinline on __naked functions\n\nA __naked function is defined in C but with a body completely implemented\nby asm(), including any prologue and epilogue.  These asm() bodies expect\nstandard calling conventions for parameter passing.  Older GCCs implement\nthat correctly, but 4.[56] currently do not, see GCC PR44290.  In the\nLinux kernel this breaks ARM, causing most arch/arm/mm/copypage-*.c\nmodules to get miscompiled, resulting in kernel crashes during bootup.\n\nPart of the kernel fix is to augment the __naked function attribute to\nalso imply noinline and noclone.  This patch implements that, and has been\nverified to fix boot failures with gcc-4.5 compiled 2.6.34 and 2.6.35-rc1\nkernels.  The patch is a no-op with older GCCs.\n\nSigned-off-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: Khem Raj \u003craj.khem@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b2a35132ad0a70902dcd2844c27ed64cda0ce9b",
      "tree": "f800a7d536d7850ac5cfeca5eb576f9af568751d",
      "parents": [
        "c4b8ac2c1aee1398b9378b8730bac56294b3410b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Nov 02 08:50:52 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 02 15:47:54 2009 +0100"
      },
      "message": "compiler: Introduce __always_unused\n\nI wrote some code which is used as compile-time checker, and the\ncode should be elided after compile.\n\nSo I need to annotate the code as \"always unused\", compared to\n\"maybe unused\".\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c4AEE2CEC.8040206@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "446c92b2901bedb3725d29b4e73def8aba623ffc",
      "tree": "5669761e042f8321214ca5a975fec536fa5f0efd",
      "parents": [
        "9311c593f24f28de2a339da602644f0f7ae0fc60"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Mar 12 18:03:16 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Mar 12 21:33:03 2009 +0000"
      },
      "message": "[ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions\n\nThis is a fix for the following crash observed in 2.6.29-rc3:\nhttp://lkml.org/lkml/2009/1/29/150\n\nOn ARM it doesn\u0027t make sense to trace a naked function because then\nmcount is called without stack and frame pointer being set up and there\nis no chance to restore the lr register to the value before mcount was\ncalled.\n\nReported-by: Matthias Kaehlcke \u003cmatthias@kaehlcke.net\u003e\nTested-by: Matthias Kaehlcke \u003cmatthias@kaehlcke.net\u003e\n\nCc: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@home.goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "85c210edc46d602a1562aeea0fc74919349c8cf0",
      "tree": "bf51f4a3f4660478d8e1a61dde6e4b393fe2c4ab",
      "parents": [
        "2d96d1053d97cf0db832c4545bfb02a337043e09"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Fri Jan 09 16:40:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 16:54:41 2009 -0800"
      },
      "message": "compiler-gcc.h: add more comments to RELOC_HIDE\n\nRequested by C. Lameter\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f153b82121b0366fe0e5f9553545cce237335175",
      "tree": "cba4b60e9129fbcdfc254386954f0f17dba0c15d",
      "parents": [
        "b58602a4bac012b5f4fc12fe6b46ab237b610d5d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 09:23:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 09:23:03 2009 -0800"
      },
      "message": "Sanitize gcc version header includes\n\n - include the gcc version-dependent header files from the generic gcc\n   header file, rather than the other way around (iow: don\u0027t make the\n   non-gcc header file have to know about gcc versions)\n\n - don\u0027t include compiler-gcc4.h for gcc 5 (for whenever it gets\n   released).  That\u0027s just confusing and made us do odd things in the\n   gcc4 header file (testing that we really had version 4!)\n\n - generate the name from the __GNUC__ version directly, rather than\n   having a mess of #if conditionals.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae3a0064e6d69068b1c9fd075095da062430bda9",
      "tree": "8620ba74d1468c6ce6e681058dbce540f355d5f2",
      "parents": [
        "53809d7eaef9503eb2589babdaba5ef0b661bb14"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 30 00:15:31 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:42:49 2008 -0700"
      },
      "message": "inlining: do not allow gcc below version 4 to optimize inlining\n\nfix the condition to match intention: always use the old inlining\nbehavior on all gcc versions below 4.\n\nthis should solve the UML build problem.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "765c68bd54c76d4126796e49af2a1428a258429f",
      "tree": "3891c95c96776125a6a3b37aebfbc6fb1a14765e",
      "parents": [
        "60a3cdd0639473c79c253bc08c8ef8f882cca107"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 09 11:03:37 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 17:44:55 2008 +0200"
      },
      "message": "generic: make optimized inlining arch-opt-in\n\nStephen Rothwell reported that linux-next did not build on powerpc64.\n\nmake optimized inlining dependent on architecture opt-in.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60a3cdd0639473c79c253bc08c8ef8f882cca107",
      "tree": "e72a5ca87873b286b02966a390277f828139d350",
      "parents": [
        "b1721d0da266b4af8cb4419473b4ca36206ab200"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 03 12:38:52 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 17:44:55 2008 +0200"
      },
      "message": "x86: add optimized inlining\n\nadd CONFIG_OPTIMIZE_INLINING\u003dy.\n\nallow gcc to optimize the kernel image\u0027s size by uninlining\nfunctions that have been marked \u0027inline\u0027. Previously gcc was\nforced by Linux to always-inline these functions via a gcc\nattribute:\n\n #define inline\tinline __attribute__((always_inline))\n\nEspecially when the user has already selected\nCONFIG_OPTIMIZE_FOR_SIZE\u003dy this can make a huge difference in\nkernel image size (using a standard Fedora .config):\n\n   text    data     bss     dec           hex filename\n   5613924  562708 3854336 10030968    990f78 vmlinux.before\n   5486689  562708 3854336  9903733    971e75 vmlinux.after\n\nthat\u0027s a 2.3% text size reduction (!).\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e8c44319c691dfb4a0b039b095204c040df9b01a",
      "tree": "66e9262f8a2659afc9b88c570fe6980b32974177",
      "parents": [
        "c80544dc0b87bb65038355e7aafdc30be16b26ab"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Oct 18 03:07:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:32 2007 -0700"
      },
      "message": "Replace __attribute_pure__ with __pure\n\nTo be consistent with the use of attributes in the rest of the kernel\nreplace all use of __attribute_pure__ with __pure and delete the definition\nof __attribute_pure__.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94f582f82a85a941678c80c60a3baa8187c74217",
      "tree": "83653a3a93b9291d658025a800d5fbed00ee484c",
      "parents": [
        "a36a151e79be1562d6fea3ec4698f23e7102a26f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Tue Oct 16 23:26:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:47 2007 -0700"
      },
      "message": "Force erroneous inclusions of compiler-*.h files to be errors\n\nReplace worthless comments with actual preprocessor errors when including\nthe wrong versions of the compiler.h files.\n\n[akpm@linux-foundation.org: make it work]\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d7ebbbc6eaa5539f78ab20ed6ff1725a4e332ef",
      "tree": "ddef8183ac6440e96678fd4d1159ee86619e2a97",
      "parents": [
        "f7e4217b007d1f73e7e3cf10ba4fea4a608c603f"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed May 09 02:35:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "compiler: introduce __used and __maybe_unused\n\n__used is defined to be __attribute__((unused)) for all pre-3.3 gcc\ncompilers to suppress warnings for unused functions because perhaps they\nare referenced only in inline assembly.  It is defined to be\n__attribute__((used)) for gcc 3.3 and later so that the code is still\nemitted for such functions.\n\n__maybe_unused is defined to be __attribute__((unused)) for both function\nand variable use if it could possibly be unreferenced due to the evaluation\nof preprocessor macros.  Function prototypes shall be marked with\n__maybe_unused if the actual definition of the function is dependant on\npreprocessor macros.\n\nNo update to compiler-intel.h is necessary because ICC supports both\n__attribute__((used)) and __attribute__((unused)) as specified by the gcc\nmanual.\n\n__attribute_used__ is deprecated and will be removed once all current\ncode is converted to using __used.\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5e631cf65f4d6875efcd571275436f2964a8b48",
      "tree": "1aee9d61560ee369b4a2f077a79e37ab868a4b2d",
      "parents": [
        "f34d9d2dcb7f17b64124841345b23adc0843e7a5"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun May 06 14:51:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:13:00 2007 -0700"
      },
      "message": "ARRAY_SIZE: check for type\n\nWe can use a gcc extension to ensure that ARRAY_SIZE() is handed an array,\nnot a pointer.  This is especially important when code is changed from a\nfixed array to a pointer.  I assume the Intel compiler doesn\u0027t support\n__builtin_types_compatible_p.\n\n[jdike@addtoit.com: uml: update UML definition of ARRAY_SIZE]\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82ddcb040570411fc2d421d96b3e69711c670328",
      "tree": "fb344f5cf69968cef3739d437de97a86817c2219",
      "parents": [
        "e3e8a75d2acfc61ebf25524666a0a2c6abb0620c"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:46:20 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:35 2007 -0800"
      },
      "message": "[PATCH] extend the set of \"__attribute__\" shortcut macros\n\nExtend the set of \"__attribute__\" shortcut macros, and remove identical\n(and now superfluous) definitions from a couple of source files.\n\nbased on a page at robert love\u0027s blog:\n\n\thttp://rlove.org/log/2005102601\n\nextend the set of shortcut macros defined in compiler-gcc.h with the\nfollowing:\n\n#define __packed                       __attribute__((packed))\n#define __weak                         __attribute__((weak))\n#define __naked                        __attribute__((naked))\n#define __noreturn                     __attribute__((noreturn))\n#define __pure                         __attribute__((pure))\n#define __aligned(x)                   __attribute__((aligned(x)))\n#define __printf(a,b)                  __attribute__((format(printf,a,b)))\n\nOnce these are in place, it\u0027s up to subsystem maintainers to decide if they\nwant to take advantage of them.  there is already a strong precedent for\nusing shortcuts like this in the source tree.\n\nThe ones that might give people pause are \"__aligned\" and \"__printf\", but\nshortcuts for both of those are already in use, and in some ways very\nconfusingly.  note the two very different definitions for a macro named\n\"ALIGNED\":\n\n  drivers/net/sgiseeq.c:#define ALIGNED(x) ((((unsigned long)(x)) + 0xf) \u0026 ~(0xf))\n  drivers/scsi/ultrastor.c:#define ALIGNED(x) __attribute__((aligned(x)))\n\nalso:\n\n  include/acpi/platform/acgcc.h:\n    #define ACPI_PRINTF_LIKE(c) __attribute__ ((__format__ (__printf__, c, c+1)))\n\nGiven the precedent, then, it seems logical to at least standardize on a\nconsistent set of these macros.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c8d52465f95c4187871f8e65666c07806ca06d41",
      "tree": "873a77cf0b47c92fbdc5cb8dd8baa7583c26bbfd",
      "parents": [
        "115b2ce1c3b974e43e45fa6c9e20cd7271a01dff"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Tue Jan 10 18:21:20 2006 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:32:35 2006 -0800"
      },
      "message": "[PATCH] Work around ppc64 compiler bug\n\nIn the process of optimising our per cpu data code, I found a ppc64\ncompiler bug that has been around forever. Basically the current\nRELOC_HIDE can end up trashing r30. Details of the bug can be found at\n\n  http://gcc.gnu.org/bugzilla/show_bug.cgi?id\u003d25572\n\nThis bug is present in all compilers before 4.1. It is masked by the\nfact that our current per cpu data code is inefficient and causes\nother loads that end up marking r30 as used.\n\nA workaround identified by Alan Modra is to use the \u003dr asm constraint\ninstead of \u003dg.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\n[ Verified that this makes no real difference on x86[-64] */\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a1365647022eb05a5993f270a78e9bef3bf554eb",
      "tree": "6dbcab4db80b7d07fdaec88c003743d1f6e1a289",
      "parents": [
        "fd285bb54d8a3e99810090ae88cfe8ed77d1da25"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jan 08 01:04:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:02 2006 -0800"
      },
      "message": "[PATCH] remove gcc-2 checks\n\nRemove various things which were checking for gcc-1.x and gcc-2.x compilers.\n\nFrom: Adrian Bunk \u003cbunk@stusta.de\u003e\n\n    Some documentation updates and removes some code paths for gcc \u003c 3.2.\n\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.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"
    }
  ]
}
