This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Enable x32 for x86_64-*-elf*


Hi,

I am checking in this patch to enable x32 for x86_64-*-elf* for embedded
target.  I disabled rex tests since it uses '/' as prefix separator
which is `\' for x86_64-*-elf*.

H.J.
---
bfd/

2013-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* config.bfd (targ_selvecs): Add bfd_elf32_x86_64_vec for
	x86_64-*-elf*.

gas/testsuite/

2013-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/rex.d: Skip x86_64-*-elf*.
	* gas/i386/ilp32/rex.d: Likewise.

ld/

2013-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.tgt (targ_extra_emuls): Adds elf32_x86_64 for
	x86_64-*-elf*.
	(targ_extra_libpath): Likewise.
	(tdir_elf_i386): Replace x86_64 with i386 for x86_64-*-elf*.

diff --git a/bfd/config.bfd b/bfd/config.bfd
index 10820e2..aef60c7 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -644,7 +644,7 @@ case "${targ}" in
     ;;
   x86_64-*-elf*)
     targ_defvec=bfd_elf64_x86_64_vec
-    targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec i386coff_vec"
+    targ_selvecs="bfd_elf32_i386_vec bfd_elf32_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
     want64=true
     ;;
   x86_64-*-dragonfly*)
diff --git a/gas/testsuite/gas/i386/ilp32/rex.d b/gas/testsuite/gas/i386/ilp32/rex.d
index 7c704c9..36241c1 100644
--- a/gas/testsuite/gas/i386/ilp32/rex.d
+++ b/gas/testsuite/gas/i386/ilp32/rex.d
@@ -1,6 +1,7 @@
 #source: ../rex.s
 #objdump: -dw
 #name: x86-64 (ILP32) manual rex prefix use
+#not-target: x86_64-*-elf*
 
 .*: +file format .*
 
diff --git a/gas/testsuite/gas/i386/rex.d b/gas/testsuite/gas/i386/rex.d
index bf783c6..3c52e16 100644
--- a/gas/testsuite/gas/i386/rex.d
+++ b/gas/testsuite/gas/i386/rex.d
@@ -1,5 +1,6 @@
 #objdump: -dw
 #name: x86-64 manual rex prefix use
+#not-target: x86_64-*-elf*
 
 .*: +file format .*
 
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 3b06dd3..cd840e9 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -278,7 +278,9 @@ x86_64-*-netbsd*)	targ_emul=elf_x86_64
 i[3-7]86-*-netware)	targ_emul=i386nw ;;
 i[3-7]86-*-elf*)	targ_emul=elf_i386 ;;
 x86_64-*-elf*)		targ_emul=elf_x86_64
-			targ_extra_emuls="elf_i386 elf_l1om elf_k1om"
+			targ_extra_emuls="elf_i386 elf32_x86_64 elf_l1om elf_k1om"
+			targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om"
+			tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
 			;;
 i[3-7]86-*-kaos*)	targ_emul=elf_i386 ;;
 i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12])


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]