kern.ldscript revision 1.15
11.12Suebayasi/* $NetBSD: kern.ldscript,v 1.15 2015/08/25 12:56:58 uebayasi Exp $ */ 21.1Sthorpej 31.15Suebayasi#include "assym.h" 41.15Suebayasi 51.1SthorpejENTRY(_start) 61.1SthorpejSECTIONS 71.1Sthorpej{ 81.12Suebayasi /* Read-only sections, merged into text segment: */ 91.12Suebayasi .text : 101.12Suebayasi { 111.12Suebayasi *(.text) 121.12Suebayasi *(.text.*) 131.12Suebayasi *(.stub) 141.13Suebayasi } 151.12Suebayasi _etext = . ; 161.12Suebayasi PROVIDE (etext = .) ; 171.5Spavel 181.12Suebayasi .rodata : 191.12Suebayasi { 201.12Suebayasi *(.rodata) 211.12Suebayasi *(.rodata.*) 221.12Suebayasi } 231.9Schs 241.12Suebayasi /* Adjust the address for the data segment. We want to adjust up to 251.12Suebayasi the same address within the page on the next page up. */ 261.12Suebayasi . = ALIGN(0x1000) + (. & (0x1000 - 1)); 271.12Suebayasi __data_start = . ; 281.12Suebayasi .data : 291.12Suebayasi { 301.12Suebayasi *(.data) 311.12Suebayasi } 321.15Suebayasi . = ALIGN(COHERENCY_UNIT); 331.12Suebayasi .data.cacheline_aligned : 341.12Suebayasi { 351.12Suebayasi *(.data.cacheline_aligned) 361.12Suebayasi } 371.15Suebayasi . = ALIGN(COHERENCY_UNIT); 381.12Suebayasi .data.read_mostly : 391.12Suebayasi { 401.12Suebayasi *(.data.read_mostly) 411.12Suebayasi } 421.15Suebayasi . = ALIGN(COHERENCY_UNIT); 431.12Suebayasi _edata = . ; 441.12Suebayasi PROVIDE (edata = .) ; 451.12Suebayasi __bss_start = . ; 461.12Suebayasi .bss : 471.12Suebayasi { 481.12Suebayasi *(.bss) 491.12Suebayasi *(.bss.*) 501.12Suebayasi *(COMMON) 511.12Suebayasi . = ALIGN(32 / 8); 521.12Suebayasi } 531.12Suebayasi . = ALIGN(32 / 8); 541.1Sthorpej _end = . ; 551.5Spavel PROVIDE (end = .) ; 561.6Schristos .note.netbsd.ident : 571.6Schristos { 581.6Schristos KEEP(*(.note.netbsd.ident)); 591.6Schristos } 601.1Sthorpej} 611.13SuebayasiSECTIONS 621.13Suebayasi{ 631.13Suebayasi .text : 641.13Suebayasi AT (ADDR(.text) & 0x0fffffff) 651.13Suebayasi { 661.13Suebayasi *(.text) 671.13Suebayasi } =0 681.13Suebayasi} 69