kern.ldscript revision 1.4
11.4Syamt/* $NetBSD: kern.ldscript,v 1.4 2007/10/18 15:28:33 yamt 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 } =0 171.2Schristos _etext = . ; 181.2Schristos PROVIDE (etext = .) ; 191.2Schristos 201.4Syamt .rodata : 211.4Syamt AT (LOADADDR(.text) + (ADDR(.rodata) - ADDR(.text))) 221.4Syamt { 231.4Syamt *(.rodata) 241.4Syamt *(.rodata.*) 251.4Syamt } 261.4Syamt 271.2Schristos /* Adjust the address for the data segment. We want to adjust up to 281.2Schristos the same address within the page on the next page up. */ 291.2Schristos . = ALIGN(0x100000) + (. & (0x100000 - 1)); 301.4Syamt __data_start = . ; 311.2Schristos .data : 321.2Schristos AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text))) 331.2Schristos { 341.2Schristos *(.data) 351.2Schristos *(.data.*) 361.2Schristos } 371.2Schristos _edata = . ; 381.2Schristos PROVIDE (edata = .) ; 391.2Schristos __bss_start = . ; 401.2Schristos .bss : 411.2Schristos AT (LOADADDR(.text) + (ADDR(.bss) - ADDR(.text))) 421.2Schristos { 431.2Schristos *(.bss) 441.2Schristos *(.bss.*) 451.2Schristos *(COMMON) 461.2Schristos . = ALIGN(64 / 8); 471.2Schristos } 481.2Schristos . = ALIGN(64 / 8); 491.2Schristos _end = . ; 501.2Schristos PROVIDE (end = .) ; 511.2Schristos .note.netbsd.ident : 521.1Sfvdl { 531.2Schristos KEEP(*(.note.netbsd.ident)); 541.1Sfvdl } 551.1Sfvdl} 56