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