From: Rusty Russell <rusty@rustcorp.com.au>
To: Jeff Arnold <jbarnold@mit.edu>
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org,
Denys Vlasenko <vda.linux@googlemail.com>,
Tim Abbott <tabbott@mit.edu>, Anders Kaseorg <andersk@mit.edu>,
Waseem Daher <wdaher@mit.edu>,
Nikanth Karthikesan <knikanth@suse.de>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH 1/7] Make section names compatible with -ffunction-sections -fdata-sections
Date: Wed, 4 Feb 2009 18:45:47 +1030 [thread overview]
Message-ID: <200902041845.48071.rusty@rustcorp.com.au> (raw)
In-Reply-To: <1228521840-3886-2-git-send-email-jbarnold@mit.edu>
On Saturday 06 December 2008 10:33:54 Jeff Arnold wrote:
> The purpose of this patch is to make it possible to build the kernel
> with "gcc -ffunction-sections -fdata-sections".
>
> The problem is that with -ffunction-sections -fdata-sections, gcc
> creates sections like .text.head and .data.nosave whenever someone has
> innocuous code like this:
...
> 131 files changed, 356 insertions(+), 346 deletions(-)
OK, I updated this patch for latest Linus tree, and there are a few places you
missed, but the important q. is whether Linus will take this patch now?
There's no good time for this kind of invasive change; but it's not going to
get better. And it's the only real roadblock for ksplice, plus it shrinks
my vmlinux by 12k when turned on.
Linus?
PS. Here's the extra ones I found. Since you only enable sections on x86,
it's not critical, but nice to cover them all.
diff --git a/arch/cris/kernel/vmlinux.lds.S b/arch/cris/kernel/vmlinux.lds.S
--- a/arch/cris/kernel/vmlinux.lds.S
+++ b/arch/cris/kernel/vmlinux.lds.S
@@ -68,7 +68,7 @@ SECTIONS
_edata = . ;
. = ALIGN(PAGE_SIZE); /* init_task and stack, must be aligned. */
- .data.init_task : { *(.data.init_task) }
+ .kernel.data.init_task : { *(.kernel.data.init_task) }
. = ALIGN(PAGE_SIZE); /* Init code and data. */
__init_begin = .;
diff --git a/arch/m32r/kernel/head.S b/arch/m32r/kernel/head.S
--- a/arch/m32r/kernel/head.S
+++ b/arch/m32r/kernel/head.S
@@ -23,7 +23,7 @@ __INITDATA
/*
* References to members of the boot_cpu_data structure.
*/
-.section .text.head, "ax"
+.section .kernel.text.head, "ax"
.global start_kernel
.global __bss_start
.global _end
diff --git a/arch/m32r/kernel/vmlinux.lds.S b/arch/m32r/kernel/vmlinux.lds.S
--- a/arch/m32r/kernel/vmlinux.lds.S
+++ b/arch/m32r/kernel/vmlinux.lds.S
@@ -27,7 +27,7 @@ SECTIONS
_text = .; /* Text and read-only data */
.boot : { *(.boot) } = 0
.text : {
- *(.text.head)
+ *(.kernel.text.head)
TEXT_TEXT
SCHED_TEXT
LOCK_TEXT
diff --git a/arch/s390/kernel/vdso.c b/arch/s390/kernel/vdso.c
--- a/arch/s390/kernel/vdso.c
+++ b/arch/s390/kernel/vdso.c
@@ -64,7 +64,7 @@ static union {
static union {
struct vdso_data data;
u8 page[PAGE_SIZE];
-} vdso_data_store __attribute__((__section__(".data.page_aligned")));
+} vdso_data_store __attribute__((__section__(".kernel.data.page_aligned")));
struct vdso_data *vdso_data = &vdso_data_store.data;
/*
diff --git a/arch/s390/kernel/vdso32/vdso32_wrapper.S b/arch/s390/kernel/vdso32/vdso32_wrapper.S
--- a/arch/s390/kernel/vdso32/vdso32_wrapper.S
+++ b/arch/s390/kernel/vdso32/vdso32_wrapper.S
@@ -1,7 +1,7 @@
#include <linux/init.h>
#include <asm/page.h>
- .section ".data.page_aligned"
+ .section ".kernel.data.page_aligned"
.globl vdso32_start, vdso32_end
.balign PAGE_SIZE
diff --git a/arch/sparc/kernel/head_32.S b/arch/sparc/kernel/head_32.S
--- a/arch/sparc/kernel/head_32.S
+++ b/arch/sparc/kernel/head_32.S
@@ -72,7 +72,7 @@ sun4e_notsup:
.align 4
/* The Sparc trap table, bootloader gives us control at _start. */
- .section .text.head,"ax"
+ .section .kernel.text.head,"ax"
.globl start, _stext, _start, __stext
.globl trapbase
_start: /* danger danger */
diff --git a/arch/sparc/kernel/init_task.c b/arch/sparc/kernel/init_task.c
--- a/arch/sparc/kernel/init_task.c
+++ b/arch/sparc/kernel/init_task.c
@@ -22,5 +22,5 @@ EXPORT_SYMBOL(init_task);
* in etrap.S which assumes it.
*/
union thread_union init_thread_union
- __attribute__((section (".data.init_task")))
+ __attribute__((section (".kernel.data.init_task")))
= { INIT_THREAD_INFO(init_task) };
diff --git a/arch/sparc/kernel/vmlinux.lds.S b/arch/sparc/kernel/vmlinux.lds.S
--- a/arch/sparc/kernel/vmlinux.lds.S
+++ b/arch/sparc/kernel/vmlinux.lds.S
@@ -41,7 +41,7 @@ SECTIONS
.text TEXTSTART :
{
_text = .;
- *(.text.head)
+ *(.kernel.text.head)
TEXT_TEXT
SCHED_TEXT
LOCK_TEXT
next prev parent reply other threads:[~2009-02-04 8:16 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-06 0:03 [PATCH 0/7] Ksplice: Rebootless kernel updates Jeff Arnold
2008-12-06 0:03 ` [PATCH 1/7] Make section names compatible with -ffunction-sections -fdata-sections Jeff Arnold
2008-12-06 0:03 ` [PATCH 2/7] x86: Add an option to compile " Jeff Arnold
2008-12-06 0:03 ` [PATCH 3/7] Ksplice: Make find_symbol return a struct kernel_symbol Jeff Arnold
2008-12-06 0:03 ` [PATCH 4/7] Ksplice: Add module_data_address (the analogue of module_text_address) Jeff Arnold
2008-12-06 0:03 ` [PATCH 5/7] Ksplice: Add functions for walking kallsyms symbols Jeff Arnold
2008-12-06 0:03 ` [PATCH 6/7] Ksplice: Export symbols needed for Ksplice Jeff Arnold
2008-12-06 0:04 ` [PATCH 7/7] Ksplice: Support updating x86-32 and x86-64 Jeff Arnold
2008-12-17 5:41 ` Theodore Tso
2008-12-18 2:09 ` Tim Abbott
2009-02-07 2:36 ` Rusty Russell
2009-02-10 1:01 ` Tim Abbott
2009-02-04 11:35 ` [PATCH 6/7] Ksplice: Export symbols needed for Ksplice Rusty Russell
2009-02-13 1:46 ` Tim Abbott
2009-02-16 7:11 ` Rusty Russell
2009-02-04 11:30 ` [PATCH 5/7] Ksplice: Add functions for walking kallsyms symbols Rusty Russell
2009-02-04 21:31 ` Anders Kaseorg
2009-02-04 11:21 ` [PATCH 4/7] Ksplice: Add module_data_address (the analogue of module_text_address) Rusty Russell
2009-02-04 20:48 ` Anders Kaseorg
2009-02-07 12:45 ` Rusty Russell
2009-02-04 9:26 ` [PATCH 3/7] Ksplice: Make find_symbol return a struct kernel_symbol Rusty Russell
2009-02-04 8:38 ` [PATCH 2/7] x86: Add an option to compile with -ffunction-sections -fdata-sections Rusty Russell
2009-02-04 10:26 ` Anders Kaseorg
2009-02-04 10:58 ` Rusty Russell
2009-02-04 20:50 ` Anders Kaseorg
2008-12-06 8:46 ` [PATCH 1/7] Make section names compatible " Andi Kleen
2008-12-31 19:18 ` Tim Abbott
2008-12-31 19:52 ` Andi Kleen
2008-12-31 21:59 ` Tim Abbott
2009-01-01 16:32 ` Andrew Morton
2009-01-04 19:20 ` Tim Abbott
2009-01-12 21:51 ` Andrew Morton
2009-01-12 22:11 ` Andi Kleen
2009-02-04 8:15 ` Rusty Russell [this message]
2009-02-05 1:11 ` Anders Kaseorg
2009-02-05 2:00 ` Anders Kaseorg
2008-12-17 2:48 ` [PATCH 0/7] Ksplice: Rebootless kernel updates Tim Abbott
2008-12-17 3:07 ` Andrew Morton
2008-12-17 3:53 ` Dave Jones
2008-12-17 17:19 ` Jeff Arnold
2008-12-17 5:05 ` Tim Abbott
2008-12-17 12:09 ` Ben Collins
2008-12-17 12:06 ` Ben Collins
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200902041845.48071.rusty@rustcorp.com.au \
--to=rusty@rustcorp.com.au \
--cc=akpm@linux-foundation.org \
--cc=andersk@mit.edu \
--cc=jbarnold@mit.edu \
--cc=knikanth@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=tabbott@mit.edu \
--cc=torvalds@linux-foundation.org \
--cc=vda.linux@googlemail.com \
--cc=wdaher@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox