/* @(#)linkcmds 04/08/96 1.2 */ OUTPUT_FORMAT("elf32-bigmips") OUTPUT_ARCH(mips) /* Do we need any of these for elf? __DYNAMIC = 0; */ _DYNAMIC_LINK = 0; SECTIONS { /* Read-only sections, merged into text segment: */ .text 0x80030000 : /* */ /* .text 0xa0020000 : /* */ /* .text 0x00020000 : /* */ { _ftext = . ; *(.text) CREATE_OBJECT_SYMBOLS _etext = .; } .init ALIGN(8) : { *(.init) } =0 .fini ALIGN(8) : { *(.fini) } =0 .ctors ALIGN(8) : { *(.ctors) } .dtors ALIGN(8) : { *(.dtors) } .rodata ALIGN(8) : { *(.rodata) } .rodata1 ALIGN(8) : { *(.rodata1) . = ALIGN(8); } .reginfo . : { *(.reginfo) } /* also: .hash .dynsym .dynstr .plt(if r/o) .rel.got */ /* Read-write section, merged into data segment: */ .data ALIGN(16) : { _fdata = . ; *(.data) CONSTRUCTORS } .data1 ALIGN(8) : { *(.data1) } _gp = . + 0x8000; .lit8 . : { *(.lit8) } .lit4 . : { *(.lit4) } /* also (before uninitialized portion): .dynamic .got .plt(if r/w) (or does .dynamic go into its own segment?) */ /* 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 ALIGN(8) : { *(.sdata) } _edata = .; __bss_start = ALIGN(8); _fbss = .; .sbss ALIGN(8) : { *(.sbss) *(.scommon) } .bss ALIGN(8) : { *(.bss) *(COMMON) _end = . ; end = . ; } /* Debug sections. These should never be loadable, but they must have zero addresses for the debuggers to work correctly. */ .line 0 : { *(.line) } .debug 0 : { *(.debug) } .debug_sfnames 0 : { *(.debug_sfnames) } .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_macinfo 0 : { *(.debug_macinfo) } .debug_pubnames 0 : { *(.debug_pubnames) } .debug_aranges 0 : { *(.debug_aranges) } }