1*01442553Ssimonb/* $NetBSD: stand.ldscript,v 1.6 2021/04/23 08:42:26 simonb Exp $ */ 2513cc0caSwdk 3513cc0caSwdk/* ldscript for NetBSD/mipsco standalone bootstraps */ 4770d02eaSheOUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") 5513cc0caSwdkOUTPUT_ARCH(mips) 6513cc0caSwdkENTRY(_start) 7513cc0caSwdkSECTIONS 8513cc0caSwdk{ 9513cc0caSwdk /* Read-only sections, merged into text segment. Assumes the 10513cc0caSwdk kernel Makefile sets the start address via -Ttext. */ 11513cc0caSwdk .text : 12513cc0caSwdk { 13513cc0caSwdk _ftext = . ; 14513cc0caSwdk *(.text) 15*01442553Ssimonb *(.text.*) 16513cc0caSwdk *(.gnu.warning) 17513cc0caSwdk } =0 18513cc0caSwdk _etext = .; 19513cc0caSwdk PROVIDE (etext = .); 20513cc0caSwdk .rodata : { *(.rodata) } 21513cc0caSwdk .data : 22513cc0caSwdk { 23513cc0caSwdk _fdata = . ; 24513cc0caSwdk *(.data) 25513cc0caSwdk CONSTRUCTORS 26513cc0caSwdk } 27513cc0caSwdk _gp = ALIGN(16); 28513cc0caSwdk .lit8 : { *(.lit8) } 29513cc0caSwdk .lit4 : { *(.lit4) } 30513cc0caSwdk .sdata : { *(.sdata) } 31513cc0caSwdk _edata = .; 32513cc0caSwdk PROVIDE (edata = .); 33513cc0caSwdk __bss_start = .; 34513cc0caSwdk _fbss = .; 35513cc0caSwdk .bss : 36513cc0caSwdk { 37513cc0caSwdk *(.bss) 38513cc0caSwdk *(COMMON) 39513cc0caSwdk *(.sbss) 40513cc0caSwdk *(.scommon) 41513cc0caSwdk } 42513cc0caSwdk _end = . ; 43513cc0caSwdk PROVIDE (end = .); 44513cc0caSwdk 45513cc0caSwdk /* 46513cc0caSwdk * Depending on the nuber of sections and their relative position 47513cc0caSwdk * the Mips PROM firmware incorrectly loads the image into memory 48b4371d47Swiz * 8 bytes higher than expected. If this happens change the following 49513cc0caSwdk * definition from .reginfo to /DISCARD/ to remove the section 50513cc0caSwdk */ 51513cc0caSwdk 52513cc0caSwdk .reginfo : { *(.reginfo) } 53513cc0caSwdk} 54