linker script: unify usage of discard definition
[linux-2.6.git] / arch / m68k / kernel / vmlinux-sun3.lds
index cc37e8d..03efaf0 100644 (file)
@@ -1,6 +1,7 @@
 /* ld script to make m68k Linux kernel */
 
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
 
 OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
 OUTPUT_ARCH(m68k)
@@ -8,12 +9,13 @@ ENTRY(_start)
 jiffies = jiffies_64 + 4;
 SECTIONS
 {
-  . = 0xE004000;
+  . = 0xE002000;
   _text = .;                   /* Text and read-only data */
   .text : {
-       *(.head)
-       *(.text)
+       HEAD_TEXT
+       TEXT_TEXT
        SCHED_TEXT
+       LOCK_TEXT
        *(.fixup)
        *(.gnu.warning)
        } :text = 0x4e75
@@ -22,7 +24,7 @@ SECTIONS
   _etext = .;                  /* End of text section */
 
   .data : {                    /* Data */
-       *(.data)
+       DATA_DATA
        CONSTRUCTORS
        . = ALIGN(16);          /* Exception table */
        __start___ex_table = .;
@@ -31,55 +33,50 @@ SECTIONS
        } :data
   /* End of data goes *here* so that freeing init code works properly. */
   _edata = .;
+  NOTES
 
   /* will be freed after init */
-  . = ALIGN(8192);     /* Init code and data */
+  . = ALIGN(PAGE_SIZE);        /* Init code and data */
 __init_begin = .;
        .init.text : {
                _sinittext = .;
-               *(.init.text)
+               INIT_TEXT
                _einittext = .;
        }
-       .init.data : { *(.init.data) }
+       .init.data : { INIT_DATA }
        . = ALIGN(16);
        __setup_start = .;
        .init.setup : { *(.init.setup) }
        __setup_end = .;
        __initcall_start = .;
        .initcall.init : {
-               *(.initcall1.init)
-               *(.initcall2.init)
-               *(.initcall3.init)
-               *(.initcall4.init)
-               *(.initcall5.init)
-               *(.initcall6.init)
-               *(.initcall7.init)
+               INITCALLS
        }
        __initcall_end = .;
        __con_initcall_start = .;
        .con_initcall.init : { *(.con_initcall.init) }
        __con_initcall_end = .;
+       .m68k_fixup : {
+               __start_fixup = .;
+               *(.m68k_fixup)
+               __stop_fixup = .;
+       }
        SECURITY_INIT
-       . = ALIGN(8192);
+#ifdef CONFIG_BLK_DEV_INITRD
+       . = ALIGN(PAGE_SIZE);
        __initramfs_start = .;
        .init.ramfs : { *(.init.ramfs) }
        __initramfs_end = .;
-       . = ALIGN(8192);
+#endif
+       . = ALIGN(PAGE_SIZE);
        __init_end = .;
-       .init.task : { *(init_task) }
+       .data.init.task : { *(.data.init_task) }
 
 
   .bss : { *(.bss) }           /* BSS */
 
   _end = . ;
 
-  /* Sections to be discarded */
-  /DISCARD/ : {
-       *(.exit.text)
-       *(.exit.data)
-       *(.exitcall.exit)
-       }
-
   .crap : {
        /* Stabs debugging sections.  */
        *(.stab)
@@ -92,4 +89,6 @@ __init_begin = .;
        *(.note)
   }
 
+  /* Sections to be discarded */
+  DISCARDS
 }