m68k: use .text.head
[linux-2.6.git] / arch / m68k / kernel / vmlinux-std.lds
1 /* ld script to make m68k Linux kernel */
2
3 #include <asm-generic/vmlinux.lds.h>
4
5 OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
6 OUTPUT_ARCH(m68k)
7 ENTRY(_start)
8 jiffies = jiffies_64 + 4;
9 SECTIONS
10 {
11   . = 0x1000;
12   _text = .;                    /* Text and read-only data */
13   .text : {
14         *(.text.head)
15         TEXT_TEXT
16         SCHED_TEXT
17         LOCK_TEXT
18         *(.fixup)
19         *(.gnu.warning)
20         } :text = 0x4e75
21
22   . = ALIGN(16);                /* Exception table */
23   __start___ex_table = .;
24   __ex_table : { *(__ex_table) }
25   __stop___ex_table = .;
26
27   RODATA
28
29   _etext = .;                   /* End of text section */
30
31   .data : {                     /* Data */
32         DATA_DATA
33         CONSTRUCTORS
34         }
35
36   .bss : { *(.bss) }            /* BSS */
37
38   . = ALIGN(16);
39   .data.cacheline_aligned : { *(.data.cacheline_aligned) } :data
40
41   _edata = .;                   /* End of data section */
42
43   /* will be freed after init */
44   . = ALIGN(4096);              /* Init code and data */
45   __init_begin = .;
46   .init.text : {
47         _sinittext = .;
48         *(.init.text)
49         _einittext = .;
50   }
51   .init.data : { *(.init.data) }
52   . = ALIGN(16);
53   __setup_start = .;
54   .init.setup : { *(.init.setup) }
55   __setup_end = .;
56   __initcall_start = .;
57   .initcall.init : {
58         INITCALLS
59   }
60   __initcall_end = .;
61   __con_initcall_start = .;
62   .con_initcall.init : { *(.con_initcall.init) }
63   __con_initcall_end = .;
64   .m68k_fixup : {
65         __start_fixup = .;
66         *(.m68k_fixup)
67         __stop_fixup = .;
68   }
69   SECURITY_INIT
70 #ifdef CONFIG_BLK_DEV_INITRD
71   . = ALIGN(8192);
72   __initramfs_start = .;
73   .init.ramfs : { *(.init.ramfs) }
74   __initramfs_end = .;
75 #endif
76   . = ALIGN(8192);
77   __init_end = .;
78
79   .data.init_task : { *(.data.init_task) }      /* The initial task and kernel stack */
80
81   _end = . ;
82
83   /* Sections to be discarded */
84   /DISCARD/ : {
85         *(.exit.text)
86         *(.exit.data)
87         *(.exitcall.exit)
88         }
89
90   /* Stabs debugging sections.  */
91   .stab 0 : { *(.stab) }
92   .stabstr 0 : { *(.stabstr) }
93   .stab.excl 0 : { *(.stab.excl) }
94   .stab.exclstr 0 : { *(.stab.exclstr) }
95   .stab.index 0 : { *(.stab.index) }
96   .stab.indexstr 0 : { *(.stab.indexstr) }
97   .comment 0 : { *(.comment) }
98 }