Merge branch 'printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-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 #include <asm/page.h>
5
6 OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
7 OUTPUT_ARCH(m68k)
8 ENTRY(_start)
9 jiffies = jiffies_64 + 4;
10 SECTIONS
11 {
12   . = 0xE002000;
13   _text = .;                    /* Text and read-only data */
14   .text : {
15         HEAD_TEXT
16         TEXT_TEXT
17         SCHED_TEXT
18         LOCK_TEXT
19         *(.fixup)
20         *(.gnu.warning)
21         } :text = 0x4e75
22         RODATA
23
24   _etext = .;                   /* End of text section */
25
26   .data : {                     /* Data */
27         DATA_DATA
28         CONSTRUCTORS
29         . = ALIGN(16);          /* Exception table */
30         __start___ex_table = .;
31         *(__ex_table)
32         __stop___ex_table = .;
33         } :data
34   /* End of data goes *here* so that freeing init code works properly. */
35   _edata = .;
36   NOTES
37
38   /* will be freed after init */
39   . = ALIGN(PAGE_SIZE); /* Init code and data */
40 __init_begin = .;
41         .init.text : {
42                 _sinittext = .;
43                 INIT_TEXT
44                 _einittext = .;
45         }
46         .init.data : { INIT_DATA }
47         . = ALIGN(16);
48         __setup_start = .;
49         .init.setup : { *(.init.setup) }
50         __setup_end = .;
51         __initcall_start = .;
52         .initcall.init : {
53                 INITCALLS
54         }
55         __initcall_end = .;
56         __con_initcall_start = .;
57         .con_initcall.init : { *(.con_initcall.init) }
58         __con_initcall_end = .;
59         .m68k_fixup : {
60                 __start_fixup = .;
61                 *(.m68k_fixup)
62                 __stop_fixup = .;
63         }
64         SECURITY_INIT
65 #ifdef CONFIG_BLK_DEV_INITRD
66         . = ALIGN(PAGE_SIZE);
67         __initramfs_start = .;
68         .init.ramfs : { *(.init.ramfs) }
69         __initramfs_end = .;
70 #endif
71         . = ALIGN(PAGE_SIZE);
72         __init_end = .;
73         .data.init.task : { *(.data.init_task) }
74
75
76   .bss : { *(.bss) }            /* BSS */
77
78   _end = . ;
79
80   /* Sections to be discarded */
81   /DISCARD/ : {
82         EXIT_TEXT
83         EXIT_DATA
84         *(.exitcall.exit)
85         }
86
87   .crap : {
88         /* Stabs debugging sections.  */
89         *(.stab)
90         *(.stabstr)
91         *(.stab.excl)
92         *(.stab.exclstr)
93         *(.stab.index)
94         *(.stab.indexstr)
95         *(.comment)
96         *(.note)
97   }
98
99 }