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