blob: 78f139226a1ba1dee2fce98e7c1e7a7ee2e3af3c [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 : {
Sam Ravnborg76647092007-05-13 00:31:33 +020014 TEXT_TEXT
Linus Torvalds1da177e2005-04-16 15:20:36 -070015 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 */
Sam Ravnborgca967252007-05-17 13:38:44 +020031 DATA_DATA
Linus Torvalds1da177e2005-04-16 15:20:36 -070032 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
Jean-Paul Saman67d38222007-02-10 01:44:44 -080064#ifdef CONFIG_BLK_DEV_INITRD
Linus Torvalds1da177e2005-04-16 15:20:36 -070065 . = ALIGN(8192);
66 __initramfs_start = .;
67 .init.ramfs : { *(.init.ramfs) }
68 __initramfs_end = .;
Jean-Paul Saman67d38222007-02-10 01:44:44 -080069#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070070 . = ALIGN(8192);
71 __init_end = .;
72
73 .data.init_task : { *(.data.init_task) } /* The initial task and kernel stack */
74
75 _end = . ;
76
77 /* Sections to be discarded */
78 /DISCARD/ : {
79 *(.exit.text)
80 *(.exit.data)
81 *(.exitcall.exit)
82 }
83
84 /* Stabs debugging sections. */
85 .stab 0 : { *(.stab) }
86 .stabstr 0 : { *(.stabstr) }
87 .stab.excl 0 : { *(.stab.excl) }
88 .stab.exclstr 0 : { *(.stab.exclstr) }
89 .stab.index 0 : { *(.stab.index) }
90 .stab.indexstr 0 : { *(.stab.indexstr) }
91 .comment 0 : { *(.comment) }
92}