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