blob: cc37e8d3c1e2ad30a11989e220612d7a34bd37eb [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* ld script to make m68k Linux kernel */
2
3#include <asm-generic/vmlinux.lds.h>
4
5OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
6OUTPUT_ARCH(m68k)
7ENTRY(_start)
8jiffies = jiffies_64 + 4;
9SECTIONS
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}