1/* $NetBSD: kern.ldscript,v 1.22 2018/06/24 18:24:53 maxv Exp $ */ 2 3#include "assym.h" 4 5__PAGE_SIZE = 0x1000 ; 6 7ENTRY(_start) 8SECTIONS 9{ 10 .text : AT (ADDR(.text) & 0x0fffffff) 11 { 12 *(.text) 13 *(.text.*) 14 *(.stub) 15 . = ALIGN(__PAGE_SIZE); 16 } =0xCC 17 _etext = . ; 18 PROVIDE (etext = .) ; 19 20 . = ALIGN(__PAGE_SIZE); 21 22 __rodata_start = . ; 23 24 .rodata.hotpatch : 25 { 26 __rodata_hotpatch_start = . ; 27 *(.rodata.hotpatch) 28 __rodata_hotpatch_end = . ; 29 } 30 31 .rodata : 32 { 33 *(.rodata) 34 *(.rodata.*) 35 } 36 37 . = ALIGN(__PAGE_SIZE); 38 39 __data_start = . ; 40 .data : 41 { 42 *(.data) 43 } 44 45 . = ALIGN(COHERENCY_UNIT); 46 .data.cacheline_aligned : 47 { 48 *(.data.cacheline_aligned) 49 } 50 . = ALIGN(COHERENCY_UNIT); 51 .data.read_mostly : 52 { 53 *(.data.read_mostly) 54 } 55 . = ALIGN(COHERENCY_UNIT); 56 57 _edata = . ; 58 PROVIDE (edata = .) ; 59 __bss_start = . ; 60 .bss : 61 { 62 *(.bss) 63 *(.bss.*) 64 *(COMMON) 65 . = ALIGN(__PAGE_SIZE); 66 } 67 68 . = ALIGN(__PAGE_SIZE); 69 70 /* End of the kernel image */ 71 __kernel_end = . ; 72 73 _end = . ; 74 PROVIDE (end = .) ; 75 .note.netbsd.ident : 76 { 77 KEEP(*(.note.netbsd.ident)); 78 } 79} 80 81