summaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2013-01-23 10:31:13 +0000
committerAlan Modra <amodra@bigpond.net.au>2013-01-23 10:31:13 +0000
commit0f0746e185dcdeb16358758e559c77e72c87e6d5 (patch)
treefc00e817b117ef21f1648bd2abb526a3f9dc733c /ld
parent8b0d5fd43c05cd48843598ed3271d9ff02348759 (diff)
downloadbinutils-redhat-0f0746e185dcdeb16358758e559c77e72c87e6d5.tar.gz
* Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64rdos.c.
(eelf64rdos.c): New rule. * emulparams/elf64rdos.sh: New file. * configure.tgt (x86_64-*-rdos*): Use above. * Makefile.in: Regenerate.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog8
-rw-r--r--ld/Makefile.am4
-rw-r--r--ld/Makefile.in5
-rw-r--r--ld/configure.tgt2
-rw-r--r--ld/emulparams/elf64rdos.sh23
5 files changed, 41 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 682d8198e2..4992e1c56e 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,11 @@
+2013-01-23 Leif Ekblad <leif@rdos.net>
+
+ * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64rdos.c.
+ (eelf64rdos.c): New rule.
+ * emulparams/elf64rdos.sh: New file.
+ * configure.tgt (x86_64-*-rdos*): Use above.
+ * Makefile.in: Regenerate.
+
2013-01-22 Roland McGrath <mcgrathr@google.com>
* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set
diff --git a/ld/Makefile.am b/ld/Makefile.am
index c12bcb6865..837a878b1f 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -516,6 +516,7 @@ ALL_64_EMULATION_SOURCES = \
eelf64mmix.c \
eelf64ppc.c \
eelf64ppc_fbsd.c \
+ eelf64rdos.c \
eelf64tilegx.c \
eelf64tilegx_be.c \
eelf_l1om.c \
@@ -2102,6 +2103,9 @@ eelf64ppc_fbsd.c: $(srcdir)/emulparams/elf64ppc_fbsd.sh \
$(srcdir)/emultempl/ppc64elf.em ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64ppc_fbsd "$(tdir_elf64ppc_fbsd)"
+eelf64rdos.c: $(srcdir)/emulparams/elf64rdos.sh \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64rdos "$(tdir_elf64rdos)"
eelf64tilegx.c: $(srcdir)/emulparams/elf64tilegx.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
diff --git a/ld/Makefile.in b/ld/Makefile.in
index e21a7ced0b..3fd08fc531 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -823,6 +823,7 @@ ALL_64_EMULATION_SOURCES = \
eelf64mmix.c \
eelf64ppc.c \
eelf64ppc_fbsd.c \
+ eelf64rdos.c \
eelf64tilegx.c \
eelf64tilegx_be.c \
eelf_l1om.c \
@@ -1246,6 +1247,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64mmix.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ppc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ppc_fbsd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64rdos.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64tilegx.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64tilegx_be.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386.Po@am__quote@
@@ -3586,6 +3588,9 @@ eelf64ppc_fbsd.c: $(srcdir)/emulparams/elf64ppc_fbsd.sh \
$(srcdir)/emultempl/ppc64elf.em ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64ppc_fbsd "$(tdir_elf64ppc_fbsd)"
+eelf64rdos.c: $(srcdir)/emulparams/elf64rdos.sh \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64rdos "$(tdir_elf64rdos)"
eelf64tilegx.c: $(srcdir)/emulparams/elf64tilegx.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 33e7a17c51..f4d1c31532 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -217,7 +217,7 @@ i[3-7]86-*-coff) targ_emul=i386coff ;;
i[3-7]86-*-rtems*) targ_emul=elf_i386 ;;
i[3-7]86-*-aros*) targ_emul=elf_i386 ;;
i[3-7]86-*-rdos*) targ_emul=elf_i386 ;;
-x86_64-*-rdos*) targ_emul=elf_x86_64 ;;
+x86_64-*-rdos*) targ_emul=elf64rdos ;;
i[3-7]86-*-bsd) targ_emul=i386bsd ;;
i[3-7]86-*-bsd386) targ_emul=i386bsd ;;
i[3-7]86-*-bsdi*) targ_emul=i386bsd ;;
diff --git a/ld/emulparams/elf64rdos.sh b/ld/emulparams/elf64rdos.sh
new file mode 100644
index 0000000000..021bc70468
--- /dev/null
+++ b/ld/emulparams/elf64rdos.sh
@@ -0,0 +1,23 @@
+. ${srcdir}/emulparams/plt_unwind.sh
+SCRIPT_NAME=elf
+ELFSIZE=64
+OUTPUT_FORMAT="elf64-x86-64"
+NO_REL_RELOCS=yes
+MAXPAGESIZE=0x1000
+COMMONPAGESIZE=0x1000
+TEXT_START_ADDR=0x180E0000000
+LARGE_DATA_ADDR=0x80020000000
+ARCH="i386:x86-64"
+MACHINE=
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+LARGE_SECTIONS=yes
+IREL_IN_PLT=
+
+if [ "x${host}" = "x${target}" ]; then
+ case " $EMULATION_LIBPATH " in
+ *" ${EMULATION_NAME} "*)
+ NATIVE=yes
+ esac
+fi