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