summaryrefslogtreecommitdiff
path: root/gold/resolve.cc
diff options
context:
space:
mode:
authorDoug Kwan <dougkwan@google.com>2010-02-05 00:30:35 +0000
committerDoug Kwan <dougkwan@google.com>2010-02-05 00:30:35 +0000
commit6cfaf60bc2581b5ef9028a4157d203adbd2ae9c2 (patch)
tree76d60561b6db8124d1bf24733aea2f5d1ad3864b /gold/resolve.cc
parent34ed35c124c7f38e6120a7dcc9d1249c147735b8 (diff)
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.
Diffstat (limited to 'gold/resolve.cc')
-rw-r--r--gold/resolve.cc11
1 files changed, 5 insertions, 6 deletions
diff --git a/gold/resolve.cc b/gold/resolve.cc
index 3c7c7a8382..8b1c321625 100644
--- a/gold/resolve.cc
+++ b/gold/resolve.cc
@@ -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>(