138fed211SWarner Losh/* $FreeBSD$ */
238fed211SWarner Losh
338fed211SWarner LoshENTRY(_start)
438fed211SWarner Losh
538fed211SWarner LoshPHDRS {
638fed211SWarner Losh	text PT_LOAD FLAGS(0x7);
738fed211SWarner Losh}
838fed211SWarner Losh
938fed211SWarner LoshSECTIONS {
1038fed211SWarner Losh	. = KERNLOADADDR + SIZEOF_HEADERS;
1138fed211SWarner Losh
1238fed211SWarner Losh	.text : {
1338fed211SWarner Losh		*(.text)
1438fed211SWarner Losh		etext = .;
1538fed211SWarner Losh		_etext = .;
1638fed211SWarner Losh		. = ALIGN(0x2000);
1738fed211SWarner Losh	} : text
1838fed211SWarner Losh
1938fed211SWarner Losh	. = ALIGN(0x2000);
2038fed211SWarner Losh	.rodata : {
2138fed211SWarner Losh		_fdata = .;
2238fed211SWarner Losh	    	*(.rodata)
2338fed211SWarner Losh		. = ALIGN(32);
2438fed211SWarner Losh	}
2574cd06b4SEd Maste
2674cd06b4SEd Maste	.note.gnu.build-id : {
2774cd06b4SEd Maste		PROVIDE (__build_id_start = .);
2874cd06b4SEd Maste		*(.note.gnu.build-id)
2974cd06b4SEd Maste		PROVIDE (__build_id_end = .);
3074cd06b4SEd Maste	}
3138fed211SWarner Losh
3238fed211SWarner Losh	.data : {
3338fed211SWarner Losh                _rwdata = .;
3438fed211SWarner Losh	    	*(.data)
3538fed211SWarner Losh		. = ALIGN(32);
3638fed211SWarner Losh	}
37*0823672dSAlex Richardson	.plt : { *(.plt) }
38*0823672dSAlex Richardson	_gp = ALIGN(16) + 0x7ff0;
39*0823672dSAlex Richardson	.got : { *(.got.plt) *(.got) }
40*0823672dSAlex Richardson	.dynamic : { *(.dynamic) }
4138fed211SWarner Losh
4238fed211SWarner Losh	.sdata : {
4338fed211SWarner Losh                _small_start = .;
4438fed211SWarner Losh		*(.sdata)
4538fed211SWarner Losh		. = ALIGN(32);
4638fed211SWarner Losh		edata = .;
4738fed211SWarner Losh		_edata = .;
4838fed211SWarner Losh	} : text
4938fed211SWarner Losh
5038fed211SWarner Losh	.sbss : {
5138fed211SWarner Losh		__bss_start = .;
5238fed211SWarner Losh		_fbss = .;
5338fed211SWarner Losh		*(.sbss) *(.scommon)
5438fed211SWarner Losh                _small_end = .;
5538fed211SWarner Losh		. = ALIGN(32);
5638fed211SWarner Losh	}
5738fed211SWarner Losh
5838fed211SWarner Losh	.bss : {
5938fed211SWarner Losh		*(.bss)
6038fed211SWarner Losh		*(COMMON)
6138fed211SWarner Losh		. = ALIGN(32);
6238fed211SWarner Losh		_end = .;
6338fed211SWarner Losh		end = .;
6438fed211SWarner Losh	}
6538fed211SWarner Losh
6638fed211SWarner Losh}
67