/*      $NetBSD: stand.ldscript,v 1.6 2021/04/23 08:42:26 simonb Exp $  */

/*  ldscript for NetBSD/mipsco standalone bootstraps */
OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
OUTPUT_ARCH(mips)
ENTRY(_start)
SECTIONS
{
 /*  Read-only sections, merged into text segment.  Assumes the
     kernel Makefile sets the start address via -Ttext.  */
 .text      :
 {
   _ftext = . ;
   *(.text)
   *(.text.*)
   *(.gnu.warning)
 } =0
 _etext = .;
 PROVIDE (etext = .);
 .rodata    : { *(.rodata)  }
 .data    :
 {
   _fdata = . ;
   *(.data)
   CONSTRUCTORS
 }
 _gp = ALIGN(16);
 .lit8 : { *(.lit8) }
 .lit4 : { *(.lit4) }
 .sdata     : { *(.sdata) }
 _edata  =  .;
 PROVIDE (edata = .);
 __bss_start = .;
 _fbss = .;
 .bss       :
 {
   *(.bss)
   *(COMMON)
   *(.sbss)
   *(.scommon)
 }
 _end = . ;
 PROVIDE (end = .);

 /*
  * Depending on the nuber of sections and their relative position
  * the Mips PROM firmware incorrectly loads the image into memory
  * 8 bytes higher than expected.  If this happens change the following
  * definition from .reginfo to /DISCARD/ to remove the section
  */

 .reginfo : { *(.reginfo) }
}