kern.ldscript revision 1.1
11.1Sreinoud/* $NetBSD: kern.ldscript,v 1.1 2018/05/18 19:04:10 reinoud Exp $ */ 21.1Sreinoud 31.1Sreinoud#include "assym.h" 41.1Sreinoud 51.1SreinoudENTRY(_start) 61.1SreinoudSECTIONS 71.1Sreinoud{ 81.1Sreinoud /* Read-only sections, merged into text segment: */ 91.1Sreinoud .text : 101.1Sreinoud { 111.1Sreinoud *(.text) 121.1Sreinoud *(.text.*) 131.1Sreinoud *(.stub) 141.1Sreinoud } 151.1Sreinoud _etext = . ; 161.1Sreinoud PROVIDE (etext = .) ; 171.1Sreinoud 181.1Sreinoud .rodata : 191.1Sreinoud { 201.1Sreinoud *(.rodata) 211.1Sreinoud *(.rodata.*) 221.1Sreinoud } 231.1Sreinoud 241.1Sreinoud /* 251.1Sreinoud * Adjust the address for the data segment. We want to adjust up to 261.1Sreinoud * the same address within the page on the next page up. 271.1Sreinoud */ 281.1Sreinoud . = ALIGN(0x100000) + (. & (0x100000 - 1)); 291.1Sreinoud __data_start = . ; 301.1Sreinoud .data : 311.1Sreinoud { 321.1Sreinoud *(.data) 331.1Sreinoud } 341.1Sreinoud 351.1Sreinoud . = ALIGN(COHERENCY_UNIT); 361.1Sreinoud .data.cacheline_aligned : 371.1Sreinoud { 381.1Sreinoud *(.data.cacheline_aligned) 391.1Sreinoud } 401.1Sreinoud . = ALIGN(COHERENCY_UNIT); 411.1Sreinoud .data.read_mostly : 421.1Sreinoud { 431.1Sreinoud *(.data.read_mostly) 441.1Sreinoud } 451.1Sreinoud . = ALIGN(COHERENCY_UNIT); 461.1Sreinoud 471.1Sreinoud _edata = . ; 481.1Sreinoud PROVIDE (edata = .) ; 491.1Sreinoud __bss_start = . ; 501.1Sreinoud .bss : 511.1Sreinoud { 521.1Sreinoud *(.bss) 531.1Sreinoud *(.bss.*) 541.1Sreinoud *(COMMON) 551.1Sreinoud . = ALIGN(64 / 8); 561.1Sreinoud } 571.1Sreinoud . = ALIGN(64 / 8); 581.1Sreinoud _end = . ; 591.1Sreinoud PROVIDE (end = .) ; 601.1Sreinoud .note.netbsd.ident : 611.1Sreinoud { 621.1Sreinoud KEEP(*(.note.netbsd.ident)); 631.1Sreinoud } 641.1Sreinoud} 651.1Sreinoud 661.1SreinoudSECTIONS 671.1Sreinoud{ 681.1Sreinoud .text : 691.1Sreinoud AT (ADDR(.text) & 0x0fffffff) 701.1Sreinoud { 711.1Sreinoud *(.text) 721.1Sreinoud } = 0 731.1Sreinoud} 74