xref: /netbsd-src/sys/arch/i386/conf/kern.ldscript (revision c34236556bea94afcaca1782d7d228301edc3ea0)
1/*	$NetBSD: kern.ldscript,v 1.19 2016/05/14 08:19:42 maxv Exp $	*/
2
3#include "assym.h"
4
5__PAGE_SIZE = 0x1000 ;
6
7ENTRY(_start)
8SECTIONS
9{
10	.text :
11	{
12		*(.text)
13		*(.text.*)
14		*(.stub)
15	}
16	_etext = . ;
17	PROVIDE (etext = .) ;
18
19	. = ALIGN(__PAGE_SIZE);
20
21	__rodata_start = . ;
22	.rodata :
23	{
24		*(.rodata)
25		*(.rodata.*)
26	}
27
28	. = ALIGN(__PAGE_SIZE);
29
30	__data_start = . ;
31	.data :
32	{
33		*(.data)
34	}
35
36	. = ALIGN(COHERENCY_UNIT);
37	.data.cacheline_aligned :
38	{
39		*(.data.cacheline_aligned)
40	}
41	. = ALIGN(COHERENCY_UNIT);
42	.data.read_mostly :
43	{
44		*(.data.read_mostly)
45	}
46	. = ALIGN(COHERENCY_UNIT);
47
48	_edata = . ;
49	PROVIDE (edata = .) ;
50	__bss_start = . ;
51	.bss :
52	{
53		*(.bss)
54		*(.bss.*)
55		*(COMMON)
56		. = ALIGN(32 / 8);
57	}
58
59	. = ALIGN(__PAGE_SIZE);
60
61	/* End of the kernel image */
62	__kernel_end = . ;
63
64	_end = . ;
65	PROVIDE (end = .) ;
66	.note.netbsd.ident :
67	{
68		KEEP(*(.note.netbsd.ident));
69	}
70}
71
72SECTIONS
73{
74	.text :
75	AT (ADDR(.text) & 0x0fffffff)
76	{
77		*(.text)
78	} = 0
79}
80