The purpose of this patch is to make kernel buildable with "gcc -ffunction-sections -fdata-sections". This patch fixes xtensa architecture. Signed-off-by: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> -- vda --- 0.org/arch/xtensa/kernel/head.S Wed Jul 2 00:40:43 2008 +++ 1.fixname/arch/xtensa/kernel/head.S Wed Jul 2 00:47:00 2008 @@ -234,7 +234,7 @@ * BSS section */ -.section ".bss.page_aligned", "w" +.section ".bss.k.page_aligned", "w" ENTRY(swapper_pg_dir) .fill PAGE_SIZE, 1, 0 ENTRY(empty_zero_page) --- 0.org/arch/xtensa/kernel/init_task.c Wed Jul 2 00:40:43 2008 +++ 1.fixname/arch/xtensa/kernel/init_task.c Wed Jul 2 00:45:57 2008 @@ -29,7 +29,7 @@ EXPORT_SYMBOL(init_mm); union thread_union init_thread_union - __attribute__((__section__(".data.init_task"))) = + __attribute__((__section__(".init_task.data"))) = { INIT_THREAD_INFO(init_task) }; struct task_struct init_task = INIT_TASK(init_task); --- 0.org/arch/xtensa/kernel/vmlinux.lds.S Wed Jul 2 00:40:43 2008 +++ 1.fixname/arch/xtensa/kernel/vmlinux.lds.S Wed Jul 2 00:47:00 2008 @@ -121,14 +121,14 @@ DATA_DATA CONSTRUCTORS . = ALIGN(XCHAL_ICACHE_LINESIZE); - *(.data.cacheline_aligned) + *(.cacheline_aligned.data) } _edata = .; /* The initial task */ . = ALIGN(8192); - .data.init_task : { *(.data.init_task) } + .init_task.data : { *(.init_task.data) } /* Initialization code and data: */ @@ -259,7 +259,7 @@ /* BSS section */ _bss_start = .; - .bss : { *(.bss.page_aligned) *(.bss) } + .bss : { *(.bss.k.page_aligned) *(.bss) } _bss_end = .; _end = .; --- 0.org/include/asm-frv/init.h Wed Jul 2 00:40:50 2008 +++ 1.fixname/include/asm-frv/init.h Wed Jul 2 00:45:57 2008 @@ -1,12 +1,12 @@ #ifndef _ASM_INIT_H #define _ASM_INIT_H -#define __init __attribute__ ((__section__ (".text.init"))) -#define __initdata __attribute__ ((__section__ (".data.init"))) +#define __init __attribute__ ((__section__ (".init.text"))) +#define __initdata __attribute__ ((__section__ (".init.data"))) /* For assembly routines */ -#define __INIT .section ".text.init",#alloc,#execinstr +#define __INIT .section ".init.text",#alloc,#execinstr #define __FINIT .previous -#define __INITDATA .section ".data.init",#alloc,#write +#define __INITDATA .section ".init.data",#alloc,#write #endif -- 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