aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2013-01-23 10:31:13 +0000
committerAlan Modra <amodra@gmail.com>2013-01-23 10:31:13 +0000
commita6dea726b0f30bee96e25711fd37e493979842ba (patch)
tree563917def729309cb9582f708a143213dc271dd1 /ld
parentf65a9e5395502dca6bea726c44b0e78ebf104886 (diff)
downloadgdb-a6dea726b0f30bee96e25711fd37e493979842ba.zip
gdb-a6dea726b0f30bee96e25711fd37e493979842ba.tar.gz
gdb-a6dea726b0f30bee96e25711fd37e493979842ba.tar.bz2
* 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 682d819..4992e1c 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 c12bcb6..837a878 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 e21a7ce..3fd08fc 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 33e7a17..f4d1c31 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 0000000..021bc70
--- /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