summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/mips/p4000/startup/linkcmds
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/mips/p4000/startup/linkcmds')
-rw-r--r--c/src/lib/libbsp/mips/p4000/startup/linkcmds69
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) }
+}
+