kern.ldscript.kaslr revision 1.5
11.5Smaxv/* $NetBSD: kern.ldscript.kaslr,v 1.5 2018/01/21 11:21:40 maxv Exp $ */ 21.1Smaxv 31.1Smaxv#include "assym.h" 41.1Smaxv 51.1SmaxvENTRY(_start) 61.1SmaxvSECTIONS 71.1Smaxv{ 81.5Smaxv .text.user : SUBALIGN(PAGE_SIZE) 91.5Smaxv { 101.5Smaxv __text_user_start = . ; 111.5Smaxv *(.text.user) 121.5Smaxv . = ALIGN(PAGE_SIZE); 131.5Smaxv __text_user_end = . ; 141.5Smaxv } =0xCC 151.5Smaxv 161.1Smaxv .text : 171.1Smaxv { 181.1Smaxv *(.text) 191.1Smaxv *(.text.*) 201.1Smaxv *(.stub) 211.1Smaxv } =0xCC 221.1Smaxv _etext = . ; 231.1Smaxv PROVIDE (etext = .) ; 241.1Smaxv 251.1Smaxv __rodata_start = . ; 261.4Smaxv 271.4Smaxv .rodata.hotpatch : 281.4Smaxv { 291.4Smaxv __rodata_hotpatch_start = . ; 301.4Smaxv *(.rodata.hotpatch) 311.4Smaxv __rodata_hotpatch_end = . ; 321.4Smaxv } 331.4Smaxv 341.1Smaxv .rodata : 351.1Smaxv { 361.1Smaxv *(.rodata) 371.1Smaxv *(.rodata.*) 381.1Smaxv } 391.1Smaxv 401.1Smaxv __data_start = . ; 411.1Smaxv .data : 421.1Smaxv { 431.1Smaxv *(.data) 441.1Smaxv } 451.1Smaxv 461.2Smaxv .data.cacheline_aligned : SUBALIGN(COHERENCY_UNIT) 471.1Smaxv { 481.1Smaxv *(.data.cacheline_aligned) 491.2Smaxv . = ALIGN(COHERENCY_UNIT); 501.1Smaxv } 511.2Smaxv .data.read_mostly : SUBALIGN(COHERENCY_UNIT) 521.1Smaxv { 531.1Smaxv *(.data.read_mostly) 541.2Smaxv . = ALIGN(COHERENCY_UNIT); 551.1Smaxv } 561.1Smaxv 571.1Smaxv _edata = . ; 581.1Smaxv PROVIDE (edata = .) ; 591.1Smaxv __bss_start = . ; 601.1Smaxv .bss : 611.1Smaxv { 621.1Smaxv *(.bss) 631.1Smaxv *(.bss.*) 641.1Smaxv *(COMMON) 651.1Smaxv } 661.1Smaxv 671.1Smaxv /* End of the kernel image */ 681.1Smaxv __kernel_end = . ; 691.1Smaxv 701.1Smaxv _end = . ; 711.1Smaxv PROVIDE (end = .) ; 721.1Smaxv .note.netbsd.ident : 731.1Smaxv { 741.1Smaxv KEEP(*(.note.netbsd.ident)); 751.1Smaxv } 761.3Smaxv 771.3Smaxv /DISCARD/ : 781.3Smaxv { 791.3Smaxv *(.SUNW_ctf) 801.3Smaxv *(.SUNW_ctf.*) 811.3Smaxv } 821.1Smaxv} 83