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