Home | History | Annotate | Line # | Download | only in conf
kern.ldscript revision 1.17
      1  1.17      maxv /*	$NetBSD: kern.ldscript,v 1.17 2016/05/12 06:45:16 maxv Exp $	*/
      2   1.1   thorpej 
      3  1.15  uebayasi #include "assym.h"
      4  1.15  uebayasi 
      5   1.1   thorpej ENTRY(_start)
      6   1.1   thorpej SECTIONS
      7   1.1   thorpej {
      8  1.16      maxv 	/* Read-only sections, merged into text segment: */
      9  1.16      maxv 	.text :
     10  1.16      maxv 	{
     11  1.16      maxv 		*(.text)
     12  1.16      maxv 		*(.text.*)
     13  1.16      maxv 		*(.stub)
     14  1.16      maxv 	}
     15  1.16      maxv 	_etext = . ;
     16  1.16      maxv 	PROVIDE (etext = .) ;
     17  1.16      maxv 
     18  1.17      maxv 	/*
     19  1.17      maxv 	 * Adjust the address for the rodata segment.  We want to adjust up to
     20  1.17      maxv 	 * the same address within the page on the next page up.
     21  1.17      maxv 	 */
     22  1.17      maxv 	. = ALIGN(0x1000) + (. & (0x1000 - 1));
     23  1.17      maxv 
     24  1.17      maxv 	__rodata_start = . ;
     25  1.16      maxv 	.rodata :
     26  1.16      maxv 	{
     27  1.16      maxv 		*(.rodata)
     28  1.16      maxv 		*(.rodata.*)
     29  1.16      maxv 	}
     30  1.16      maxv 
     31  1.16      maxv 	__data_start = . ;
     32  1.16      maxv 	.data :
     33  1.16      maxv 	{
     34  1.16      maxv 		*(.data)
     35  1.16      maxv 	}
     36  1.16      maxv 
     37  1.16      maxv 	. = ALIGN(COHERENCY_UNIT);
     38  1.16      maxv 	.data.cacheline_aligned :
     39  1.16      maxv 	{
     40  1.16      maxv 		*(.data.cacheline_aligned)
     41  1.16      maxv 	}
     42  1.16      maxv 	. = ALIGN(COHERENCY_UNIT);
     43  1.16      maxv 	.data.read_mostly :
     44  1.16      maxv 	{
     45  1.16      maxv 		*(.data.read_mostly)
     46  1.16      maxv 	}
     47  1.16      maxv 	. = ALIGN(COHERENCY_UNIT);
     48  1.16      maxv 	_edata = . ;
     49  1.16      maxv 	PROVIDE (edata = .) ;
     50  1.16      maxv 	__bss_start = . ;
     51  1.16      maxv 	.bss :
     52  1.16      maxv 	{
     53  1.16      maxv 		*(.bss)
     54  1.16      maxv 		*(.bss.*)
     55  1.16      maxv 		*(COMMON)
     56  1.16      maxv 	. = ALIGN(32 / 8);
     57  1.16      maxv 	}
     58  1.16      maxv 	. = ALIGN(32 / 8);
     59  1.16      maxv 	_end = . ;
     60  1.16      maxv 	PROVIDE (end = .) ;
     61  1.16      maxv 	.note.netbsd.ident :
     62  1.16      maxv 	{
     63  1.16      maxv 		KEEP(*(.note.netbsd.ident));
     64  1.16      maxv 	}
     65   1.1   thorpej }
     66  1.16      maxv 
     67  1.13  uebayasi SECTIONS
     68  1.13  uebayasi {
     69  1.16      maxv 	.text :
     70  1.16      maxv 	AT (ADDR(.text) & 0x0fffffff)
     71  1.16      maxv 	{
     72  1.16      maxv 		*(.text)
     73  1.16      maxv 	} = 0
     74  1.13  uebayasi }
     75