summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-05-04 20:00:59 +0000
committerH.J. Lu <hjl.tools@gmail.com>2012-05-04 20:00:59 +0000
commit266adb81f388e2f9e40c7f10ce76587b8824d3df (patch)
treeb718ab04a67ea2d01e7ff311897c4609bc19d6f7
parent71804f70c046aa674d243ac093ba83805d434cd3 (diff)
downloadbinutils-redhat-266adb81f388e2f9e40c7f10ce76587b8824d3df.tar.gz
Support x86_64-*-linux-gnux32
gas/ * configure.tgt: Support x86_64-*-linux-gnux32. ld/ * configure.tgt: Support x86_64-*-linux-gnux32. ld/testsuite/ * ld-elf/eh1.d: Skip x86_64-*-linux-gnux32. * ld-elf/eh2.d: Likewise. * ld-elf/eh3.d: Likewise. * ld-elf/eh4.d: Likewise. * ld-elfvsb/elfvsb.exp: Xfail x86_64-*-linux-gnux32. * ld-shared/shared.exp: Likewise. * ld-ifunc/ifunc-3a-x86.d: Support x86_64-*-linux-gnux32.
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/configure.tgt5
-rw-r--r--ld/ChangeLog4
-rw-r--r--ld/configure.tgt5
-rw-r--r--ld/testsuite/ChangeLog12
-rw-r--r--ld/testsuite/ld-elf/eh1.d1
-rw-r--r--ld/testsuite/ld-elf/eh2.d1
-rw-r--r--ld/testsuite/ld-elf/eh3.d1
-rw-r--r--ld/testsuite/ld-elf/eh4.d1
-rw-r--r--ld/testsuite/ld-elfvsb/elfvsb.exp3
-rw-r--r--ld/testsuite/ld-ifunc/ifunc-3a-x86.d2
-rw-r--r--ld/testsuite/ld-shared/shared.exp3
12 files changed, 40 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 8ea8296a72..d33b4340a0 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,9 @@
2012-05-04 H.J. Lu <hongjiu.lu@intel.com>
+ * configure.tgt: Support x86_64-*-linux-gnux32.
+
+2012-05-04 H.J. Lu <hongjiu.lu@intel.com>
+
* config/tc-i386.c (match_template): Add `instruction' to
unsupported error message.
diff --git a/gas/configure.tgt b/gas/configure.tgt
index 99de3d74c4..e07bc553e1 100644
--- a/gas/configure.tgt
+++ b/gas/configure.tgt
@@ -205,7 +205,10 @@ case ${generic_target} in
i386-*-linux*aout*) fmt=aout em=linux ;;
i386-*-linux*oldld) fmt=aout em=linux ;;
i386-*-linux*coff*) fmt=coff em=linux ;;
- i386-*-linux-*) fmt=elf em=linux ;;
+ i386-*-linux-*) fmt=elf em=linux
+ case ${cpu}-${os} in
+ x86_64*-linux-gnux32) arch=x86_64:32 ;;
+ esac ;;
i386-*-lynxos*) fmt=elf em=lynx ;;
i386-*-sysv[45]*) fmt=elf ;;
i386-*-solaris*) fmt=elf em=solaris ;;
diff --git a/ld/ChangeLog b/ld/ChangeLog
index ca5ae3408a..c80b07f416 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,7 @@
+2012-05-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.tgt: Support x86_64-*-linux-gnux32.
+
2012-05-03 Sean Keys <skeys@ipdatasys.com>
* Makefile.am (ALL_EMULATIONS): Added new emulation for XGATE
diff --git a/ld/configure.tgt b/ld/configure.tgt
index d7ad3baaac..4171d8c992 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -204,6 +204,11 @@ i[3-7]86-*-linux-*) targ_emul=elf_i386
targ64_extra_libpath=elf_x86_64
targ_extra_libpath=elf32_x86_64
tdir_i386linux=${targ_alias}aout ;;
+x86_64-*-linux-gnux32) targ_emul=elf32_x86_64
+ targ_extra_emuls="elf_x86_64 elf_i386 i386linux elf_l1om"
+ targ_extra_libpath="elf_i386 elf_x86_64 elf_l1om"
+ tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
+ tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;;
x86_64-*-linux-*) targ_emul=elf_x86_64
targ_extra_emuls="elf32_x86_64 elf_i386 i386linux elf_l1om elf_k1om"
targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om"
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 616101973a..46415b8e75 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,15 @@
+2012-05-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-elf/eh1.d: Skip x86_64-*-linux-gnux32.
+ * ld-elf/eh2.d: Likewise.
+ * ld-elf/eh3.d: Likewise.
+ * ld-elf/eh4.d: Likewise.
+
+ * ld-elfvsb/elfvsb.exp: Xfail x86_64-*-linux-gnux32.
+ * ld-shared/shared.exp: Likewise.
+
+ * ld-ifunc/ifunc-3a-x86.d: Support x86_64-*-linux-gnux32.
+
2012-04-24 Roland McGrath <mcgrathr@google.com>
* ld-x86-64/plt-nacl.pd: Fix expected nop padding.
diff --git a/ld/testsuite/ld-elf/eh1.d b/ld/testsuite/ld-elf/eh1.d
index 4455b0d9cb..0fa41465a1 100644
--- a/ld/testsuite/ld-elf/eh1.d
+++ b/ld/testsuite/ld-elf/eh1.d
@@ -3,6 +3,7 @@
#as: --64
#ld: -melf_x86_64 -Ttext 0x400078
#readelf: -wf
+#notarget: x86_64-*-linux-gnux32
#target: x86_64-*-*
Contents of the .eh_frame section:
diff --git a/ld/testsuite/ld-elf/eh2.d b/ld/testsuite/ld-elf/eh2.d
index c5b5a73a33..c63abb5b56 100644
--- a/ld/testsuite/ld-elf/eh2.d
+++ b/ld/testsuite/ld-elf/eh2.d
@@ -3,6 +3,7 @@
#as: --64
#ld: -melf_x86_64 -Ttext 0x400078
#readelf: -wf
+#notarget: x86_64-*-linux-gnux32
#target: x86_64-*-*
Contents of the .eh_frame section:
diff --git a/ld/testsuite/ld-elf/eh3.d b/ld/testsuite/ld-elf/eh3.d
index b3bd7567c4..3b9ad6405b 100644
--- a/ld/testsuite/ld-elf/eh3.d
+++ b/ld/testsuite/ld-elf/eh3.d
@@ -3,6 +3,7 @@
#as: --64
#ld: -melf_x86_64 -Ttext 0x400078
#readelf: -wf
+#notarget: x86_64-*-linux-gnux32
#target: x86_64-*-*
Contents of the .eh_frame section:
diff --git a/ld/testsuite/ld-elf/eh4.d b/ld/testsuite/ld-elf/eh4.d
index ad4b00807f..b482d038fd 100644
--- a/ld/testsuite/ld-elf/eh4.d
+++ b/ld/testsuite/ld-elf/eh4.d
@@ -3,6 +3,7 @@
#as: --64
#ld: -melf_x86_64 -shared -Ttext 0x400
#readelf: -wf
+#notarget: x86_64-*-linux-gnux32
#target: x86_64-*-*
Contents of the .eh_frame section:
diff --git a/ld/testsuite/ld-elfvsb/elfvsb.exp b/ld/testsuite/ld-elfvsb/elfvsb.exp
index e2c1b4cd5f..5d97cc85ab 100644
--- a/ld/testsuite/ld-elfvsb/elfvsb.exp
+++ b/ld/testsuite/ld-elfvsb/elfvsb.exp
@@ -308,6 +308,7 @@ proc visibility_run {visibility} {
if { [is_elf64 $tmpdir/mainnp.o] } {
setup_xfail "x86_64-*-linux*"
}
+ setup_xfail "x86_64-*-linux-gnux32"
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
}
@@ -351,6 +352,7 @@ proc visibility_run {visibility} {
if { [is_elf64 $tmpdir/mainnp.o] } {
setup_xfail "x86_64-*-linux*"
}
+ setup_xfail "x86_64-*-linux-gnux32"
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
}
@@ -425,6 +427,7 @@ proc visibility_run {visibility} {
if { [is_elf64 $tmpdir/mainp.o] } {
setup_xfail "x86_64-*-linux*"
}
+ setup_xfail "x86_64-*-linux-gnux32"
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
}
diff --git a/ld/testsuite/ld-ifunc/ifunc-3a-x86.d b/ld/testsuite/ld-ifunc/ifunc-3a-x86.d
index 24be6391aa..3ff80241de 100644
--- a/ld/testsuite/ld-ifunc/ifunc-3a-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-3a-x86.d
@@ -4,5 +4,5 @@
#target: x86_64-*-* i?86-*-*
#...
-[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x1b0|\+0x240|)@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x1b0|\+0x240|\+0x1a0|)@plt>
#pass
diff --git a/ld/testsuite/ld-shared/shared.exp b/ld/testsuite/ld-shared/shared.exp
index b5ada605c0..7ec304b0a5 100644
--- a/ld/testsuite/ld-shared/shared.exp
+++ b/ld/testsuite/ld-shared/shared.exp
@@ -240,6 +240,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
if { [is_elf64 $tmpdir/mainnp.o] } {
setup_xfail "x86_64-*-linux*"
}
+ setup_xfail "x86_64-*-linux-gnux32"
setup_xfail "s390x-*-linux*"
if [ string match $shared_needs_pic "yes" ] {
setup_xfail "arm*-*-linux*"
@@ -265,6 +266,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
if { [is_elf64 $tmpdir/mainnp.o] } {
setup_xfail "x86_64-*-linux*"
}
+ setup_xfail "x86_64-*-linux-gnux32"
setup_xfail "s390x-*-linux*"
if [ string match $shared_needs_pic "yes" ] {
setup_xfail "arm*-*-linux*"
@@ -320,6 +322,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdir/m
if { [is_elf64 $tmpdir/mainp.o] } {
setup_xfail "x86_64-*-linux*"
}
+ setup_xfail "x86_64-*-linux-gnux32"
setup_xfail "s390x-*-linux*"
if [ string match $shared_needs_pic "yes" ] {
setup_xfail "arm*-*-linux*"