diff options
author | Ian Lance Taylor <iant@google.com> | 2007-09-04 20:00:53 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2007-09-04 20:00:53 +0000 |
commit | 193a53d920ac7248cf6a3d8e36f74e9b9100b93b (patch) | |
tree | fe5c87514693b22f2705d4f8d92fd94d7978781e /gold/output.cc | |
parent | 64707334c75cdf16a0c2d317fc381c9b158beed9 (diff) | |
download | binutils-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.cc | 49 |
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. - |