xref: /openbmc/linux/arch/sparc/kernel/vmlinux.lds.S (revision c0515566f3117c44b0572559bcc3cb00899b0910)
1/* ld script to make SparcLinux kernel */
2
3#include <asm-generic/vmlinux.lds.h>
4#include <asm/page.h>
5
6OUTPUT_FORMAT("elf32-sparc", "elf32-sparc", "elf32-sparc")
7OUTPUT_ARCH(sparc)
8ENTRY(_start)
9jiffies = jiffies_64 + 4;
10SECTIONS
11{
12	. = 0x10000 + SIZEOF_HEADERS;
13	.text 0xf0004000 :
14	{
15		_text = .;
16		*(.text.head)
17		TEXT_TEXT
18		SCHED_TEXT
19		LOCK_TEXT
20		*(.gnu.warning)
21	} = 0
22	_etext = .;
23	PROVIDE (etext = .);
24	RODATA
25	.data :	{
26		DATA_DATA
27		CONSTRUCTORS
28	}
29	.data1 : {
30		*(.data1)
31	}
32	_edata = .;
33	PROVIDE (edata = .);
34
35	.fixup : {
36		__start___fixup = .;
37		*(.fixup)
38		__stop___fixup = .;
39	}
40	__ex_table : {
41		__start___ex_table = .;
42		*(__ex_table)
43		__stop___ex_table = .;
44	}
45
46	NOTES
47
48	. = ALIGN(PAGE_SIZE);
49	__init_begin = .;
50	.init.text : {
51		_sinittext = .;
52		INIT_TEXT
53		_einittext = .;
54	}
55	__init_text_end = .;
56	.init.data : {
57		INIT_DATA
58	}
59	. = ALIGN(16);
60	.init.setup : {
61		__setup_start = .;
62		*(.init.setup)
63		__setup_end = .;
64	}
65	.initcall.init : {
66		__initcall_start = .;
67		INITCALLS
68	__initcall_end = .;
69	}
70	.con_initcall.init : {
71		__con_initcall_start = .;
72		*(.con_initcall.init)
73		__con_initcall_end = .;
74	}
75	SECURITY_INIT
76
77#ifdef CONFIG_BLK_DEV_INITRD
78	. = ALIGN(PAGE_SIZE);
79	.init.ramfs : {
80	__initramfs_start = .;
81		*(.init.ramfs)
82	__initramfs_end = .;
83	}
84#endif
85
86	PERCPU(PAGE_SIZE)
87	. = ALIGN(PAGE_SIZE);
88	__init_end = .;
89	. = ALIGN(32);
90	.data.cacheline_aligned : {
91		*(.data.cacheline_aligned)
92	}
93	. = ALIGN(32);
94	.data.read_mostly : {
95		*(.data.read_mostly)
96	}
97
98	__bss_start = .;
99	.sbss : {
100		*(.sbss)
101		*(.scommon) }
102	.bss : {
103		*(.dynbss)
104		*(.bss)
105		*(COMMON)
106	}
107	_end = . ;
108	PROVIDE (end = .);
109	/DISCARD/ : {
110		EXIT_TEXT
111		EXIT_DATA
112		*(.exitcall.exit)
113	}
114
115	STABS_DEBUG
116	DWARF_DEBUG
117}
118