define new percpu interface for shared data
[linux-2.6.git] / arch / s390 / kernel / vmlinux.lds.S
index c30716a..61ffd50 100644 (file)
@@ -21,7 +21,7 @@ SECTIONS
   . = 0x00000000;
   _text = .;                   /* Text and read-only data */
   .text : {
-       *(.text)
+       TEXT_TEXT
        SCHED_TEXT
        LOCK_TEXT
        KPROBES_TEXT
@@ -45,8 +45,10 @@ SECTIONS
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
 
+  BUG_TABLE
+
   .data : {                    /* Data */
-       *(.data)
+       DATA_DATA
        CONSTRUCTORS
        }
 
@@ -77,6 +79,12 @@ SECTIONS
        *(.init.text)
        _einittext = .;
   }
+  /*
+   * .exit.text is discarded at runtime, not link time,
+   * to deal with references from __bug_table
+   */
+  .exit.text :  { *(.exit.text) }
+
   .init.data : { *(.init.data) }
   . = ALIGN(256);
   __setup_start = .;
@@ -99,10 +107,7 @@ SECTIONS
   . = ALIGN(2);
   __initramfs_end = .;
 #endif
-  . = ALIGN(256);
-  __per_cpu_start = .;
-  .data.percpu  : { *(.data.percpu) }
-  __per_cpu_end = .;
+  PERCPU(4096)
   . = ALIGN(4096);
   __init_end = .;
   /* freed after init ends here */
@@ -116,7 +121,7 @@ SECTIONS
 
   /* Sections to be discarded */
   /DISCARD/ : {
-       *(.exit.text) *(.exit.data) *(.exitcall.exit)
+       *(.exit.data) *(.exitcall.exit)
        }
 
   /* Stabs debugging sections.  */