xref: /linux/arch/m68k/kernel/vmlinux-std.lds (revision bcefe12eff5dca6fdfa94ed85e5bee66380d5cd9)
1/* ld script to make m68k Linux kernel */
2
3#include <asm-generic/vmlinux.lds.h>
4#include <asm/page.h>
5
6OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
7OUTPUT_ARCH(m68k)
8ENTRY(_start)
9jiffies = jiffies_64 + 4;
10SECTIONS
11{
12  . = 0x1000;
13  _text = .;			/* Text and read-only data */
14  .text : {
15	HEAD_TEXT
16	TEXT_TEXT
17	SCHED_TEXT
18	LOCK_TEXT
19	*(.fixup)
20	*(.gnu.warning)
21	} :text = 0x4e75
22
23  _etext = .;			/* End of text section */
24
25  . = ALIGN(16);		/* Exception table */
26  __start___ex_table = .;
27  __ex_table : { *(__ex_table) }
28  __stop___ex_table = .;
29
30  RODATA
31
32  .data : {			/* Data */
33	DATA_DATA
34	CONSTRUCTORS
35	}
36
37  . = ALIGN(16);
38  .data.cacheline_aligned : { *(.data.cacheline_aligned) }
39
40  .bss : { *(.bss) }		/* BSS */
41
42  _edata = .;			/* End of data section */
43
44  /* will be freed after init */
45  . = ALIGN(PAGE_SIZE);		/* Init code and data */
46  __init_begin = .;
47  .init.text : {
48	_sinittext = .;
49	INIT_TEXT
50	_einittext = .;
51  } :data
52  .init.data : { INIT_DATA }
53  . = ALIGN(16);
54  __setup_start = .;
55  .init.setup : { *(.init.setup) }
56  __setup_end = .;
57  __initcall_start = .;
58  .initcall.init : {
59	INITCALLS
60  }
61  __initcall_end = .;
62  __con_initcall_start = .;
63  .con_initcall.init : { *(.con_initcall.init) }
64  __con_initcall_end = .;
65  .m68k_fixup : {
66	__start_fixup = .;
67	*(.m68k_fixup)
68	__stop_fixup = .;
69  }
70  SECURITY_INIT
71#ifdef CONFIG_BLK_DEV_INITRD
72  . = ALIGN(8192);
73  __initramfs_start = .;
74  .init.ramfs : { *(.init.ramfs) }
75  __initramfs_end = .;
76#endif
77  NOTES
78  . = ALIGN(8192);
79  __init_end = .;
80
81  .data.init_task : { *(.data.init_task) }	/* The initial task and kernel stack */
82
83  _end = . ;
84
85  /* Stabs debugging sections.  */
86  .stab 0 : { *(.stab) }
87  .stabstr 0 : { *(.stabstr) }
88  .stab.excl 0 : { *(.stab.excl) }
89  .stab.exclstr 0 : { *(.stab.exclstr) }
90  .stab.index 0 : { *(.stab.index) }
91  .stab.indexstr 0 : { *(.stab.indexstr) }
92  .comment 0 : { *(.comment) }
93
94  /* Sections to be discarded */
95  DISCARDS
96}
97