blob: 69d1d3d30c788cf03e373705597f49ea83ca07e2 [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 : {
57 *(.initcall1.init)
58 *(.initcall2.init)
59 *(.initcall3.init)
60 *(.initcall4.init)
61 *(.initcall5.init)
62 *(.initcall6.init)
63 *(.initcall7.init)
64 }
65 __initcall_end = .;
66 __con_initcall_start = .;
67 .con_initcall.init : { *(.con_initcall.init) }
68 __con_initcall_end = .;
69 SECURITY_INIT
70 . = ALIGN(8192);
71 __initramfs_start = .;
72 .init.ramfs : { *(.init.ramfs) }
73 __initramfs_end = .;
74 . = ALIGN(8192);
75 __init_end = .;
76
77 .data.init_task : { *(.data.init_task) } /* The initial task and kernel stack */
78
79 _end = . ;
80
81 /* Sections to be discarded */
82 /DISCARD/ : {
83 *(.exit.text)
84 *(.exit.data)
85 *(.exitcall.exit)
86 }
87
88 /* Stabs debugging sections. */
89 .stab 0 : { *(.stab) }
90 .stabstr 0 : { *(.stabstr) }
91 .stab.excl 0 : { *(.stab.excl) }
92 .stab.exclstr 0 : { *(.stab.exclstr) }
93 .stab.index 0 : { *(.stab.index) }
94 .stab.indexstr 0 : { *(.stab.indexstr) }
95 .comment 0 : { *(.comment) }
96}