From 60b2b4e76593b78a2569d47309ee9587df324b65 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Mon, 5 May 2008 20:20:21 +0000 Subject: [PATCH] * 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. --- gold/ChangeLog | 5 +++++ gold/configure | 3 +++ gold/configure.ac | 3 +++ gold/configure.tgt | 9 +++++++++ 4 files changed, 20 insertions(+) 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 + * 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-*) -- 2.7.4