kern.ldscript revision 1.14
11.9Suebayasi/* $NetBSD: kern.ldscript,v 1.14 2015/08/25 08:04:31 uebayasi Exp $ */ 21.1Sfvdl 31.1SfvdlENTRY(_start) 41.1SfvdlSECTIONS 51.1Sfvdl{ 61.10Suebayasi /* Read-only sections, merged into text segment: */ 71.10Suebayasi .text : 81.10Suebayasi { 91.10Suebayasi *(.text) 101.10Suebayasi *(.text.*) 111.10Suebayasi *(.stub) 121.12Suebayasi } 131.10Suebayasi _etext = . ; 141.10Suebayasi PROVIDE (etext = .) ; 151.2Schristos 161.10Suebayasi .rodata : 171.10Suebayasi { 181.10Suebayasi *(.rodata) 191.10Suebayasi *(.rodata.*) 201.10Suebayasi } 211.9Suebayasi 221.10Suebayasi /* Adjust the address for the data segment. We want to adjust up to 231.10Suebayasi the same address within the page on the next page up. */ 241.10Suebayasi . = ALIGN(0x100000) + (. & (0x100000 - 1)); 251.10Suebayasi __data_start = . ; 261.10Suebayasi .data : 271.10Suebayasi { 281.10Suebayasi *(.data) 291.10Suebayasi } 301.8Suebayasi 311.14Suebayasi . = ALIGN(COHERENCY_UNIT); 321.10Suebayasi .data.cacheline_aligned : 331.10Suebayasi { 341.10Suebayasi *(.data.cacheline_aligned) 351.10Suebayasi } 361.14Suebayasi . = ALIGN(COHERENCY_UNIT); 371.10Suebayasi .data.read_mostly : 381.10Suebayasi { 391.10Suebayasi *(.data.read_mostly) 401.10Suebayasi } 411.14Suebayasi . = ALIGN(COHERENCY_UNIT); 421.8Suebayasi 431.10Suebayasi _edata = . ; 441.10Suebayasi PROVIDE (edata = .) ; 451.10Suebayasi __bss_start = . ; 461.10Suebayasi .bss : 471.10Suebayasi { 481.10Suebayasi *(.bss) 491.10Suebayasi *(.bss.*) 501.10Suebayasi *(COMMON) 511.10Suebayasi . = ALIGN(64 / 8); 521.10Suebayasi } 531.10Suebayasi . = ALIGN(64 / 8); 541.2Schristos _end = . ; 551.2Schristos PROVIDE (end = .) ; 561.2Schristos .note.netbsd.ident : 571.1Sfvdl { 581.2Schristos KEEP(*(.note.netbsd.ident)); 591.1Sfvdl } 601.1Sfvdl} 611.11SuebayasiSECTIONS 621.11Suebayasi{ 631.11Suebayasi .text : 641.11Suebayasi AT (ADDR(.text) & 0x0fffffff) 651.11Suebayasi { 661.11Suebayasi *(.text) 671.11Suebayasi } =0 681.11Suebayasi} 69