kern.ldscript revision 1.2
11.2Schristos/* $NetBSD: kern.ldscript,v 1.2 2007/05/12 20:59:19 christos Exp $ */ 21.1Sfvdl 31.1SfvdlOUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", 41.1Sfvdl "elf64-x86-64") 51.1SfvdlOUTPUT_ARCH(i386:x86-64) 61.1SfvdlENTRY(_start) 71.1SfvdlSECTIONS 81.1Sfvdl{ 91.2Schristos /* Read-only sections, merged into text segment: */ 101.2Schristos .text : 111.2Schristos AT (ADDR(.text)) 121.2Schristos { 131.2Schristos *(.text) 141.2Schristos *(.text.*) 151.2Schristos *(.stub) 161.2Schristos *(.rodata) 171.2Schristos } =0 181.2Schristos _etext = . ; 191.2Schristos PROVIDE (etext = .) ; 201.2Schristos 211.2Schristos /* Adjust the address for the data segment. We want to adjust up to 221.2Schristos the same address within the page on the next page up. */ 231.2Schristos . = ALIGN(0x100000) + (. & (0x100000 - 1)); 241.2Schristos .data : 251.2Schristos AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text))) 261.2Schristos { 271.2Schristos *(.data) 281.2Schristos *(.data.*) 291.2Schristos } 301.2Schristos _edata = . ; 311.2Schristos PROVIDE (edata = .) ; 321.2Schristos __bss_start = . ; 331.2Schristos .bss : 341.2Schristos AT (LOADADDR(.text) + (ADDR(.bss) - ADDR(.text))) 351.2Schristos { 361.2Schristos *(.bss) 371.2Schristos *(.bss.*) 381.2Schristos *(COMMON) 391.2Schristos . = ALIGN(64 / 8); 401.2Schristos } 411.2Schristos . = ALIGN(64 / 8); 421.2Schristos _end = . ; 431.2Schristos PROVIDE (end = .) ; 441.2Schristos .note.netbsd.ident : 451.1Sfvdl { 461.2Schristos KEEP(*(.note.netbsd.ident)); 471.1Sfvdl } 481.1Sfvdl} 49