2010-02-04 Doug Kwan <dougkwan@google.com>

PR 11247
	* arm-reloc-property.cc (cstdio): Include.
	* configure.ac (targetobjs): Remove duplicates.
	* configure: Regenerate.
	* resolve.cc (Symbol_table::resolve): Explicit instantiate both
	big and little endian version for a given address size.
This commit is contained in:
Doug Kwan 2010-02-05 00:30:35 +00:00
parent 34ed35c124
commit 6cfaf60bc2
5 changed files with 21 additions and 6 deletions

View file

@ -1,3 +1,12 @@
2010-02-04 Doug Kwan <dougkwan@google.com>
PR 11247
* arm-reloc-property.cc (cstdio): Include.
* configure.ac (targetobjs): Remove duplicates.
* configure: Regenerate.
* resolve.cc (Symbol_table::resolve): Explicit instantiate both
big and little endian version for a given address size.
2010-02-03 Doug Kwan <dougkwan@google.com>
* arm-reloc-property.cc

View file

@ -22,6 +22,7 @@
#include "gold.h"
#include <cstdio>
#include <cstring>
#include <stack>
#include <string>

3
gold/configure vendored
View file

@ -3410,6 +3410,9 @@ fi
fi
done
# Remove any duplicates.
targetobjs=`echo $targetobjs | tr ' ' '\n' | sort | uniq | tr '\n' ' '`
if test -n "$targ_32_little"; then
$as_echo "#define HAVE_TARGET_32_LITTLE 1" >>confdefs.h

View file

@ -162,6 +162,9 @@ for targ in $target $canon_targets; do
fi
done
# Remove any duplicates.
targetobjs=`echo $targetobjs | tr ' ' '\n' | sort | uniq | tr '\n' ' '`
if test -n "$targ_32_little"; then
AC_DEFINE(HAVE_TARGET_32_LITTLE, 1,
[Define to support 32-bit little-endian targets])

View file

@ -916,7 +916,10 @@ Symbol_table::override_with_special(Sized_symbol<size>* tosym,
// script to restrict this to only the ones needed for implemented
// targets.
#ifdef HAVE_TARGET_32_LITTLE
// We have to instantiate both big and little endian versions because
// these are used by other templates that depends on size only.
#if defined(HAVE_TARGET_32_LITTLE) || defined(HAVE_TARGET_32_BIG)
template
void
Symbol_table::resolve<32, false>(
@ -927,9 +930,7 @@ Symbol_table::resolve<32, false>(
unsigned int orig_st_shndx,
Object* object,
const char* version);
#endif
#ifdef HAVE_TARGET_32_BIG
template
void
Symbol_table::resolve<32, true>(
@ -942,7 +943,7 @@ Symbol_table::resolve<32, true>(
const char* version);
#endif
#ifdef HAVE_TARGET_64_LITTLE
#if defined(HAVE_TARGET_64_LITTLE) || defined(HAVE_TARGET_64_BIG)
template
void
Symbol_table::resolve<64, false>(
@ -953,9 +954,7 @@ Symbol_table::resolve<64, false>(
unsigned int orig_st_shndx,
Object* object,
const char* version);
#endif
#ifdef HAVE_TARGET_64_BIG
template
void
Symbol_table::resolve<64, true>(