xref: /linux/arch/m68k/kernel/vmlinux-std.lds (revision a17627ef8833ac30622a7b39b7be390e1b174405)
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_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_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  .m68k_fixup : {
64	__start_fixup = .;
65	*(.m68k_fixup)
66	__stop_fixup = .;
67  }
68  SECURITY_INIT
69#ifdef CONFIG_BLK_DEV_INITRD
70  . = ALIGN(8192);
71  __initramfs_start = .;
72  .init.ramfs : { *(.init.ramfs) }
73  __initramfs_end = .;
74#endif
75  . = ALIGN(8192);
76  __init_end = .;
77
78  .data.init_task : { *(.data.init_task) }	/* The initial task and kernel stack */
79
80  _end = . ;
81
82  /* Sections to be discarded */
83  /DISCARD/ : {
84	*(.exit.text)
85	*(.exit.data)
86	*(.exitcall.exit)
87	}
88
89  /* Stabs debugging sections.  */
90  .stab 0 : { *(.stab) }
91  .stabstr 0 : { *(.stabstr) }
92  .stab.excl 0 : { *(.stab.excl) }
93  .stab.exclstr 0 : { *(.stab.exclstr) }
94  .stab.index 0 : { *(.stab.index) }
95  .stab.indexstr 0 : { *(.stab.indexstr) }
96  .comment 0 : { *(.comment) }
97}
98