Home | History | Annotate | Line # | Download | only in conf
kern.ldscript revision 1.19.10.1
      1  1.19.10.1    martin /*	$NetBSD: kern.ldscript,v 1.19.10.1 2018/03/06 10:17:12 martin Exp $	*/
      2        1.1   thorpej 
      3       1.15  uebayasi #include "assym.h"
      4       1.15  uebayasi 
      5       1.18      maxv __PAGE_SIZE = 0x1000 ;
      6       1.18      maxv 
      7        1.1   thorpej ENTRY(_start)
      8        1.1   thorpej SECTIONS
      9        1.1   thorpej {
     10       1.16      maxv 	.text :
     11       1.16      maxv 	{
     12       1.16      maxv 		*(.text)
     13       1.16      maxv 		*(.text.*)
     14       1.16      maxv 		*(.stub)
     15       1.16      maxv 	}
     16       1.16      maxv 	_etext = . ;
     17       1.16      maxv 	PROVIDE (etext = .) ;
     18       1.16      maxv 
     19       1.19      maxv 	. = ALIGN(__PAGE_SIZE);
     20       1.17      maxv 
     21       1.17      maxv 	__rodata_start = . ;
     22  1.19.10.1    martin 
     23  1.19.10.1    martin 	.rodata.hotpatch :
     24  1.19.10.1    martin 	{
     25  1.19.10.1    martin 		__rodata_hotpatch_start = . ;
     26  1.19.10.1    martin 		*(.rodata.hotpatch)
     27  1.19.10.1    martin 		__rodata_hotpatch_end = . ;
     28  1.19.10.1    martin 	}
     29  1.19.10.1    martin 
     30       1.16      maxv 	.rodata :
     31       1.16      maxv 	{
     32       1.16      maxv 		*(.rodata)
     33       1.16      maxv 		*(.rodata.*)
     34       1.16      maxv 	}
     35       1.16      maxv 
     36       1.19      maxv 	. = ALIGN(__PAGE_SIZE);
     37       1.19      maxv 
     38       1.16      maxv 	__data_start = . ;
     39       1.16      maxv 	.data :
     40       1.16      maxv 	{
     41       1.16      maxv 		*(.data)
     42       1.16      maxv 	}
     43       1.16      maxv 
     44       1.16      maxv 	. = ALIGN(COHERENCY_UNIT);
     45       1.16      maxv 	.data.cacheline_aligned :
     46       1.16      maxv 	{
     47       1.16      maxv 		*(.data.cacheline_aligned)
     48       1.16      maxv 	}
     49       1.16      maxv 	. = ALIGN(COHERENCY_UNIT);
     50       1.16      maxv 	.data.read_mostly :
     51       1.16      maxv 	{
     52       1.16      maxv 		*(.data.read_mostly)
     53       1.16      maxv 	}
     54       1.16      maxv 	. = ALIGN(COHERENCY_UNIT);
     55       1.18      maxv 
     56       1.16      maxv 	_edata = . ;
     57       1.16      maxv 	PROVIDE (edata = .) ;
     58       1.16      maxv 	__bss_start = . ;
     59       1.16      maxv 	.bss :
     60       1.16      maxv 	{
     61       1.16      maxv 		*(.bss)
     62       1.16      maxv 		*(.bss.*)
     63       1.16      maxv 		*(COMMON)
     64       1.19      maxv 		. = ALIGN(32 / 8);
     65       1.16      maxv 	}
     66       1.18      maxv 
     67       1.18      maxv 	. = ALIGN(__PAGE_SIZE);
     68       1.18      maxv 
     69       1.18      maxv 	/* End of the kernel image */
     70       1.18      maxv 	__kernel_end = . ;
     71       1.18      maxv 
     72       1.16      maxv 	_end = . ;
     73       1.16      maxv 	PROVIDE (end = .) ;
     74       1.16      maxv 	.note.netbsd.ident :
     75       1.16      maxv 	{
     76       1.16      maxv 		KEEP(*(.note.netbsd.ident));
     77       1.16      maxv 	}
     78        1.1   thorpej }
     79       1.16      maxv 
     80       1.13  uebayasi SECTIONS
     81       1.13  uebayasi {
     82       1.16      maxv 	.text :
     83       1.16      maxv 	AT (ADDR(.text) & 0x0fffffff)
     84       1.16      maxv 	{
     85       1.16      maxv 		*(.text)
     86       1.16      maxv 	} = 0
     87       1.13  uebayasi }
     88