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