Home | History | Annotate | Line # | Download | only in xxboot
      1 OUTPUT_FORMAT("binary", "binary", "binary")
      2 OUTPUT_ARCH(m68k)
      3 ENTRY(start)
      4 SEARCH_DIR(/usr/lib);
      5 /*__DYNAMIC = 0; */
      6 PROVIDE (__stack = 0);
      7 SECTIONS
      8 {
      9   . = TEXTADDR;
     10   .text :
     11   ALIGN(2)
     12   SUBALIGN(2)
     13   {
     14     CREATE_OBJECT_SYMBOLS
     15     *(.text)
     16     *(.rodata)
     17     /* The next six sections are for SunOS dynamic linking.  The order
     18        is important.  */
     19     *(.dynrel)
     20     *(.hash)
     21     *(.dynsym)
     22     *(.dynstr)
     23     *(.rules)
     24     *(.need)
     25     etext = .;
     26     _etext = .;
     27   }
     28   .data :
     29   ALIGN(2)
     30   SUBALIGN(2)
     31   {
     32     /* The first three sections are for SunOS dynamic linking.  */
     33     *(.dynamic)
     34     *(.got)
     35     *(.plt)
     36     *(.data)
     37     *(.linux-dynamic) /* For Linux dynamic linking.  */
     38     CONSTRUCTORS
     39     edata  =  .;
     40     _edata  =  .;
     41   }
     42   . = TEXTADDR + TEXTDATASIZE;
     43 
     44   /* Place uint32_t startregs[16] out of bss */
     45   PROVIDE(startregs = .);
     46   . += 0x40/* sizeof(startregs) */;
     47 
     48   .bss :
     49   {
     50     __bss_start = .;
     51    *(.bss)
     52    *(COMMON)
     53    end = ALIGN(4) ;
     54    _end = ALIGN(4) ;
     55   }
     56   /DISCARD/ : { *(.ident) *(.stab) *(.stabstr) }
     57 }
     58 
     59 ASSERT(first_kbyte - TEXTADDR <= 1024, "Error: first_kbyte exceeds 1KB");
     60 ASSERT(_end <= BOOT_TEXTADDR, "Error: _end conflicts BOOT_TEXT");
     61