From 193a53d920ac7248cf6a3d8e36f74e9b9100b93b Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 4 Sep 2007 20:00:53 +0000 Subject: Add support for --enable-target to control which template specializations we generate. --- gold/output.cc | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) (limited to 'gold/output.cc') diff --git a/gold/output.cc b/gold/output.cc index 2a7400d..ddf2ebb 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; +#endif +#ifdef HAVE_TARGET_32_BIG template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_64_LITTLE template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_64_BIG template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_32_LITTLE template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_32_BIG template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_64_LITTLE template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_64_BIG template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_32_LITTLE template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_32_BIG template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_64_LITTLE template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_64_BIG template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_32_LITTLE template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_32_BIG template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_64_LITTLE template class Output_data_reloc; +#endif +#ifdef HAVE_TARGET_64_BIG template class Output_data_reloc; +#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. - -- cgit v1.1