summaryrefslogtreecommitdiff
path: root/gold/output.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-09-04 20:00:53 +0000
committerIan Lance Taylor <iant@google.com>2007-09-04 20:00:53 +0000
commit193a53d920ac7248cf6a3d8e36f74e9b9100b93b (patch)
treefe5c87514693b22f2705d4f8d92fd94d7978781e /gold/output.cc
parent64707334c75cdf16a0c2d317fc381c9b158beed9 (diff)
downloadbinutils-gdb-193a53d920ac7248cf6a3d8e36f74e9b9100b93b.tar.gz
Add support for --enable-target to control which template
specializations we generate.
Diffstat (limited to 'gold/output.cc')
-rw-r--r--gold/output.cc49
1 files changed, 48 insertions, 1 deletions
diff --git a/gold/output.cc b/gold/output.cc
index 2a7400def77..ddf2ebb4e63 100644
--- a/gold/output.cc
+++ b/gold/output.cc
@@ -1574,6 +1574,7 @@ Output_file::close()
// Instantiate the templates we need. We could use the configure
// script to restrict this to only the ones for implemented targets.
+#ifdef HAVE_TARGET_32_LITTLE
template
off_t
Output_section::add_input_section<32, false>(
@@ -1581,7 +1582,9 @@ Output_section::add_input_section<32, false>(
unsigned int shndx,
const char* secname,
const elfcpp::Shdr<32, false>& shdr);
+#endif
+#ifdef HAVE_TARGET_32_BIG
template
off_t
Output_section::add_input_section<32, true>(
@@ -1589,7 +1592,9 @@ Output_section::add_input_section<32, true>(
unsigned int shndx,
const char* secname,
const elfcpp::Shdr<32, true>& shdr);
+#endif
+#ifdef HAVE_TARGET_64_LITTLE
template
off_t
Output_section::add_input_section<64, false>(
@@ -1597,7 +1602,9 @@ Output_section::add_input_section<64, false>(
unsigned int shndx,
const char* secname,
const elfcpp::Shdr<64, false>& shdr);
+#endif
+#ifdef HAVE_TARGET_64_BIG
template
off_t
Output_section::add_input_section<64, true>(
@@ -1605,66 +1612,106 @@ Output_section::add_input_section<64, true>(
unsigned int shndx,
const char* secname,
const elfcpp::Shdr<64, true>& shdr);
+#endif
+#ifdef HAVE_TARGET_32_LITTLE
template
class Output_data_reloc<elfcpp::SHT_REL, false, 32, false>;
+#endif
+#ifdef HAVE_TARGET_32_BIG
template
class Output_data_reloc<elfcpp::SHT_REL, false, 32, true>;
+#endif
+#ifdef HAVE_TARGET_64_LITTLE
template
class Output_data_reloc<elfcpp::SHT_REL, false, 64, false>;
+#endif
+#ifdef HAVE_TARGET_64_BIG
template
class Output_data_reloc<elfcpp::SHT_REL, false, 64, true>;
+#endif
+#ifdef HAVE_TARGET_32_LITTLE
template
class Output_data_reloc<elfcpp::SHT_REL, true, 32, false>;
+#endif
+#ifdef HAVE_TARGET_32_BIG
template
class Output_data_reloc<elfcpp::SHT_REL, true, 32, true>;
+#endif
+#ifdef HAVE_TARGET_64_LITTLE
template
class Output_data_reloc<elfcpp::SHT_REL, true, 64, false>;
+#endif
+#ifdef HAVE_TARGET_64_BIG
template
class Output_data_reloc<elfcpp::SHT_REL, true, 64, true>;
+#endif
+#ifdef HAVE_TARGET_32_LITTLE
template
class Output_data_reloc<elfcpp::SHT_RELA, false, 32, false>;
+#endif
+#ifdef HAVE_TARGET_32_BIG
template
class Output_data_reloc<elfcpp::SHT_RELA, false, 32, true>;
+#endif
+#ifdef HAVE_TARGET_64_LITTLE
template
class Output_data_reloc<elfcpp::SHT_RELA, false, 64, false>;
+#endif
+#ifdef HAVE_TARGET_64_BIG
template
class Output_data_reloc<elfcpp::SHT_RELA, false, 64, true>;
+#endif
+#ifdef HAVE_TARGET_32_LITTLE
template
class Output_data_reloc<elfcpp::SHT_RELA, true, 32, false>;
+#endif
+#ifdef HAVE_TARGET_32_BIG
template
class Output_data_reloc<elfcpp::SHT_RELA, true, 32, true>;
+#endif
+#ifdef HAVE_TARGET_64_LITTLE
template
class Output_data_reloc<elfcpp::SHT_RELA, true, 64, false>;
+#endif
+#ifdef HAVE_TARGET_64_BIG
template
class Output_data_reloc<elfcpp::SHT_RELA, true, 64, true>;
+#endif
+#ifdef HAVE_TARGET_32_LITTLE
template
class Output_data_got<32, false>;
+#endif
+#ifdef HAVE_TARGET_32_BIG
template
class Output_data_got<32, true>;
+#endif
+#ifdef HAVE_TARGET_64_LITTLE
template
class Output_data_got<64, false>;
+#endif
+#ifdef HAVE_TARGET_64_BIG
template
class Output_data_got<64, true>;
+#endif
} // End namespace gold.
-