diff options
Diffstat (limited to 'c/src/lib/libbsp/mips/p4000/startup/linkcmds')
-rw-r--r-- | c/src/lib/libbsp/mips/p4000/startup/linkcmds | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/mips/p4000/startup/linkcmds b/c/src/lib/libbsp/mips/p4000/startup/linkcmds new file mode 100644 index 0000000000..e9d0566a12 --- /dev/null +++ b/c/src/lib/libbsp/mips/p4000/startup/linkcmds @@ -0,0 +1,69 @@ +/* @(#)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) } +} + |