kern.ldscript.kaslr revision 1.4
11.4Smaxv/*	$NetBSD: kern.ldscript.kaslr,v 1.4 2018/01/07 12:42:46 maxv Exp $	*/
21.1Smaxv
31.1Smaxv#include "assym.h"
41.1Smaxv
51.1SmaxvENTRY(_start)
61.1SmaxvSECTIONS
71.1Smaxv{
81.1Smaxv	.text :
91.1Smaxv	{
101.1Smaxv		*(.text)
111.1Smaxv		*(.text.*)
121.1Smaxv		*(.stub)
131.1Smaxv	} =0xCC
141.1Smaxv	_etext = . ;
151.1Smaxv	PROVIDE (etext = .) ;
161.1Smaxv
171.1Smaxv	__rodata_start = . ;
181.4Smaxv
191.4Smaxv	.rodata.hotpatch :
201.4Smaxv	{
211.4Smaxv		__rodata_hotpatch_start = . ;
221.4Smaxv		*(.rodata.hotpatch)
231.4Smaxv		__rodata_hotpatch_end = . ;
241.4Smaxv	}
251.4Smaxv
261.1Smaxv	.rodata :
271.1Smaxv	{
281.1Smaxv		*(.rodata)
291.1Smaxv		*(.rodata.*)
301.1Smaxv	}
311.1Smaxv
321.1Smaxv	__data_start = . ;
331.1Smaxv	.data :
341.1Smaxv	{
351.1Smaxv		*(.data)
361.1Smaxv	}
371.1Smaxv
381.2Smaxv	.data.cacheline_aligned : SUBALIGN(COHERENCY_UNIT)
391.1Smaxv	{
401.1Smaxv		*(.data.cacheline_aligned)
411.2Smaxv		. = ALIGN(COHERENCY_UNIT);
421.1Smaxv	}
431.2Smaxv	.data.read_mostly : SUBALIGN(COHERENCY_UNIT)
441.1Smaxv	{
451.1Smaxv		*(.data.read_mostly)
461.2Smaxv		. = ALIGN(COHERENCY_UNIT);
471.1Smaxv	}
481.1Smaxv
491.1Smaxv	_edata = . ;
501.1Smaxv	PROVIDE (edata = .) ;
511.1Smaxv	__bss_start = . ;
521.1Smaxv	.bss :
531.1Smaxv	{
541.1Smaxv		*(.bss)
551.1Smaxv		*(.bss.*)
561.1Smaxv		*(COMMON)
571.1Smaxv	}
581.1Smaxv
591.1Smaxv	/* End of the kernel image */
601.1Smaxv	__kernel_end = . ;
611.1Smaxv
621.1Smaxv	_end = . ;
631.1Smaxv	PROVIDE (end = .) ;
641.1Smaxv	.note.netbsd.ident :
651.1Smaxv	{
661.1Smaxv		KEEP(*(.note.netbsd.ident));
671.1Smaxv	}
681.3Smaxv
691.3Smaxv	/DISCARD/ :
701.3Smaxv	{
711.3Smaxv		*(.SUNW_ctf)
721.3Smaxv		*(.SUNW_ctf.*)
731.3Smaxv	}
741.1Smaxv}
75