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/reloc.cc | |
parent | 64707334c75cdf16a0c2d317fc381c9b158beed9 (diff) | |
download | gdb-193a53d920ac7248cf6a3d8e36f74e9b9100b93b.zip gdb-193a53d920ac7248cf6a3d8e36f74e9b9100b93b.tar.gz gdb-193a53d920ac7248cf6a3d8e36f74e9b9100b93b.tar.bz2 |
Add support for --enable-target to control which template
specializations we generate.
Diffstat (limited to 'gold/reloc.cc')
-rw-r--r-- | gold/reloc.cc | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/gold/reloc.cc b/gold/reloc.cc index 76ab196..cf7ee30 100644 --- a/gold/reloc.cc +++ b/gold/reloc.cc @@ -611,128 +611,176 @@ Copy_relocs<size, big_endian>::emit( // 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 void Sized_relobj<32, false>::do_read_relocs(Read_relocs_data* rd); +#endif +#ifdef HAVE_TARGET_32_BIG template void Sized_relobj<32, true>::do_read_relocs(Read_relocs_data* rd); +#endif +#ifdef HAVE_TARGET_64_LITTLE template void Sized_relobj<64, false>::do_read_relocs(Read_relocs_data* rd); +#endif +#ifdef HAVE_TARGET_64_BIG template void Sized_relobj<64, true>::do_read_relocs(Read_relocs_data* rd); +#endif +#ifdef HAVE_TARGET_32_LITTLE template void Sized_relobj<32, false>::do_scan_relocs(const General_options& options, Symbol_table* symtab, Layout* layout, Read_relocs_data* rd); +#endif +#ifdef HAVE_TARGET_32_BIG template void Sized_relobj<32, true>::do_scan_relocs(const General_options& options, Symbol_table* symtab, Layout* layout, Read_relocs_data* rd); +#endif +#ifdef HAVE_TARGET_64_LITTLE template void Sized_relobj<64, false>::do_scan_relocs(const General_options& options, Symbol_table* symtab, Layout* layout, Read_relocs_data* rd); +#endif +#ifdef HAVE_TARGET_64_BIG template void Sized_relobj<64, true>::do_scan_relocs(const General_options& options, Symbol_table* symtab, Layout* layout, Read_relocs_data* rd); +#endif +#ifdef HAVE_TARGET_32_LITTLE template void Sized_relobj<32, false>::do_relocate(const General_options& options, const Symbol_table* symtab, const Layout* layout, Output_file* of); +#endif +#ifdef HAVE_TARGET_32_BIG template void Sized_relobj<32, true>::do_relocate(const General_options& options, const Symbol_table* symtab, const Layout* layout, Output_file* of); +#endif +#ifdef HAVE_TARGET_64_LITTLE template void Sized_relobj<64, false>::do_relocate(const General_options& options, const Symbol_table* symtab, const Layout* layout, Output_file* of); +#endif +#ifdef HAVE_TARGET_64_BIG template void Sized_relobj<64, true>::do_relocate(const General_options& options, const Symbol_table* symtab, const Layout* layout, Output_file* of); +#endif +#ifdef HAVE_TARGET_32_LITTLE template class Copy_relocs<32, false>; +#endif +#ifdef HAVE_TARGET_32_BIG template class Copy_relocs<32, true>; +#endif +#ifdef HAVE_TARGET_64_LITTLE template class Copy_relocs<64, false>; +#endif +#ifdef HAVE_TARGET_64_BIG template class Copy_relocs<64, true>; +#endif +#ifdef HAVE_TARGET_32_LITTLE template void Copy_relocs<32, false>::emit<elfcpp::SHT_REL>( Output_data_reloc<elfcpp::SHT_REL, true, 32, false>*); +#endif +#ifdef HAVE_TARGET_32_BIG template void Copy_relocs<32, true>::emit<elfcpp::SHT_REL>( Output_data_reloc<elfcpp::SHT_REL, true, 32, true>*); +#endif +#ifdef HAVE_TARGET_64_LITTLE template void Copy_relocs<64, false>::emit<elfcpp::SHT_REL>( Output_data_reloc<elfcpp::SHT_REL, true, 64, false>*); +#endif +#ifdef HAVE_TARGET_64_BIG template void Copy_relocs<64, true>::emit<elfcpp::SHT_REL>( Output_data_reloc<elfcpp::SHT_REL, true, 64, true>*); +#endif +#ifdef HAVE_TARGET_32_LITTLE template void Copy_relocs<32, false>::emit<elfcpp::SHT_RELA>( Output_data_reloc<elfcpp::SHT_RELA , true, 32, false>*); +#endif +#ifdef HAVE_TARGET_32_BIG template void Copy_relocs<32, true>::emit<elfcpp::SHT_RELA>( Output_data_reloc<elfcpp::SHT_RELA, true, 32, true>*); +#endif +#ifdef HAVE_TARGET_64_LITTLE template void Copy_relocs<64, false>::emit<elfcpp::SHT_RELA>( Output_data_reloc<elfcpp::SHT_RELA, true, 64, false>*); +#endif +#ifdef HAVE_TARGET_64_BIG template void Copy_relocs<64, true>::emit<elfcpp::SHT_RELA>( Output_data_reloc<elfcpp::SHT_RELA, true, 64, true>*); +#endif } // End namespace gold. |