xref: /openbmc/linux/arch/m68k/kernel/vmlinux-std.lds (revision 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2)
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	*(.fixup)
17	*(.gnu.warning)
18	} :text = 0x4e75
19
20  . = ALIGN(16);		/* Exception table */
21  __start___ex_table = .;
22  __ex_table : { *(__ex_table) }
23  __stop___ex_table = .;
24
25  RODATA
26
27  _etext = .;			/* End of text section */
28
29  .data : {			/* Data */
30	*(.data)
31	CONSTRUCTORS
32	}
33
34  .bss : { *(.bss) }		/* BSS */
35
36  . = ALIGN(16);
37  .data.cacheline_aligned : { *(.data.cacheline_aligned) } :data
38
39  _edata = .;			/* End of data section */
40
41  /* will be freed after init */
42  . = ALIGN(4096);		/* Init code and data */
43  __init_begin = .;
44  .init.text : {
45	_sinittext = .;
46	*(.init.text)
47	_einittext = .;
48  }
49  .init.data : { *(.init.data) }
50  . = ALIGN(16);
51  __setup_start = .;
52  .init.setup : { *(.init.setup) }
53  __setup_end = .;
54  __initcall_start = .;
55  .initcall.init : {
56	*(.initcall1.init)
57	*(.initcall2.init)
58	*(.initcall3.init)
59	*(.initcall4.init)
60	*(.initcall5.init)
61	*(.initcall6.init)
62	*(.initcall7.init)
63  }
64  __initcall_end = .;
65  __con_initcall_start = .;
66  .con_initcall.init : { *(.con_initcall.init) }
67  __con_initcall_end = .;
68  SECURITY_INIT
69  . = ALIGN(8192);
70  __initramfs_start = .;
71  .init.ramfs : { *(.init.ramfs) }
72  __initramfs_end = .;
73  . = ALIGN(8192);
74  __init_end = .;
75
76  .data.init_task : { *(.data.init_task) }	/* The initial task and kernel stack */
77
78  _end = . ;
79
80  /* Sections to be discarded */
81  /DISCARD/ : {
82	*(.exit.text)
83	*(.exit.data)
84	*(.exitcall.exit)
85	}
86
87  /* Stabs debugging sections.  */
88  .stab 0 : { *(.stab) }
89  .stabstr 0 : { *(.stabstr) }
90  .stab.excl 0 : { *(.stab.excl) }
91  .stab.exclstr 0 : { *(.stab.exclstr) }
92  .stab.index 0 : { *(.stab.index) }
93  .stab.indexstr 0 : { *(.stab.indexstr) }
94  .comment 0 : { *(.comment) }
95}
96