OUTPUT_FORMAT("binary", "binary", "binary") OUTPUT_ARCH(m68k) ENTRY(start) SEARCH_DIR(/usr/lib); /*__DYNAMIC = 0; */ PROVIDE (__stack = 0); SECTIONS { . = TEXTADDR; .text : { CREATE_OBJECT_SYMBOLS *(.text) *(.rodata) /* The next six sections are for SunOS dynamic linking. The order is important. */ *(.dynrel) *(.hash) *(.dynsym) *(.dynstr) *(.rules) *(.need) etext = .; _etext = .; } .data : { /* The first three sections are for SunOS dynamic linking. */ *(.dynamic) *(.got) *(.plt) *(.data) *(.linux-dynamic) /* For Linux dynamic linking. */ CONSTRUCTORS edata = .; _edata = .; } . = TEXTADDR + 0x2000; .bss : { __bss_start = .; *(.bss) *(COMMON) end = ALIGN(4) ; _end = ALIGN(4) ; } /DISCARD/ : { *(.ident) *(.stab) *(.stabstr) } } ASSERT(first_kbyte - TEXTADDR <= 1024, "Error: first_kbyte exceeds 1KB"); ASSERT(_edata - TEXTADDR <= 8192, "Error: text+data is too large to bootarea"); ASSERT(_end <= BOOT_TEXTADDR, "Error: _end conflicts BOOT_TEXT");