xref: /linux/arch/m68k/kernel/vmlinux-std.lds (revision de2fe5e07d58424bc286fff3fd3c1b0bf933cd58)
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	*(.initcall1.init)
58	*(.initcall2.init)
59	*(.initcall3.init)
60	*(.initcall4.init)
61	*(.initcall5.init)
62	*(.initcall6.init)
63	*(.initcall7.init)
64  }
65  __initcall_end = .;
66  __con_initcall_start = .;
67  .con_initcall.init : { *(.con_initcall.init) }
68  __con_initcall_end = .;
69  SECURITY_INIT
70  . = ALIGN(8192);
71  __initramfs_start = .;
72  .init.ramfs : { *(.init.ramfs) }
73  __initramfs_end = .;
74  . = ALIGN(8192);
75  __init_end = .;
76
77  .data.init_task : { *(.data.init_task) }	/* The initial task and kernel stack */
78
79  _end = . ;
80
81  /* Sections to be discarded */
82  /DISCARD/ : {
83	*(.exit.text)
84	*(.exit.data)
85	*(.exitcall.exit)
86	}
87
88  /* Stabs debugging sections.  */
89  .stab 0 : { *(.stab) }
90  .stabstr 0 : { *(.stabstr) }
91  .stab.excl 0 : { *(.stab.excl) }
92  .stab.exclstr 0 : { *(.stab.exclstr) }
93  .stab.index 0 : { *(.stab.index) }
94  .stab.indexstr 0 : { *(.stab.indexstr) }
95  .comment 0 : { *(.comment) }
96}
97