1OUTPUT_FORMAT("binary", "binary", "binary") 2OUTPUT_ARCH(m68k) 3ENTRY(start) 4SEARCH_DIR(/usr/lib); 5/*__DYNAMIC = 0; */ 6PROVIDE (__stack = 0); 7SECTIONS 8{ 9 . = TEXTADDR; 10 .text : 11 { 12 CREATE_OBJECT_SYMBOLS 13 *(.text) 14 *(.rodata) 15 /* The next six sections are for SunOS dynamic linking. The order 16 is important. */ 17 *(.dynrel) 18 *(.hash) 19 *(.dynsym) 20 *(.dynstr) 21 *(.rules) 22 *(.need) 23 etext = .; 24 _etext = .; 25 } 26 .data : 27 { 28 /* The first three sections are for SunOS dynamic linking. */ 29 *(.dynamic) 30 *(.got) 31 *(.plt) 32 *(.data) 33 *(.linux-dynamic) /* For Linux dynamic linking. */ 34 CONSTRUCTORS 35 edata = .; 36 _edata = .; 37 } 38 . = TEXTADDR + 0x2000; 39 .bss : 40 { 41 __bss_start = .; 42 *(.bss) 43 *(COMMON) 44 end = ALIGN(4) ; 45 _end = ALIGN(4) ; 46 } 47 /DISCARD/ : { *(.ident) *(.stab) *(.stabstr) } 48} 49 50ASSERT(first_kbyte - TEXTADDR <= 1024, "Error: first_kbyte exceeds 1KB"); 51ASSERT(_edata - TEXTADDR <= 8192, "Error: text+data is too large to bootarea"); 52ASSERT(_end <= BOOT_TEXTADDR, "Error: _end conflicts BOOT_TEXT"); 53