aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2014-03-10 13:36:40 -0700
committerCary Coutant <ccoutant@google.com>2014-03-10 13:36:40 -0700
commitbeacaa966be202228a7905474013dfb199f36e14 (patch)
tree11b2bb169353a01f018da004dfe8500623788464
parent800d982336156359cad5f98ba26a249a94f13108 (diff)
downloadfsf-binutils-gdb-beacaa966be202228a7905474013dfb199f36e14.zip
fsf-binutils-gdb-beacaa966be202228a7905474013dfb199f36e14.tar.gz
fsf-binutils-gdb-beacaa966be202228a7905474013dfb199f36e14.tar.bz2
Add explicit instantiations for Sized_symbol::init_output_data.
2014-03-10 Sasa Stankovic <Sasa.Stankovic@imgtec.com> gold/ * symtab.cc (Sized_symbol<32>::init_output_data): Instantiate the template. (Sized_symbol<64>::init_output_data): Likewise.
-rw-r--r--gold/ChangeLog6
-rw-r--r--gold/symtab.cc26
2 files changed, 32 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 21e23d3..1e21236 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,11 @@
2014-03-10 Sasa Stankovic <Sasa.Stankovic@imgtec.com>
+ * symtab.cc (Sized_symbol<32>::init_output_data):
+ Instantiate the template.
+ (Sized_symbol<64>::init_output_data): Likewise.
+
+2014-03-10 Sasa Stankovic <Sasa.Stankovic@imgtec.com>
+
* symtab.cc (Symbol_table::sized_write_globals): Allow a target to
adjust dynamic symbol value.
* target.h (Target::adjust_dyn_symbol): New function.
diff --git a/gold/symtab.cc b/gold/symtab.cc
index 2a00d56..1a69f5b 100644
--- a/gold/symtab.cc
+++ b/gold/symtab.cc
@@ -3644,6 +3644,32 @@ Symbol_table::define_with_copy_reloc<64>(
elfcpp::Elf_types<64>::Elf_Addr value);
#endif
+#if defined(HAVE_TARGET_32_LITTLE) || defined(HAVE_TARGET_32_BIG)
+template
+void
+Sized_symbol<32>::init_output_data(const char* name, const char* version,
+ Output_data* od, Value_type value,
+ Size_type symsize, elfcpp::STT type,
+ elfcpp::STB binding,
+ elfcpp::STV visibility,
+ unsigned char nonvis,
+ bool offset_is_from_end,
+ bool is_predefined);
+#endif
+
+#if defined(HAVE_TARGET_64_LITTLE) || defined(HAVE_TARGET_64_BIG)
+template
+void
+Sized_symbol<64>::init_output_data(const char* name, const char* version,
+ Output_data* od, Value_type value,
+ Size_type symsize, elfcpp::STT type,
+ elfcpp::STB binding,
+ elfcpp::STV visibility,
+ unsigned char nonvis,
+ bool offset_is_from_end,
+ bool is_predefined);
+#endif
+
#ifdef HAVE_TARGET_32_LITTLE
template
void