* configure.ac: If targ_extra_obj is set, link it in.
authorIan Lance Taylor <ian@airs.com>
Mon, 5 May 2008 20:20:21 +0000 (20:20 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 5 May 2008 20:20:21 +0000 (20:20 +0000)
* configure.tgt: Initialize all variables.
(x86_64*): Set targ_extra_obj and targ_extra_size.
* configure: Rebuild.

gold/ChangeLog
gold/configure
gold/configure.ac
gold/configure.tgt

index 47f824ee65baa86909736145f8ce29d7b4c28df4..1d9f9d9196117cad523c2c3ca0dd39b518600c79 100644 (file)
@@ -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.
index 574af8b57a0983ebdf7c31aa126c9342ab8ba745..f8fcc76085092ea4162543aad102f9040235666a 100755 (executable)
@@ -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
index 1dcd3ae6202642c7bf1b9c39c4457e0ab3414fda..96733e43158dc66b7b3973a7429b752f25c44a11 100644 (file)
@@ -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
index 967db5621cf099ca172f94de56733b87441cfba2..70427d5713c4cabf4feeed184ef6f95c83b6e543 100644 (file)
@@ -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
 
 # 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-*)