11.7Smlelstv/* $NetBSD: ldscript.elf,v 1.7 2023/02/11 22:42:20 mlelstv Exp $ */ 21.1Schris 31.1SchrisENTRY(KERNEL_BASE_phys) 41.1SchrisSECTIONS 51.1Schris{ 61.7Smlelstv KERNEL_BASE_phys = 0xF0000000; 71.7Smlelstv KERNEL_BASE_virt = 0xF0000000; 81.7Smlelstv 91.1Schris /* Kernel start: */ 101.7Smlelstv .start (KERNEL_BASE_phys) : 111.1Schris { 121.1Schris *(.start) 131.5Suebayasi } 141.1Schris 151.1Schris /* Read-only sections, merged into text segment: */ 161.7Smlelstv .text (KERNEL_BASE_virt + SIZEOF(.start)) : 171.7Smlelstv AT (LOADADDR(.start) + SIZEOF(.start)) 181.1Schris { 191.1Schris *(.text) 201.1Schris *(.text.*) 211.1Schris *(.stub) 221.1Schris *(.glue_7t) *(.glue_7) 231.1Schris *(.rodata) *(.rodata.*) 241.5Suebayasi } 251.1Schris PROVIDE (__etext = .); 261.1Schris PROVIDE (_etext = .); 271.1Schris PROVIDE (etext = .); 281.1Schris /* Adjust the address for the data segment to start on the next page 291.1Schris boundary. */ 301.1Schris . = ALIGN(0x8000); 311.1Schris .data : 321.1Schris { 331.1Schris __data_start = . ; 341.1Schris *(.data) 351.1Schris *(.data.*) 361.1Schris } 371.3Suebayasi .sdata : 381.1Schris { 391.3Suebayasi *(.sdata) 401.1Schris *(.sdata.*) 411.1Schris } 421.1Schris _edata = .; 431.1Schris PROVIDE (edata = .); 441.1Schris __bss_start = .; 451.1Schris __bss_start__ = .; 461.1Schris .sbss : 471.1Schris { 481.1Schris PROVIDE (__sbss_start = .); 491.1Schris PROVIDE (___sbss_start = .); 501.1Schris *(.dynsbss) 511.1Schris *(.sbss) 521.1Schris *(.sbss.*) 531.1Schris *(.scommon) 541.1Schris PROVIDE (__sbss_end = .); 551.1Schris PROVIDE (___sbss_end = .); 561.1Schris } 571.1Schris .bss : 581.1Schris { 591.4Suebayasi *(.dynbss) 601.4Suebayasi *(.bss) 611.4Suebayasi *(.bss.*) 621.4Suebayasi *(COMMON) 631.4Suebayasi /* Align here to ensure that the .bss section occupies space up to 641.4Suebayasi _end. Align after .bss to ensure correct alignment even if the 651.4Suebayasi .bss section disappears because there are no input sections. */ 661.4Suebayasi . = ALIGN(32 / 8); 671.1Schris } 681.1Schris . = ALIGN(32 / 8); 691.1Schris _end = .; 701.1Schris _bss_end__ = . ; __bss_end__ = . ; __end__ = . ; 711.1Schris PROVIDE (end = .); 721.1Schris} 73