xref: /linux/arch/m68k/kernel/vmlinux-std.lds (revision c537b994505099b7197e7d3125b942ecbcc51eb6)
1/* 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
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)
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  SECURITY_INIT
64#ifdef CONFIG_BLK_DEV_INITRD
65  . = ALIGN(8192);
66  __initramfs_start = .;
67  .init.ramfs : { *(.init.ramfs) }
68  __initramfs_end = .;
69#endif
70  . = 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}
93