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