Home | History | Annotate | Line # | Download | only in conf
kern.ldscript revision 1.18
      1  1.18      maxv /*	$NetBSD: kern.ldscript,v 1.18 2016/05/13 10:18:01 maxv 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.17      maxv 	/*
     20  1.17      maxv 	 * Adjust the address for the rodata segment.  We want to adjust up to
     21  1.17      maxv 	 * the same address within the page on the next page up.
     22  1.17      maxv 	 */
     23  1.17      maxv 	. = ALIGN(0x1000) + (. & (0x1000 - 1));
     24  1.17      maxv 
     25  1.17      maxv 	__rodata_start = . ;
     26  1.16      maxv 	.rodata :
     27  1.16      maxv 	{
     28  1.16      maxv 		*(.rodata)
     29  1.16      maxv 		*(.rodata.*)
     30  1.16      maxv 	}
     31  1.16      maxv 
     32  1.16      maxv 	__data_start = . ;
     33  1.16      maxv 	.data :
     34  1.16      maxv 	{
     35  1.16      maxv 		*(.data)
     36  1.16      maxv 	}
     37  1.16      maxv 
     38  1.16      maxv 	. = ALIGN(COHERENCY_UNIT);
     39  1.16      maxv 	.data.cacheline_aligned :
     40  1.16      maxv 	{
     41  1.16      maxv 		*(.data.cacheline_aligned)
     42  1.16      maxv 	}
     43  1.16      maxv 	. = ALIGN(COHERENCY_UNIT);
     44  1.16      maxv 	.data.read_mostly :
     45  1.16      maxv 	{
     46  1.16      maxv 		*(.data.read_mostly)
     47  1.16      maxv 	}
     48  1.16      maxv 	. = ALIGN(COHERENCY_UNIT);
     49  1.18      maxv 
     50  1.16      maxv 	_edata = . ;
     51  1.16      maxv 	PROVIDE (edata = .) ;
     52  1.16      maxv 	__bss_start = . ;
     53  1.16      maxv 	.bss :
     54  1.16      maxv 	{
     55  1.16      maxv 		*(.bss)
     56  1.16      maxv 		*(.bss.*)
     57  1.16      maxv 		*(COMMON)
     58  1.16      maxv 	. = ALIGN(32 / 8);
     59  1.16      maxv 	}
     60  1.18      maxv 
     61  1.18      maxv 	. = ALIGN(__PAGE_SIZE);
     62  1.18      maxv 
     63  1.18      maxv 	/* End of the kernel image */
     64  1.18      maxv 	__kernel_end = . ;
     65  1.18      maxv 
     66  1.16      maxv 	_end = . ;
     67  1.16      maxv 	PROVIDE (end = .) ;
     68  1.16      maxv 	.note.netbsd.ident :
     69  1.16      maxv 	{
     70  1.16      maxv 		KEEP(*(.note.netbsd.ident));
     71  1.16      maxv 	}
     72   1.1   thorpej }
     73  1.16      maxv 
     74  1.13  uebayasi SECTIONS
     75  1.13  uebayasi {
     76  1.16      maxv 	.text :
     77  1.16      maxv 	AT (ADDR(.text) & 0x0fffffff)
     78  1.16      maxv 	{
     79  1.16      maxv 		*(.text)
     80  1.16      maxv 	} = 0
     81  1.13  uebayasi }
     82