OUTPUT_FORMAT("ecoff-bigmips", "ecoff-bigmips", "ecoff-littlemips") OUTPUT_ARCH(mips) ENTRY(_start) SECTIONS { /* Read-only sections, merged into text segment: */ . = 0x88002000 + SIZEOF_HEADERS; .text : { _ftext = . ; *(.text) *(.rodata) *(.rodata1) *(.rodata.str1.4) *(.reginfo) *(.init) *(.stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) } =0 _etext = .; PROVIDE (etext = .); .fini : { *(.fini) } =0 .data : { _fdata = . ; *(.data) CONSTRUCTORS } .data1 : { *(.data1) } .ctors : { *(.ctors) } .dtors : { *(.dtors) } _gp = ALIGN(16) + 0x7ff0; .got : { *(.got.plt) *(.got) } /* We want the small data sections together, so single-instruction offsets can access them all, and initialized data all before uninitialized, so we can shorten the on-disk segment size. */ .sdata : { *(.sdata) } .lit8 : { *(.lit8) } .lit4 : { *(.lit4) } _edata = .; PROVIDE (edata = .); __bss_start = .; _fbss = .; .sbss : { *(.sbss) *(.scommon) } .bss : { *(.dynbss) *(.bss) *(COMMON) } _end = . ; PROVIDE (end = .); /DISCARD/ : { *(.pdr) *(.mdebug.abi32) *(.comment) *(.stab) *(.stabstr) *(.debug) *(.debug_srcinfo) *(.debug_aranges) *(.debug_pubnames) *(.debug_sfnames) *(.line) } }