aboutsummaryrefslogtreecommitdiff
path: root/gold/reloc.cc
diff options
context:
space:
mode:
authorDoug Kwan <dougkwan@google.com>2009-10-25 16:57:32 +0000
committerDoug Kwan <dougkwan@google.com>2009-10-25 16:57:32 +0000
commit72adc4fad75cca8235786832069b26e7ae3ba5cf (patch)
treec6a5bd480d91660b831dda2eaa67588a51c6d5ad /gold/reloc.cc
parenta39571ad49620595c2e9baf5b477c78eb7a22982 (diff)
downloadfsf-binutils-gdb-72adc4fad75cca8235786832069b26e7ae3ba5cf.zip
fsf-binutils-gdb-72adc4fad75cca8235786832069b26e7ae3ba5cf.tar.gz
fsf-binutils-gdb-72adc4fad75cca8235786832069b26e7ae3ba5cf.tar.bz2
2009-10-25 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_output_section, Arm_relobj): Forward class declarations. (Arm_input_section::as_arm_input_section): New method. (Arm_output_section): New class definition. (Arm_output_section::create_stub_group, Arm_output_section::group_sections): New method definitions.
Diffstat (limited to 'gold/reloc.cc')
-rw-r--r--gold/reloc.cc46
1 files changed, 45 insertions, 1 deletions
diff --git a/gold/reloc.cc b/gold/reloc.cc
index 3018dc3..0d4f069 100644
--- a/gold/reloc.cc
+++ b/gold/reloc.cc
@@ -799,7 +799,7 @@ Sized_relobj<size, big_endian>::write_sections(const unsigned char* pshdrs,
template<int size, bool big_endian>
void
-Sized_relobj<size, big_endian>::relocate_sections(
+Sized_relobj<size, big_endian>::do_relocate_sections(
const General_options& options,
const Symbol_table* symtab,
const Layout* layout,
@@ -1536,6 +1536,50 @@ Sized_relobj<64, true>::do_relocate(const General_options& options,
Output_file* of);
#endif
+#ifdef HAVE_TARGET_32_LITTLE
+template
+void
+Sized_relobj<32, false>::do_relocate_sections(
+ const General_options& options,
+ const Symbol_table* symtab,
+ const Layout* layout,
+ const unsigned char* pshdrs,
+ Views* pviews);
+#endif
+
+#ifdef HAVE_TARGET_32_BIG
+template
+void
+Sized_relobj<32, true>::do_relocate_sections(
+ const General_options& options,
+ const Symbol_table* symtab,
+ const Layout* layout,
+ const unsigned char* pshdrs,
+ Views* pviews);
+#endif
+
+#ifdef HAVE_TARGET_64_LITTLE
+template
+void
+Sized_relobj<64, false>::do_relocate_sections(
+ const General_options& options,
+ const Symbol_table* symtab,
+ const Layout* layout,
+ const unsigned char* pshdrs,
+ Views* pviews);
+#endif
+
+#ifdef HAVE_TARGET_64_BIG
+template
+void
+Sized_relobj<64, true>::do_relocate_sections(
+ const General_options& options,
+ const Symbol_table* symtab,
+ const Layout* layout,
+ const unsigned char* pshdrs,
+ Views* pviews);
+#endif
+
#if defined(HAVE_TARGET_32_LITTLE) || defined(HAVE_TARGET_32_BIG)
template
class Merged_symbol_value<32>;