aboutsummaryrefslogtreecommitdiff
path: root/gold/target.h
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@gmail.com>2016-02-04 16:55:39 -0800
committerCary Coutant <ccoutant@gmail.com>2016-03-03 18:19:53 -0800
commitdc1c8a16a38dec431c77f49cf50a9b62d6366138 (patch)
treedde11c01459658ee118c3eefe93f8343beb9d623 /gold/target.h
parent8b4ee0a5c134be874ba44038d2fbd4d9b7f6d3ee (diff)
downloadfsf-binutils-gdb-dc1c8a16a38dec431c77f49cf50a9b62d6366138.zip
fsf-binutils-gdb-dc1c8a16a38dec431c77f49cf50a9b62d6366138.tar.gz
fsf-binutils-gdb-dc1c8a16a38dec431c77f49cf50a9b62d6366138.tar.bz2
Add support for STT_SPARC_REGISTER symbols.
gold/ PR gold/19019 * layout.h (Layout::add_target_specific_dynamic_tag): New function. * layout.cc (Layout::add_target_specific_dynamic_tag): New function. * mips.cc (Target_mips::make_symbol): Adjust function signature. * sparc.cc (Target_sparc::Target_sparc): Initialize register_syms_. (Target_sparc::do_is_defined_by_abi): Remove test for STT_SPARC_REGISTER. (Target_sparc::Register_symbol): New struct type. (Target_sparc::register_syms_): New data member. (Target_sparc<64, true>::sparc_info): Set has_make_symbol to true. (Target_sparc::make_symbol): New function. (Target_sparc::do_finalize_sections): Add register symbols and new dynamic table entries. * symtab.h (Sized_symbol::init_undefined): Add value parameter. (Symbol_table::add_target_global_symbol): New function. (Symbol_table::target_symbols_): New data member. * symtab.cc (Sized_symbol::init_undefined): Add value parameter. (Symbol_table::Symbol_table): Initialize target_symbols_. (Symbol_table::add_from_object): Pass additional parameters to Target::make_symbol. (Symbol_table::define_special_symbol): Likewise. (Symbol_table::add_undefined_symbol_from_command_line): Pass 0 for undefined symbol value. (Symbol_table::set_dynsym_indexes): Process target-specific symbols. (Symbol_table::sized_finalize): Likewise. (Symbol_table::sized_write_globals): Likewise. * target.h (Sized_target::make_symbol): Add name, st_type, object, st_shndx, and value parameters.
Diffstat (limited to 'gold/target.h')
-rw-r--r--gold/target.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gold/target.h b/gold/target.h
index d20044e..8e801e1 100644
--- a/gold/target.h
+++ b/gold/target.h
@@ -834,7 +834,7 @@ class Sized_target : public Target
// symbol table. This will only be called if has_make_symbol()
// returns true.
virtual Sized_symbol<size>*
- make_symbol() const
+ make_symbol(const char*, elfcpp::STT, Object*, unsigned int, uint64_t)
{ gold_unreachable(); }
// Resolve a symbol for the target. This should be overridden by a