11.1SminouraOUTPUT_FORMAT("binary", "binary", "binary")
21.1SminouraOUTPUT_ARCH(m68k)
31.1SminouraENTRY(start)
41.1SminouraSEARCH_DIR(/usr/lib);
51.1Sminoura/*__DYNAMIC = 0; */
61.1SminouraPROVIDE (__stack = 0);
71.1SminouraSECTIONS
81.1Sminoura{
91.2Sisaki  . = TEXTADDR;
101.1Sminoura  .text :
111.9Sisaki  ALIGN(2)
121.9Sisaki  SUBALIGN(2)
131.1Sminoura  {
141.1Sminoura    CREATE_OBJECT_SYMBOLS
151.1Sminoura    *(.text)
161.1Sminoura    *(.rodata)
171.1Sminoura    /* The next six sections are for SunOS dynamic linking.  The order
181.1Sminoura       is important.  */
191.1Sminoura    *(.dynrel)
201.1Sminoura    *(.hash)
211.1Sminoura    *(.dynsym)
221.1Sminoura    *(.dynstr)
231.1Sminoura    *(.rules)
241.1Sminoura    *(.need)
251.1Sminoura    etext = .;
261.1Sminoura    _etext = .;
271.1Sminoura  }
281.1Sminoura  .data :
291.9Sisaki  ALIGN(2)
301.9Sisaki  SUBALIGN(2)
311.1Sminoura  {
321.1Sminoura    /* The first three sections are for SunOS dynamic linking.  */
331.1Sminoura    *(.dynamic)
341.1Sminoura    *(.got)
351.1Sminoura    *(.plt)
361.1Sminoura    *(.data)
371.1Sminoura    *(.linux-dynamic) /* For Linux dynamic linking.  */
381.1Sminoura    CONSTRUCTORS
391.1Sminoura    edata  =  .;
401.1Sminoura    _edata  =  .;
411.1Sminoura  }
421.7Sisaki  . = TEXTADDR + TEXTDATASIZE;
431.10Sisaki
441.10Sisaki  /* Place uint32_t startregs[16] out of bss */
451.10Sisaki  PROVIDE(startregs = .);
461.10Sisaki  . += 0x40/* sizeof(startregs) */;
471.10Sisaki
481.1Sminoura  .bss :
491.1Sminoura  {
501.1Sminoura    __bss_start = .;
511.1Sminoura   *(.bss)
521.1Sminoura   *(COMMON)
531.1Sminoura   end = ALIGN(4) ;
541.1Sminoura   _end = ALIGN(4) ;
551.1Sminoura  }
561.1Sminoura  /DISCARD/ : { *(.ident) *(.stab) *(.stabstr) }
571.1Sminoura}
581.4Sisaki
591.4SisakiASSERT(first_kbyte - TEXTADDR <= 1024, "Error: first_kbyte exceeds 1KB");
601.6SisakiASSERT(_end <= BOOT_TEXTADDR, "Error: _end conflicts BOOT_TEXT");
61