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