aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2008-05-05 20:20:21 +0000
committerIan Lance Taylor <ian@airs.com>2008-05-05 20:20:21 +0000
commit60b2b4e76593b78a2569d47309ee9587df324b65 (patch)
treef1ef6c4f768cebf5b9d531be0eb1cfe051403eaf
parent8825ac63ef01c08e4668e652d461f94e6761a312 (diff)
downloadfsf-binutils-gdb-60b2b4e76593b78a2569d47309ee9587df324b65.zip
fsf-binutils-gdb-60b2b4e76593b78a2569d47309ee9587df324b65.tar.gz
fsf-binutils-gdb-60b2b4e76593b78a2569d47309ee9587df324b65.tar.bz2
* configure.ac: If targ_extra_obj is set, link it in.
* configure.tgt: Initialize all variables. (x86_64*): Set targ_extra_obj and targ_extra_size. * configure: Rebuild.
-rw-r--r--gold/ChangeLog5
-rwxr-xr-xgold/configure3
-rw-r--r--gold/configure.ac3
-rw-r--r--gold/configure.tgt9
4 files changed, 20 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 47f824e..1d9f9d9 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,10 @@
2008-05-05 Ian Lance Taylor <iant@google.com>
+ * configure.ac: If targ_extra_obj is set, link it in.
+ * configure.tgt: Initialize all variables.
+ (x86_64*): Set targ_extra_obj and targ_extra_size.
+ * configure: Rebuild.
+
* object.cc (Sized_relobj::include_section_group): Adjust section
indexes read from group data. Build vector to pass to
layout_group.
diff --git a/gold/configure b/gold/configure
index 574af8b..f8fcc76 100755
--- a/gold/configure
+++ b/gold/configure
@@ -2014,6 +2014,9 @@ echo "$as_me: error: \"unsupported target $targ\"" >&2;}
{ (exit 1); exit 1; }; }
else
targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)"
+ if test "$targ_extra_obj" != ""; then
+ targetobjs="$targetobjs ${targ_extra_obj}.\$(OBJEXT)"
+ fi
if test "$targ_size" = "32" -o "$targ_extra_size" = "32"; then
if test "$targ_big_endian" = "true" \
-o "$targ_extra_big_endian" = "true"; then
diff --git a/gold/configure.ac b/gold/configure.ac
index 1dcd3ae..96733e4 100644
--- a/gold/configure.ac
+++ b/gold/configure.ac
@@ -107,6 +107,9 @@ for targ in $target $canon_targets; do
AC_MSG_ERROR("unsupported target $targ")
else
targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)"
+ if test "$targ_extra_obj" != ""; then
+ targetobjs="$targetobjs ${targ_extra_obj}.\$(OBJEXT)"
+ fi
if test "$targ_size" = "32" -o "$targ_extra_size" = "32"; then
if test "$targ_big_endian" = "true" \
-o "$targ_extra_big_endian" = "true"; then
diff --git a/gold/configure.tgt b/gold/configure.tgt
index 967db56..70427d5 100644
--- a/gold/configure.tgt
+++ b/gold/configure.tgt
@@ -30,6 +30,7 @@
# shell variables:
# targ_obj object file to include in the link, with no extension
+# targ_extra_obj extra object file to include
# targ_machine ELF machine code for this target
# targ_size size of this target--32 or 64
# targ_extra_size extra targ_size setting for the target
@@ -38,6 +39,12 @@
# If the target is not recognized targ_obj is set to "UNKNOWN".
+targ_extra_obj=
+targ_machine=
+targ_size=
+targ_extra_size=
+targ_big_endian=
+targ_extra_big_endian=
case "$targ" in
i?86-*)
targ_obj=i386
@@ -47,8 +54,10 @@ i?86-*)
;;
x86_64*)
targ_obj=x86_64
+ targ_extra_obj=i386
targ_machine=EM_X86_64
targ_size=64
+ targ_extra_size=32
targ_big_endian=false
;;
sparc-*)