kern.ldscript.kaslr revision 1.2
11.2Smaxv/*	$NetBSD: kern.ldscript.kaslr,v 1.2 2017/11/13 20:01:48 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.1Smaxv	.rodata :
191.1Smaxv	{
201.1Smaxv		*(.rodata)
211.1Smaxv		*(.rodata.*)
221.1Smaxv	}
231.1Smaxv
241.1Smaxv	__data_start = . ;
251.1Smaxv	.data :
261.1Smaxv	{
271.1Smaxv		*(.data)
281.1Smaxv	}
291.1Smaxv
301.2Smaxv	.data.cacheline_aligned : SUBALIGN(COHERENCY_UNIT)
311.1Smaxv	{
321.1Smaxv		*(.data.cacheline_aligned)
331.2Smaxv		. = ALIGN(COHERENCY_UNIT);
341.1Smaxv	}
351.2Smaxv	.data.read_mostly : SUBALIGN(COHERENCY_UNIT)
361.1Smaxv	{
371.1Smaxv		*(.data.read_mostly)
381.2Smaxv		. = ALIGN(COHERENCY_UNIT);
391.1Smaxv	}
401.1Smaxv
411.1Smaxv	_edata = . ;
421.1Smaxv	PROVIDE (edata = .) ;
431.1Smaxv	__bss_start = . ;
441.1Smaxv	.bss :
451.1Smaxv	{
461.1Smaxv		*(.bss)
471.1Smaxv		*(.bss.*)
481.1Smaxv		*(COMMON)
491.1Smaxv	}
501.1Smaxv
511.1Smaxv	/* End of the kernel image */
521.1Smaxv	__kernel_end = . ;
531.1Smaxv
541.1Smaxv	_end = . ;
551.1Smaxv	PROVIDE (end = .) ;
561.1Smaxv	.note.netbsd.ident :
571.1Smaxv	{
581.1Smaxv		KEEP(*(.note.netbsd.ident));
591.1Smaxv	}
601.1Smaxv}
61