* [PATCH 3/23] make section names compatible with -ffunction-sections -fdata-sections: arm
@ 2008-07-02 0:34 Denys Vlasenko
2008-07-02 6:22 ` Roberto A. Foglietta
0 siblings, 1 reply; 2+ messages in thread
From: Denys Vlasenko @ 2008-07-02 0:34 UTC (permalink / raw)
To: linux-arch
Cc: Russell King, David Howells, Ralf Baechle, Lennert Buytenhek,
Josh Boyer, Paul Mackerras, David Woodhouse, Andi Kleen, torvalds,
akpm, Paul Gortmaker, linux-embedded, linux-kernel, Tim Bird,
Martin Schwidefsky, Dave Miller
The purpose of this patch is to make kernel buildable
with "gcc -ffunction-sections -fdata-sections".
This patch fixes arm architecture.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
--
vda
--- 0.org/arch/arm/kernel/head-nommu.S Wed Jul 2 00:40:39 2008
+++ 1.fixname/arch/arm/kernel/head-nommu.S Wed Jul 2 00:44:22 2008
@@ -33,7 +33,7 @@
* numbers for r1.
*
*/
- .section ".text.head", "ax"
+ .section ".head.text", "ax"
.type stext, %function
ENTRY(stext)
msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode
--- 0.org/arch/arm/kernel/head.S Wed Jul 2 00:40:39 2008
+++ 1.fixname/arch/arm/kernel/head.S Wed Jul 2 00:44:22 2008
@@ -74,7 +74,7 @@
* crap here - that's what the boot loader (or in extreme, well justified
* circumstances, zImage) is for.
*/
- .section ".text.head", "ax"
+ .section ".head.text", "ax"
.type stext, %function
ENTRY(stext)
msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode
--- 0.org/arch/arm/kernel/init_task.c Wed Jul 2 00:40:39 2008
+++ 1.fixname/arch/arm/kernel/init_task.c Wed Jul 2 00:45:57 2008
@@ -30,7 +30,7 @@
* The things we do for performance..
*/
union thread_union init_thread_union
- __attribute__((__section__(".data.init_task"))) =
+ __attribute__((__section__(".init_task.data"))) =
{ INIT_THREAD_INFO(init_task) };
/*
--- 0.org/arch/arm/kernel/vmlinux.lds.S Wed Jul 2 00:40:39 2008
+++ 1.fixname/arch/arm/kernel/vmlinux.lds.S Wed Jul 2 00:46:03 2008
@@ -23,10 +23,10 @@
#else
. = PAGE_OFFSET + TEXT_OFFSET;
#endif
- .text.head : {
+ .head.text : {
_stext = .;
_sinittext = .;
- *(.text.head)
+ *(.head.text)
}
.init : { /* Init code and data */
@@ -65,8 +65,8 @@
#endif
. = ALIGN(4096);
__per_cpu_start = .;
- *(.data.percpu)
- *(.data.percpu.shared_aligned)
+ *(.percpu.data)
+ *(.percpu.shared_aligned.data)
__per_cpu_end = .;
#ifndef CONFIG_XIP_KERNEL
__init_begin = _stext;
@@ -125,7 +125,7 @@
* first, the init task union, aligned
* to an 8192 byte boundary.
*/
- *(.data.init_task)
+ *(.init_task.data)
#ifdef CONFIG_XIP_KERNEL
. = ALIGN(4096);
@@ -137,7 +137,7 @@
. = ALIGN(4096);
__nosave_begin = .;
- *(.data.nosave)
+ *(.nosave.data)
. = ALIGN(4096);
__nosave_end = .;
@@ -145,7 +145,7 @@
* then the cacheline aligned data
*/
. = ALIGN(32);
- *(.data.cacheline_aligned)
+ *(.cacheline_aligned.data)
/*
* The exception fixup table (might need resorting at runtime)
--- 0.org/arch/arm/mm/proc-v6.S Wed Jul 2 00:40:40 2008
+++ 1.fixname/arch/arm/mm/proc-v6.S Wed Jul 2 00:44:28 2008
@@ -164,7 +164,7 @@
.asciz "ARMv6-compatible processor"
.align
- .section ".text.init", #alloc, #execinstr
+ .section ".init.text", #alloc, #execinstr
/*
* __v6_setup
--- 0.org/arch/arm/mm/proc-v7.S Wed Jul 2 00:40:40 2008
+++ 1.fixname/arch/arm/mm/proc-v7.S Wed Jul 2 00:44:28 2008
@@ -146,7 +146,7 @@
.ascii "ARMv7 Processor"
.align
- .section ".text.init", #alloc, #execinstr
+ .section ".init.text", #alloc, #execinstr
/*
* __v7_setup
--- 0.org/arch/arm/mm/tlb-v6.S Wed Jul 2 00:40:40 2008
+++ 1.fixname/arch/arm/mm/tlb-v6.S Wed Jul 2 00:44:28 2008
@@ -87,7 +87,7 @@
mcr p15, 0, r2, c7, c5, 4 @ prefetch flush
mov pc, lr
- .section ".text.init", #alloc, #execinstr
+ .section ".init.text", #alloc, #execinstr
.type v6wbi_tlb_fns, #object
ENTRY(v6wbi_tlb_fns)
--- 0.org/arch/arm/mm/tlb-v7.S Wed Jul 2 00:40:40 2008
+++ 1.fixname/arch/arm/mm/tlb-v7.S Wed Jul 2 00:44:28 2008
@@ -78,7 +78,7 @@
isb
mov pc, lr
- .section ".text.init", #alloc, #execinstr
+ .section ".init.text", #alloc, #execinstr
.type v7wbi_tlb_fns, #object
ENTRY(v7wbi_tlb_fns)
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH 3/23] make section names compatible with -ffunction-sections -fdata-sections: arm
2008-07-02 0:34 [PATCH 3/23] make section names compatible with -ffunction-sections -fdata-sections: arm Denys Vlasenko
@ 2008-07-02 6:22 ` Roberto A. Foglietta
0 siblings, 0 replies; 2+ messages in thread
From: Roberto A. Foglietta @ 2008-07-02 6:22 UTC (permalink / raw)
To: Denys Vlasenko
Cc: linux-arch, Russell King, David Howells, Ralf Baechle,
Lennert Buytenhek, Josh Boyer, Paul Mackerras, David Woodhouse,
Andi Kleen, torvalds, akpm, Paul Gortmaker, linux-embedded,
linux-kernel, Tim Bird, Martin Schwidefsky, Dave Miller
2008/7/2 Denys Vlasenko <vda.linux@googlemail.com>:
> The purpose of this patch is to make kernel buildable
> with "gcc -ffunction-sections -fdata-sections".
> This patch fixes arm architecture.
>
Hi Denys,
I see your patchset. may I suggest you to take a look to this tools?
http://www.emn.fr/x-info/coccinelle/
I think it could simplify this kind of patching for the future.
I found it reading the kernel janitors m-list and I hope it helps.
Cheers,
--
/roberto
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-07-02 6:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-02 0:34 [PATCH 3/23] make section names compatible with -ffunction-sections -fdata-sections: arm Denys Vlasenko
2008-07-02 6:22 ` Roberto A. Foglietta
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).