summaryrefslogtreecommitdiffstats
path: root/ld/emulparams/elf64mmix.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ld/emulparams/elf64mmix.sh')
-rw-r--r--ld/emulparams/elf64mmix.sh7
1 files changed, 5 insertions, 2 deletions
diff --git a/ld/emulparams/elf64mmix.sh b/ld/emulparams/elf64mmix.sh
index 787b50d654..bdb5d0abcd 100644
--- a/ld/emulparams/elf64mmix.sh
+++ b/ld/emulparams/elf64mmix.sh
@@ -35,11 +35,14 @@ EXTRA_EM_FILE=mmixelf
# DEFINED wouldn't find the symbol if it was at the top; presumably
# before the definition, if the definition is not in the first file.
# FIXME: Arguably a linker bug.
-OTHER_TEXT_SECTIONS='
+# Only do this for a final link, or else we'll mess up e.g. error
+# messages.
+OTHER_TEXT_SECTIONS="
+${RELOCATING+
_start. = (DEFINED (_start) ? _start
: (DEFINED (Main) ? Main : (DEFINED (.text) ? .text : 0)));
PROVIDE (Main = DEFINED (Main) ? Main : (DEFINED (_start) ? _start : _start.));
-'
+}"
OTHER_SECTIONS='
.MMIX.reg_contents :
OpenPOWER on IntegriCloud