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