xref: /netbsd-src/sys/arch/amd64/stand/prekern/prekern.ldscript (revision e1fecdba030cb937a154094305ce0f1833f642ec)
1*e1fecdbaSmaxv/*	$NetBSD: prekern.ldscript,v 1.2 2017/10/11 16:13:16 maxv Exp $	*/
2c9759921Smaxv
3c9759921Smaxv__PAGE_SIZE = 0x1000 ;
4c9759921Smaxv
5c9759921SmaxvENTRY(start)
6c9759921SmaxvSECTIONS
7c9759921Smaxv{
8c9759921Smaxv	.text : AT (ADDR(.text) & 0x0fffffff)
9c9759921Smaxv	{
10c9759921Smaxv		*(.text)
11c9759921Smaxv		*(.text.*)
12c9759921Smaxv		*(.stub)
13*e1fecdbaSmaxv		. = ALIGN(__PAGE_SIZE);
14c9759921Smaxv	} =0xCC
15c9759921Smaxv	_etext = . ;
16c9759921Smaxv	PROVIDE (etext = .) ;
17c9759921Smaxv
18c9759921Smaxv	. = ALIGN(__PAGE_SIZE);
19c9759921Smaxv
20c9759921Smaxv	__rodata_start = . ;
21c9759921Smaxv	.rodata :
22c9759921Smaxv	{
23c9759921Smaxv		*(.rodata)
24c9759921Smaxv		*(.rodata.*)
25c9759921Smaxv	}
26c9759921Smaxv
27c9759921Smaxv	. = ALIGN(__PAGE_SIZE);
28c9759921Smaxv
29c9759921Smaxv	__data_start = . ;
30c9759921Smaxv	.data :
31c9759921Smaxv	{
32c9759921Smaxv		*(.data)
33c9759921Smaxv	}
34c9759921Smaxv
35c9759921Smaxv	__bss_start = . ;
36c9759921Smaxv	.bss :
37c9759921Smaxv	{
38c9759921Smaxv		*(.bss)
39c9759921Smaxv		*(.bss.*)
40c9759921Smaxv		*(COMMON)
41c9759921Smaxv	}
42c9759921Smaxv
43c9759921Smaxv	. = ALIGN(__PAGE_SIZE);
44c9759921Smaxv
45c9759921Smaxv	/* End of the prekern image */
46c9759921Smaxv	__prekern_end = . ;
47c9759921Smaxv
48c9759921Smaxv	_end = . ;
49c9759921Smaxv	PROVIDE (end = .) ;
50c9759921Smaxv	.note.netbsd.ident :
51c9759921Smaxv	{
52c9759921Smaxv		KEEP(*(.note.netbsd.ident));
53c9759921Smaxv	}
54c9759921Smaxv}
55c9759921Smaxv
56