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@xxxxxxxxxxxxxx> -- 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) -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html