Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/226/?format=api
{ "id": 226, "url": "http://patchwork.ozlabs.org/api/patches/226/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/1221005058.23271.16.camel@localhost.localdomain/", "project": { "id": 2, "url": "http://patchwork.ozlabs.org/api/projects/2/?format=api", "name": "Linux PPC development", "link_name": "linuxppc-dev", "list_id": "linuxppc-dev.lists.ozlabs.org", "list_email": "linuxppc-dev@lists.ozlabs.org", "web_url": "https://github.com/linuxppc/wiki/wiki", "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git", "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/", "list_archive_url_format": "https://lore.kernel.org/linuxppc-dev/{}/", "commit_url_format": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}" }, "msgid": "<1221005058.23271.16.camel@localhost.localdomain>", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/1221005058.23271.16.camel@localhost.localdomain/", "date": "2008-09-10T00:04:18", "name": "fix compile failure with non modular builds", "commit_ref": "2d291e902791e1c8d72bc223b6f063bbb27a1280", "pull_url": null, "state": "accepted", "archived": true, "hash": "33fc00645eda2ff6da423e974190019121d977b5", "submitter": { "id": 96, "url": "http://patchwork.ozlabs.org/api/people/96/?format=api", "name": "James Bottomley", "email": "James.Bottomley@HansenPartnership.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/1221005058.23271.16.camel@localhost.localdomain/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/226/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/226/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<linuxppc-dev-bounces+patchwork=ozlabs.org@ozlabs.org>", "X-Original-To": [ "patchwork@ozlabs.org", "linuxppc-dev@ozlabs.org" ], "Delivered-To": [ "patchwork@ozlabs.org", "linuxppc-dev@ozlabs.org" ], "Received": [ "from ozlabs.org (localhost [127.0.0.1])\n\tby ozlabs.org (Postfix) with ESMTP id 5E833DE1A0\n\tfor <patchwork@ozlabs.org>; Wed, 10 Sep 2008 10:04:47 +1000 (EST)", "from accolon.hansenpartnership.com (accolon.hansenpartnership.com\n\t[76.243.235.52]) by ozlabs.org (Postfix) with ESMTP id DD80DDDE3A\n\tfor <linuxppc-dev@ozlabs.org>;\n\tWed, 10 Sep 2008 10:04:19 +1000 (EST)", "from localhost (localhost [127.0.0.1])\n\tby accolon.hansenpartnership.com (Postfix) with ESMTP id 5089A8399;\n\tTue, 9 Sep 2008 19:04:17 -0500 (CDT)", "from accolon.hansenpartnership.com ([127.0.0.1])\n\tby localhost (redscar.int.hansenpartnership.com [127.0.0.1])\n\t(amavisd-new, port 10024)\n\twith ESMTP id QLGg-c7OMPB8; Tue, 9 Sep 2008 19:04:16 -0500 (CDT)", "from [153.66.150.222] (mulgrave-w.int.hansenpartnership.com\n\t[153.66.150.222])\n\tby accolon.hansenpartnership.com (Postfix) with ESMTP id D67F67F61;\n\tTue, 9 Sep 2008 19:04:15 -0500 (CDT)" ], "Subject": "[PATCH] fix compile failure with non modular builds", "From": "James Bottomley <James.Bottomley@HansenPartnership.com>", "To": "Benjamin Herrenschmidt <benh@kernel.crashing.org>", "Date": "Tue, 09 Sep 2008 19:04:18 -0500", "Message-Id": "<1221005058.23271.16.camel@localhost.localdomain>", "Mime-Version": "1.0", "X-Mailer": "Evolution 2.22.3.1 (2.22.3.1-1.fc9) ", "Cc": "linuxppc-dev@ozlabs.org", "X-BeenThere": "linuxppc-dev@ozlabs.org", "X-Mailman-Version": "2.1.11", "Precedence": "list", "List-Id": "Linux on PowerPC Developers Mail List <linuxppc-dev.ozlabs.org>", "List-Unsubscribe": "<https://ozlabs.org/mailman/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@ozlabs.org?subject=unsubscribe>", "List-Archive": "<http://ozlabs.org/pipermail/linuxppc-dev>", "List-Post": "<mailto:linuxppc-dev@ozlabs.org>", "List-Help": "<mailto:linuxppc-dev-request@ozlabs.org?subject=help>", "List-Subscribe": "<https://ozlabs.org/mailman/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@ozlabs.org?subject=subscribe>", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Sender": "linuxppc-dev-bounces+patchwork=ozlabs.org@ozlabs.org", "Errors-To": "linuxppc-dev-bounces+patchwork=ozlabs.org@ozlabs.org" }, "content": "commit deac93df26b20cf8438339b5935b5f5643bc30c9\nAuthor: James Bottomley <James.Bottomley@HansenPartnership.com>\nDate: Wed Sep 3 20:43:36 2008 -0500\n\n lib: Correct printk %pF to work on all architectures\n\nBroke the non modular builds by moving an essential function into\nmodules.c. Fix this by moving it out again and into asm/sections.h as\nan inline. To do this, the definition of struct ppc64_opd_entry has\nbeen lifted out of modules.c and put in asm/elf.h where it belongs.\n\nSigned-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>", "diff": "diff --git a/arch/powerpc/include/asm/elf.h b/arch/powerpc/include/asm/elf.h\nindex 80d1f39..64c6ee2 100644\n--- a/arch/powerpc/include/asm/elf.h\n+++ b/arch/powerpc/include/asm/elf.h\n@@ -409,6 +409,13 @@ do {\t\t\t\t\t\t\t\t\t\\\n /* Keep this the last entry. */\n #define R_PPC64_NUM\t\t107\n \n+/* There's actually a third entry here, but it's unused */\n+struct ppc64_opd_entry\n+{\n+\tunsigned long funcaddr;\n+\tunsigned long r2;\n+};\n+\n #ifdef __KERNEL__\n \n #ifdef CONFIG_SPU_BASE\ndiff --git a/arch/powerpc/include/asm/sections.h b/arch/powerpc/include/asm/sections.h\nindex 7710e9e..07956f3 100644\n--- a/arch/powerpc/include/asm/sections.h\n+++ b/arch/powerpc/include/asm/sections.h\n@@ -2,6 +2,8 @@\n #define _ASM_POWERPC_SECTIONS_H\n #ifdef __KERNEL__\n \n+#include <linux/elf.h>\n+#include <linux/uaccess.h>\n #include <asm-generic/sections.h>\n \n #ifdef __powerpc64__\n@@ -17,7 +19,15 @@ static inline int in_kernel_text(unsigned long addr)\n }\n \n #undef dereference_function_descriptor\n-void *dereference_function_descriptor(void *);\n+static inline void *dereference_function_descriptor(void *ptr)\n+{\n+\tstruct ppc64_opd_entry *desc = ptr;\n+\tvoid *p;\n+\n+\tif (!probe_kernel_address(&desc->funcaddr, p))\n+\t\tptr = p;\n+\treturn ptr;\n+}\n \n #endif\n \ndiff --git a/arch/powerpc/kernel/module_64.c b/arch/powerpc/kernel/module_64.c\nindex ad79de2..1af2377 100644\n--- a/arch/powerpc/kernel/module_64.c\n+++ b/arch/powerpc/kernel/module_64.c\n@@ -21,9 +21,7 @@\n #include <linux/err.h>\n #include <linux/vmalloc.h>\n #include <linux/bug.h>\n-#include <linux/uaccess.h>\n #include <asm/module.h>\n-#include <asm/sections.h>\n #include <asm/firmware.h>\n #include <asm/code-patching.h>\n #include <linux/sort.h>\n@@ -43,13 +41,6 @@\n #define DEBUGP(fmt , ...)\n #endif\n \n-/* There's actually a third entry here, but it's unused */\n-struct ppc64_opd_entry\n-{\n-\tunsigned long funcaddr;\n-\tunsigned long r2;\n-};\n-\n /* Like PPC32, we need little trampolines to do > 24-bit jumps (into\n the kernel itself). But on PPC64, these need to be used for every\n jump, actually, to reset r2 (TOC+0x8000). */\n@@ -452,13 +443,3 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,\n \n \treturn 0;\n }\n-\n-void *dereference_function_descriptor(void *ptr)\n-{\n-\tstruct ppc64_opd_entry *desc = ptr;\n-\tvoid *p;\n-\n-\tif (!probe_kernel_address(&desc->funcaddr, p))\n-\t\tptr = p;\n-\treturn ptr;\n-}\n", "prefixes": [] }