blob: d2794452b195cbcafd1bca92c069df1f85ebdb23 [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 . = 0x1000;
12 _text = .; /* Text and read-only data */
13 .text : {
14 *(.text)
15 SCHED_TEXT
Al Viro198a4102006-01-12 01:06:11 -080016 LOCK_TEXT
Linus Torvalds1da177e2005-04-16 15:20:36 -070017 *(.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)
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 : {
Geert Uytterhoeven5fdb51a2006-10-29 11:21:51 +010057 INITCALLS
Linus Torvalds1da177e2005-04-16 15:20:36 -070058 }
59 __initcall_end = .;
60 __con_initcall_start = .;
61 .con_initcall.init : { *(.con_initcall.init) }
62 __con_initcall_end = .;
63 SECURITY_INIT
64 . = ALIGN(8192);
65 __initramfs_start = .;
66 .init.ramfs : { *(.init.ramfs) }
67 __initramfs_end = .;
68 . = ALIGN(8192);
69 __init_end = .;
70
71 .data.init_task : { *(.data.init_task) } /* The initial task and kernel stack */
72
73 _end = . ;
74
75 /* Sections to be discarded */
76 /DISCARD/ : {
77 *(.exit.text)
78 *(.exit.data)
79 *(.exitcall.exit)
80 }
81
82 /* Stabs debugging sections. */
83 .stab 0 : { *(.stab) }
84 .stabstr 0 : { *(.stabstr) }
85 .stab.excl 0 : { *(.stab.excl) }
86 .stab.exclstr 0 : { *(.stab.exclstr) }
87 .stab.index 0 : { *(.stab.index) }
88 .stab.indexstr 0 : { *(.stab.indexstr) }
89 .comment 0 : { *(.comment) }
90}