# Ian Lance Taylor <ian@cygnus.com>.
# These variables may be overridden by the emulation file. The
# defaults are appropriate for an Alpha running OSF/1.
+#
+# Copyright (C) 2014-2020 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.
+
test -z "$ENTRY" && ENTRY=__start
test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x120000000 + SIZEOF_HEADERS"
-test -z "$DATA_ADDR" && DATA_ADDR=0x140000000
+if test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then
+ DATA_ADDR=.
+else
+ test -z "$DATA_ADDR" && DATA_ADDR=0x140000000
+fi
cat <<EOF
+/* Copyright (C) 2014-2020 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}")
${LIB_SEARCH_DIRS}
-ENTRY(${ENTRY})
+${RELOCATING+ENTRY (${ENTRY})}
SECTIONS
{
- .text ${RELOCATING+ ${TEXT_START_ADDR}} : {
- ${RELOCATING+ _FTEXT = . };
- ${RELOCATING+ __istart = . };
- ${RELOCATING+ *(.init) }
+ ${RELOCATING+. = ${TEXT_START_ADDR};}
+ .text : {
+ ${RELOCATING+ _ftext = .;}
+ ${RELOCATING+ __istart = .;}
+ ${RELOCATING+ KEEP (*(SORT_NONE(.init)))}
${RELOCATING+ LONG (0x6bfa8001)}
- ${RELOCATING+ eprol = .};
+ ${RELOCATING+ eprol = .;}
*(.text)
- ${RELOCATING+ __fstart = . };
- ${RELOCATING+ *(.fini)}
+ ${RELOCATING+ __fstart = .;}
+ ${RELOCATING+ KEEP (*(SORT_NONE(.fini)))}
${RELOCATING+ LONG (0x6bfa8001)}
- ${RELOCATING+ _ETEXT = .};
+ ${RELOCATING+ _etext = .;}
}
- .rdata ${RELOCATING+ .} : {
+ .rdata : {
*(.rdata)
}
- .pdata . : {
+ .rconst : {
+ *(.rconst)
+ }
+ .pdata : {
${RELOCATING+ _fpdata = .;}
*(.pdata)
}
- .data ${RELOCATING+ ${DATA_ADDR}} : {
- ${RELOCATING+ _FDATA = .;}
+ ${RELOCATING+. = ${DATA_ADDR};}
+ .data : {
+ ${RELOCATING+ _fdata = .;}
*(.data)
${CONSTRUCTING+CONSTRUCTORS}
}
- .xdata . : {
+ .xdata : {
*(.xdata)
}
- ${RELOCATING+ _gp = ALIGN (8) + 0x8000;}
- .lit8 ${RELOCATING+ .} : {
+ ${RELOCATING+ _gp = ALIGN (16) + 0x8000;}
+ .lit8 : {
*(.lit8)
}
- .lit4 ${RELOCATING+ .} : {
- *(.lit4)
- }
- .lita ${RELOCATING+ .} : {
+ .lita : {
*(.lita)
}
- .sdata ${RELOCATING+ .} : {
+ .sdata : {
*(.sdata)
}
${RELOCATING+ _EDATA = .;}
${RELOCATING+ _FBSS = .;}
- .sbss ${RELOCATING+ .} : {
+ .sbss : {
*(.sbss)
- *(.scommon)
+ ${RELOCATING+*(.scommon)}
}
- .bss ${RELOCATING+ .} : {
+ .bss : {
*(.bss)
- *(COMMON)
+ ${RELOCATING+*(COMMON)}
}
- ${RELOCATING+ _END = .;}
${RELOCATING+ _end = .;}
}
EOF