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