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


--- 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-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/