kern.ldscript revision 1.20
11.20Smaxv/* $NetBSD: kern.ldscript,v 1.20 2017/08/18 10:28:53 maxv Exp $ */ 21.1Sthorpej 31.15Suebayasi#include "assym.h" 41.15Suebayasi 51.18Smaxv__PAGE_SIZE = 0x1000 ; 61.18Smaxv 71.1SthorpejENTRY(_start) 81.1SthorpejSECTIONS 91.1Sthorpej{ 101.20Smaxv .text : AT (ADDR(.text) & 0x0fffffff) 111.16Smaxv { 121.16Smaxv *(.text) 131.16Smaxv *(.text.*) 141.16Smaxv *(.stub) 151.20Smaxv . = ALIGN(__PAGE_SIZE); 161.20Smaxv } =0xCC 171.16Smaxv _etext = . ; 181.16Smaxv PROVIDE (etext = .) ; 191.16Smaxv 201.19Smaxv . = ALIGN(__PAGE_SIZE); 211.17Smaxv 221.17Smaxv __rodata_start = . ; 231.16Smaxv .rodata : 241.16Smaxv { 251.16Smaxv *(.rodata) 261.16Smaxv *(.rodata.*) 271.16Smaxv } 281.16Smaxv 291.19Smaxv . = ALIGN(__PAGE_SIZE); 301.19Smaxv 311.16Smaxv __data_start = . ; 321.16Smaxv .data : 331.16Smaxv { 341.16Smaxv *(.data) 351.16Smaxv } 361.16Smaxv 371.16Smaxv . = ALIGN(COHERENCY_UNIT); 381.16Smaxv .data.cacheline_aligned : 391.16Smaxv { 401.16Smaxv *(.data.cacheline_aligned) 411.16Smaxv } 421.16Smaxv . = ALIGN(COHERENCY_UNIT); 431.16Smaxv .data.read_mostly : 441.16Smaxv { 451.16Smaxv *(.data.read_mostly) 461.16Smaxv } 471.16Smaxv . = ALIGN(COHERENCY_UNIT); 481.18Smaxv 491.16Smaxv _edata = . ; 501.16Smaxv PROVIDE (edata = .) ; 511.16Smaxv __bss_start = . ; 521.16Smaxv .bss : 531.16Smaxv { 541.16Smaxv *(.bss) 551.16Smaxv *(.bss.*) 561.16Smaxv *(COMMON) 571.19Smaxv . = ALIGN(32 / 8); 581.16Smaxv } 591.18Smaxv 601.18Smaxv . = ALIGN(__PAGE_SIZE); 611.18Smaxv 621.18Smaxv /* End of the kernel image */ 631.18Smaxv __kernel_end = . ; 641.18Smaxv 651.16Smaxv _end = . ; 661.16Smaxv PROVIDE (end = .) ; 671.16Smaxv .note.netbsd.ident : 681.16Smaxv { 691.16Smaxv KEEP(*(.note.netbsd.ident)); 701.16Smaxv } 711.1Sthorpej} 721.16Smaxv 73