]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - ld/scripttempl/mips.sc
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / ld / scripttempl / mips.sc
index 0926db5b300ed73e1fd07414f5e3c06dae4bdd02..ed0db4de9f3f078697a9e3b8d9517766eed38b5d 100644 (file)
@@ -1,52 +1,80 @@
 # Linker script for MIPS systems.
 # Ian Lance Taylor <ian@cygnus.com>.
+#
+# Copyright (C) 2014-2021 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+#
 # These variables may be overridden by the emulation file.  The
 # defaults are appropriate for a DECstation running Ultrix.
+
 test -z "$ENTRY" && ENTRY=__start
-test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x400000 + SIZEOF_HEADERS"
-test -z "$DATA_ADDR" && DATA_ADDR=0x10000000
-test -z "$BSS_VAR" && BSS_VAR=
+
+if [ -z "$EMBEDDED" ]; then
+  test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x400000 + SIZEOF_HEADERS"
+else
+  test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x400000"
+fi
+if test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then
+  DATA_ADDR=.
+else
+  test -z "$DATA_ADDR" && DATA_ADDR=0x10000000
+fi
+
 cat <<EOF
-OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+/* Copyright (C) 2014-2021 Free Software Foundation, Inc.
+
+   Copying and distribution of this script, with or without modification,
+   are permitted in any medium without royalty provided the copyright
+   notice and this notice are preserved.  */
+
+OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
+             "${LITTLE_OUTPUT_FORMAT}")
 ${LIB_SEARCH_DIRS}
 
-ENTRY(${ENTRY})
+${RELOCATING+ENTRY (${ENTRY})}
 
 SECTIONS
 {
-  .text ${RELOCATING+ ${TEXT_START_ADDR}} : {
-    *(.init)
-    ${RELOCATING+ eprol  =  .};
+  ${RELOCATING+. = ${TEXT_START_ADDR};}
+  .text : {
+    ${RELOCATING+_ftext = .;
+    KEEP (*(SORT_NONE(.init)))
+    eprol  =  .;}
     *(.text)
-    *(.fini)
-    ${RELOCATING+ etext  =  .};
-    ${RELOCATING+ _etext  =  .};
+    ${RELOCATING+KEEP (*(SORT_NONE(.fini)))
+    etext  =  .;
+    _etext  =  .;}
   }
-  .rdata ${RELOCATING+ ${DATA_ADDR}} : {
+  ${RELOCATING+. = ${DATA_ADDR};}
+  .rdata : {
     *(.rdata)
   }
-  .data ${RELOCATING+ .} : {
+  ${RELOCATING+ _fdata = ALIGN(16);}
+  .data : {
     *(.data)
     ${CONSTRUCTING+CONSTRUCTORS}
   }
-  ${RELOCATING+ _gp = . + 0x8000;}
-  .lit8 ${RELOCATING+ .} : {
+  ${RELOCATING+ HIDDEN (_gp = ALIGN (16) + 0x8000);}
+  .lit8 : {
     *(.lit8)
   }
-  .lit4 ${RELOCATING+ .} : {
+  .lit4 : {
     *(.lit4)
   }
-  .sdata ${RELOCATING+ .} : {
+  .sdata : {
     *(.sdata)
   }
   ${RELOCATING+ edata  =  .;}
   ${RELOCATING+ _edata  =  .;}
-  ${RELOCATING+ ${BSS_VAR}}
-  .sbss ${RELOCATING+ .} : {
+  ${RELOCATING+ _fbss = .;}
+  .sbss : {
     *(.sbss)
     *(.scommon)
   }
-  .bss ${RELOCATING+ .} : {
+  .bss : {
     *(.bss)
     *(COMMON)
   }