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