string: factorize skip_spaces and export it to be generally available
[safe/jmp/linux-2.6] / arch / m68knommu / kernel / vmlinux.lds.S
index 6d4585e..9f1784f 100644 (file)
@@ -8,6 +8,8 @@
  */
 
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
+#include <asm/thread_info.h>
 
 #if defined(CONFIG_RAMKERNEL)
 #define        RAM_START       CONFIG_KERNELBASE
@@ -15,7 +17,7 @@
 #define        TEXT            ram
 #define        DATA            ram
 #define        INIT            ram
-#define        BSS             ram
+#define        BSSS            ram
 #endif
 #if defined(CONFIG_ROMKERNEL) || defined(CONFIG_HIMEMKERNEL)
 #define        RAM_START       CONFIG_RAMBASE
@@ -27,7 +29,7 @@
 #define        TEXT            rom
 #define        DATA            ram
 #define        INIT            ram
-#define        BSS             ram
+#define        BSSS            ram
 #endif
 
 #ifndef DATA_ADDR
@@ -62,8 +64,10 @@ SECTIONS {
        .text : {
                _text = .;
                _stext = . ;
+               HEAD_TEXT
                TEXT_TEXT
                SCHED_TEXT
+               LOCK_TEXT
                *(.text.lock)
 
                . = ALIGN(16);          /* Exception table              */
@@ -73,6 +77,7 @@ SECTIONS {
 
                *(.rodata) *(.rodata.*)
                *(__vermagic)           /* Kernel version magic */
+               *(__markers_strings)
                *(.rodata1)
                *(.rodata.str1.1)
 
@@ -112,6 +117,16 @@ SECTIONS {
                *(__kcrctab_gpl)
                __stop___kcrctab_gpl = .;
 
+               /* Kernel symbol table: Normal unused symbols */
+               __start___kcrctab_unused = .;
+               *(__kcrctab_unused)
+               __stop___kcrctab_unused = .;
+
+               /* Kernel symbol table: GPL-only unused symbols */
+               __start___kcrctab_unused_gpl = .;
+               *(__kcrctab_unused_gpl)
+               __stop___kcrctab_unused_gpl = .;
+
                /* Kernel symbol table: GPL-future symbols */
                __start___kcrctab_gpl_future = .;
                *(__kcrctab_gpl_future)
@@ -133,48 +148,23 @@ SECTIONS {
        .data DATA_ADDR : {
                . = ALIGN(4);
                _sdata = . ;
-               *(.data)
-               . = ALIGN(8192) ;
-               *(.data.init_task)
+               DATA_DATA
+               CACHELINE_ALIGNED_DATA(32)
+               INIT_TASK_DATA(THREAD_SIZE)
                _edata = . ;
        } > DATA
 
-       .init : {
-               . = ALIGN(4096);
+       .init.text : {
+               . = ALIGN(PAGE_SIZE);
                __init_begin = .;
-               _sinittext = .;
-               *(.init.text)
-               _einittext = .;
-               *(.init.data)
-               . = ALIGN(16);
-               __setup_start = .;
-               *(.init.setup)
-               __setup_end = .;
-               __initcall_start = .;
-               INITCALLS
-               __initcall_end = .;
-               __con_initcall_start = .;
-               *(.con_initcall.init)
-               __con_initcall_end = .;
-               __security_initcall_start = .;
-               *(.security_initcall.init)
-               __security_initcall_end = .;
-#ifdef CONFIG_BLK_DEV_INITRD
-               . = ALIGN(4);
-               __initramfs_start = .;
-               *(.init.ramfs)
-               __initramfs_end = .;
-#endif
-               . = ALIGN(4096);
+       } > INIT
+       INIT_TEXT_SECTION(PAGE_SIZE) > INIT
+       INIT_DATA_SECTION(16) > INIT
+       .init.data : {
+               . = ALIGN(PAGE_SIZE);
                __init_end = .;
        } > INIT
 
-       /DISCARD/ : {
-               *(.exit.text)
-               *(.exit.data)
-               *(.exitcall.exit)
-       }
-
        .bss : {
                . = ALIGN(4);
                _sbss = . ;
@@ -182,7 +172,9 @@ SECTIONS {
                *(COMMON)
                . = ALIGN(4) ;
                _ebss = . ;
-       } > BSS
+               _end = . ;
+       } > BSSS
 
+       DISCARDS
 }