1 /* $NetBSD: kern.ldscript,v 1.20 2017/08/18 10:28:53 maxv Exp $ */ 2 3 #include "assym.h" 4 5 __PAGE_SIZE = 0x1000 ; 6 7 ENTRY(_start) 8 SECTIONS 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 .rodata : 24 { 25 *(.rodata) 26 *(.rodata.*) 27 } 28 29 . = ALIGN(__PAGE_SIZE); 30 31 __data_start = . ; 32 .data : 33 { 34 *(.data) 35 } 36 37 . = ALIGN(COHERENCY_UNIT); 38 .data.cacheline_aligned : 39 { 40 *(.data.cacheline_aligned) 41 } 42 . = ALIGN(COHERENCY_UNIT); 43 .data.read_mostly : 44 { 45 *(.data.read_mostly) 46 } 47 . = ALIGN(COHERENCY_UNIT); 48 49 _edata = . ; 50 PROVIDE (edata = .) ; 51 __bss_start = . ; 52 .bss : 53 { 54 *(.bss) 55 *(.bss.*) 56 *(COMMON) 57 . = ALIGN(32 / 8); 58 } 59 60 . = ALIGN(__PAGE_SIZE); 61 62 /* End of the kernel image */ 63 __kernel_end = . ; 64 65 _end = . ; 66 PROVIDE (end = .) ; 67 .note.netbsd.ident : 68 { 69 KEEP(*(.note.netbsd.ident)); 70 } 71 } 72 73