11.22Smaxv/* $NetBSD: kern.ldscript,v 1.22 2018/06/24 18:24: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.21Smaxv 241.21Smaxv .rodata.hotpatch : 251.21Smaxv { 261.21Smaxv __rodata_hotpatch_start = . ; 271.21Smaxv *(.rodata.hotpatch) 281.21Smaxv __rodata_hotpatch_end = . ; 291.21Smaxv } 301.21Smaxv 311.16Smaxv .rodata : 321.16Smaxv { 331.16Smaxv *(.rodata) 341.16Smaxv *(.rodata.*) 351.16Smaxv } 361.16Smaxv 371.19Smaxv . = ALIGN(__PAGE_SIZE); 381.19Smaxv 391.16Smaxv __data_start = . ; 401.16Smaxv .data : 411.16Smaxv { 421.16Smaxv *(.data) 431.16Smaxv } 441.16Smaxv 451.16Smaxv . = ALIGN(COHERENCY_UNIT); 461.16Smaxv .data.cacheline_aligned : 471.16Smaxv { 481.16Smaxv *(.data.cacheline_aligned) 491.16Smaxv } 501.16Smaxv . = ALIGN(COHERENCY_UNIT); 511.16Smaxv .data.read_mostly : 521.16Smaxv { 531.16Smaxv *(.data.read_mostly) 541.16Smaxv } 551.16Smaxv . = ALIGN(COHERENCY_UNIT); 561.18Smaxv 571.16Smaxv _edata = . ; 581.16Smaxv PROVIDE (edata = .) ; 591.16Smaxv __bss_start = . ; 601.16Smaxv .bss : 611.16Smaxv { 621.16Smaxv *(.bss) 631.16Smaxv *(.bss.*) 641.16Smaxv *(COMMON) 651.22Smaxv . = ALIGN(__PAGE_SIZE); 661.16Smaxv } 671.18Smaxv 681.18Smaxv . = ALIGN(__PAGE_SIZE); 691.18Smaxv 701.18Smaxv /* End of the kernel image */ 711.18Smaxv __kernel_end = . ; 721.18Smaxv 731.16Smaxv _end = . ; 741.16Smaxv PROVIDE (end = .) ; 751.16Smaxv .note.netbsd.ident : 761.16Smaxv { 771.16Smaxv KEEP(*(.note.netbsd.ident)); 781.16Smaxv } 791.1Sthorpej} 801.16Smaxv 81