* configure.tgt: Initialize all variables.
(x86_64*): Set targ_extra_obj and targ_extra_size.
* configure: Rebuild.
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.
{ (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
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
# 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
;;
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-*)