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