kern.ldscript revision 1.15
11.9Suebayasi/* $NetBSD: kern.ldscript,v 1.15 2015/08/25 08:07:24 uebayasi Exp $ */ 21.1Sfvdl 31.15Suebayasi#include "assym.h" 41.15Suebayasi 51.1SfvdlENTRY(_start) 61.1SfvdlSECTIONS 71.1Sfvdl{ 81.10Suebayasi /* Read-only sections, merged into text segment: */ 91.10Suebayasi .text : 101.10Suebayasi { 111.10Suebayasi *(.text) 121.10Suebayasi *(.text.*) 131.10Suebayasi *(.stub) 141.12Suebayasi } 151.10Suebayasi _etext = . ; 161.10Suebayasi PROVIDE (etext = .) ; 171.2Schristos 181.10Suebayasi .rodata : 191.10Suebayasi { 201.10Suebayasi *(.rodata) 211.10Suebayasi *(.rodata.*) 221.10Suebayasi } 231.9Suebayasi 241.10Suebayasi /* Adjust the address for the data segment. We want to adjust up to 251.10Suebayasi the same address within the page on the next page up. */ 261.10Suebayasi . = ALIGN(0x100000) + (. & (0x100000 - 1)); 271.10Suebayasi __data_start = . ; 281.10Suebayasi .data : 291.10Suebayasi { 301.10Suebayasi *(.data) 311.10Suebayasi } 321.8Suebayasi 331.14Suebayasi . = ALIGN(COHERENCY_UNIT); 341.10Suebayasi .data.cacheline_aligned : 351.10Suebayasi { 361.10Suebayasi *(.data.cacheline_aligned) 371.10Suebayasi } 381.14Suebayasi . = ALIGN(COHERENCY_UNIT); 391.10Suebayasi .data.read_mostly : 401.10Suebayasi { 411.10Suebayasi *(.data.read_mostly) 421.10Suebayasi } 431.14Suebayasi . = ALIGN(COHERENCY_UNIT); 441.8Suebayasi 451.10Suebayasi _edata = . ; 461.10Suebayasi PROVIDE (edata = .) ; 471.10Suebayasi __bss_start = . ; 481.10Suebayasi .bss : 491.10Suebayasi { 501.10Suebayasi *(.bss) 511.10Suebayasi *(.bss.*) 521.10Suebayasi *(COMMON) 531.10Suebayasi . = ALIGN(64 / 8); 541.10Suebayasi } 551.10Suebayasi . = ALIGN(64 / 8); 561.2Schristos _end = . ; 571.2Schristos PROVIDE (end = .) ; 581.2Schristos .note.netbsd.ident : 591.1Sfvdl { 601.2Schristos KEEP(*(.note.netbsd.ident)); 611.1Sfvdl } 621.1Sfvdl} 631.11SuebayasiSECTIONS 641.11Suebayasi{ 651.11Suebayasi .text : 661.11Suebayasi AT (ADDR(.text) & 0x0fffffff) 671.11Suebayasi { 681.11Suebayasi *(.text) 691.11Suebayasi } =0 701.11Suebayasi} 71