This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
x86-64 merger part2 - ld support
- To: binutils at sources dot redhat dot com, patches at x86-64 dot org
- Subject: x86-64 merger part2 - ld support
- From: Jan Hubicka <jh at suse dot cz>
- Date: Thu, 30 Nov 2000 14:45:26 +0100
Hi
This patch adds neccesary bits to ld to produce x86-64 executables.
Wed Oct 11 13:21:20 MET DST 2000 Jan Hubicka <jh@suse.cz>
* Makefile.am (ALL_EMULATIONS): Add eelf_x86_64.o
(eelf_x86_64.c): New.
* Makefile.in: Regenerate.
* configure.tgt: Add support for x86_64-*-linux-gnu*.
* elf_x86_64.sh: New.
diff -Nrc3p ../binutils-001127/ld/Makefile.am binutils/ld/Makefile.am
*** ../binutils-001127/ld/Makefile.am Sun Nov 5 07:27:15 2000
--- binutils/ld/Makefile.am Mon Nov 27 14:12:13 2000
*************** ALL_EMULATIONS = \
*** 152,157 ****
--- 152,158 ----
eelf32ppclinux.o \
eelf32ppcsim.o \
eelf_i386.o \
+ eelf_x86_64.o \
eelf_i386_be.o \
eelf_i386_chaos.o \
egld960.o \
*************** eelf64bmip.c: $(srcdir)/emulparams/elf64
*** 499,504 ****
--- 500,508 ----
eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386 "$(tdir_elf_i386)"
+ eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)"
eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386_be "$(tdir_elf_i386_be)"
diff -Nrc3p ../binutils-001127/ld/Makefile.in binutils/ld/Makefile.in
*** ../binutils-001127/ld/Makefile.in Sun Nov 5 07:27:15 2000
--- binutils/ld/Makefile.in Mon Nov 27 14:12:14 2000
*************** ALL_EMULATIONS = \
*** 260,265 ****
--- 260,266 ----
eelf32ppclinux.o \
eelf32ppcsim.o \
eelf_i386.o \
+ eelf_x86_64.o \
eelf_i386_be.o \
eelf_i386_chaos.o \
egld960.o \
*************** eelf64bmip.c: $(srcdir)/emulparams/elf64
*** 1213,1218 ****
--- 1214,1222 ----
eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386 "$(tdir_elf_i386)"
+ eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)"
eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386_be "$(tdir_elf_i386_be)"
diff -Nrc3p ../binutils-001127/ld/configure.tgt binutils/ld/configure.tgt
*** ../binutils-001127/ld/configure.tgt Sat Nov 25 01:21:39 2000
--- binutils/ld/configure.tgt Mon Nov 27 14:12:15 2000
*************** i[3456]86-*-linux-gnu*) targ_emul=elf_i3
*** 124,129 ****
--- 124,133 ----
targ_extra_emuls=i386linux
tdir_i386linux=${targ_alias}aout
;;
+ x86_64-*-linux-gnu*) targ_emul=elf_x86_64
+ targ_extra_emuls="elf_i386 i386linux"
+ tdir_i386linux=${targ_alias}aout
+ ;;
i[3456]86-*-sysv[45]*) targ_emul=elf_i386 ;;
i[3456]86-*-solaris2*) targ_emul=elf_i386 ;;
i[3456]86-*-unixware) targ_emul=elf_i386 ;;
diff -Nrc3p ../binutils-001127/ld/emulparams/elf_x86_64.sh binutils/ld/emulparams/elf_x86_64.sh
*** ../binutils-001127/ld/emulparams/elf_x86_64.sh Thu Jan 1 01:00:00 1970
--- binutils/ld/emulparams/elf_x86_64.sh Mon Nov 27 13:41:13 2000
***************
*** 0 ****
--- 1,11 ----
+ SCRIPT_NAME=elf
+ ELFSIZE=64
+ OUTPUT_FORMAT="elf64-x86-64"
+ TEXT_START_ADDR=0x1000
+ MAXPAGESIZE=0x1000
+ NONPAGED_TEXT_START_ADDR=0x1000
+ ARCH=i386
+ MACHINE=
+ NOP=0x9090
+ TEMPLATE_NAME=elf32
+ GENERATE_SHLIB_SCRIPT=yes