Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
[linux-2.6] / 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)
15         SCHED_TEXT
16         *(.fixup)
17         *(.gnu.warning)
18         } :text = 0x4e75
19
20   . = ALIGN(16);                /* Exception table */
21   __start___ex_table = .;
22   __ex_table : { *(__ex_table) }
23   __stop___ex_table = .;
24
25   RODATA
26
27   _etext = .;                   /* End of text section */
28
29   .data : {                     /* Data */
30         *(.data)
31         CONSTRUCTORS
32         }
33
34   .bss : { *(.bss) }            /* BSS */
35
36   . = ALIGN(16);
37   .data.cacheline_aligned : { *(.data.cacheline_aligned) } :data
38
39   _edata = .;                   /* End of data section */
40
41   /* will be freed after init */
42   . = ALIGN(4096);              /* Init code and data */
43   __init_begin = .;
44   .init.text : {
45         _sinittext = .;
46         *(.init.text)
47         _einittext = .;
48   }
49   .init.data : { *(.init.data) }
50   . = ALIGN(16);
51   __setup_start = .;
52   .init.setup : { *(.init.setup) }
53   __setup_end = .;
54   __initcall_start = .;
55   .initcall.init : {
56         *(.initcall1.init)
57         *(.initcall2.init)
58         *(.initcall3.init)
59         *(.initcall4.init)
60         *(.initcall5.init)
61         *(.initcall6.init)
62         *(.initcall7.init)
63   }
64   __initcall_end = .;
65   __con_initcall_start = .;
66   .con_initcall.init : { *(.con_initcall.init) }
67   __con_initcall_end = .;
68   SECURITY_INIT
69   . = ALIGN(8192);
70   __initramfs_start = .;
71   .init.ramfs : { *(.init.ramfs) }
72   __initramfs_end = .;
73   . = ALIGN(8192);
74   __init_end = .;
75
76   .data.init_task : { *(.data.init_task) }      /* The initial task and kernel stack */
77
78   _end = . ;
79
80   /* Sections to be discarded */
81   /DISCARD/ : {
82         *(.exit.text)
83         *(.exit.data)
84         *(.exitcall.exit)
85         }
86
87   /* Stabs debugging sections.  */
88   .stab 0 : { *(.stab) }
89   .stabstr 0 : { *(.stabstr) }
90   .stab.excl 0 : { *(.stab.excl) }
91   .stab.exclstr 0 : { *(.stab.exclstr) }
92   .stab.index 0 : { *(.stab.index) }
93   .stab.indexstr 0 : { *(.stab.indexstr) }
94   .comment 0 : { *(.comment) }
95 }