The purpose of this patch is to make kernel buildable
with "gcc -ffunction-sections -fdata-sections".
This patch fixes s390 architecture.

Signed-off-by: Denys Vlasenko <[EMAIL PROTECTED]>
--
vda


--- 0.org/arch/s390/kernel/head.S       Wed Jul  2 00:40:42 2008
+++ 1.fixname/arch/s390/kernel/head.S   Wed Jul  2 00:44:22 2008
@@ -35,7 +35,7 @@
 #define ARCH_OFFSET    0
 #endif
 
-.section ".text.head","ax"
+.section ".head.text","ax"
 #ifndef CONFIG_IPL
        .org   0
        .long  0x00080000,0x80000000+startup    # Just a restart PSW
--- 0.org/arch/s390/kernel/init_task.c  Wed Jul  2 00:40:42 2008
+++ 1.fixname/arch/s390/kernel/init_task.c      Wed Jul  2 00:45:57 2008
@@ -31,7 +31,7 @@
  * "init_task" linker map entry..
  */
 union thread_union init_thread_union 
-       __attribute__((__section__(".data.init_task"))) =
+       __attribute__((__section__(".init_task.data"))) =
                { INIT_THREAD_INFO(init_task) };
 
 /*
--- 0.org/arch/s390/kernel/vmlinux.lds.S        Wed Jul  2 00:40:42 2008
+++ 1.fixname/arch/s390/kernel/vmlinux.lds.S    Wed Jul  2 00:46:32 2008
@@ -28,7 +28,7 @@
        . = 0x00000000;
        .text : {
        _text = .;              /* Text and read-only data */
-               *(.text.head)
+               *(.head.text)
        TEXT_TEXT
                SCHED_TEXT
                LOCK_TEXT
@@ -66,30 +66,30 @@
        . = ALIGN(PAGE_SIZE);
        .data_nosave : {
        __nosave_begin = .;
-               *(.data.nosave)
+               *(.nosave.data)
        }
        . = ALIGN(PAGE_SIZE);
        __nosave_end = .;
 
        . = ALIGN(PAGE_SIZE);
-       .data.page_aligned : {
-               *(.data.idt)
+       .page_aligned.data : {
+               *(.idt.data)
        }
 
        . = ALIGN(0x100);
-       .data.cacheline_aligned : {
-               *(.data.cacheline_aligned)
+       .cacheline_aligned.data : {
+               *(.cacheline_aligned.data)
        }
 
        . = ALIGN(0x100);
-       .data.read_mostly : {
-               *(.data.read_mostly)
+       .read_mostly.data : {
+               *(.read_mostly.data)
        }
        _edata = .;             /* End of data section */
 
        . = ALIGN(2 * PAGE_SIZE);       /* init_task */
-       .data.init_task : {
-               *(.data.init_task)
+       .init_task.data : {
+               *(.init_task.data)
        }
 
        /* will be freed after init */
--- 0.org/include/asm-s390/cache.h      Wed Jul  2 00:40:50 2008
+++ 1.fixname/include/asm-s390/cache.h  Wed Jul  2 00:45:45 2008
@@ -14,6 +14,6 @@
 #define L1_CACHE_BYTES     256
 #define L1_CACHE_SHIFT     8
 
-#define __read_mostly __attribute__((__section__(".data.read_mostly")))
+#define __read_mostly __attribute__((__section__(".read_mostly.data")))
 
 #endif
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to