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