]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/s390/kernel/vmlinux.lds.S
Merge git://git.infradead.org/mtd-2.6
[linux-2.6-omap-h63xx.git] / arch / s390 / kernel / vmlinux.lds.S
index a4890739252230df4ebb28cc70a0e79915aa7bd0..7158a804a5e4f4ca0d4ff00d3773c8bf5474eff9 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 = .;
@@ -91,12 +99,15 @@ SECTIONS
   .con_initcall.init : { *(.con_initcall.init) }
   __con_initcall_end = .;
   SECURITY_INIT
+
+#ifdef CONFIG_BLK_DEV_INITRD
   . = ALIGN(256);
   __initramfs_start = .;
   .init.ramfs : { *(.init.initramfs) }
   . = ALIGN(2);
   __initramfs_end = .;
-  . = ALIGN(256);
+#endif
+  . = ALIGN(4096);
   __per_cpu_start = .;
   .data.percpu  : { *(.data.percpu) }
   __per_cpu_end = .;
@@ -113,7 +124,7 @@ SECTIONS
 
   /* Sections to be discarded */
   /DISCARD/ : {
-       *(.exit.text) *(.exit.data) *(.exitcall.exit)
+       *(.exit.data) *(.exitcall.exit)
        }
 
   /* Stabs debugging sections.  */