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