aboutsummaryrefslogtreecommitdiff
path: root/gold/target.h
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2011-04-22 22:39:55 +0000
committerCary Coutant <ccoutant@google.com>2011-04-22 22:39:55 +0000
commit94a3fc8b837eb39007fa4e82120f60ec9429317d (patch)
tree36553d09d1690d090951979ae7df2653c6bb471a /gold/target.h
parentc87e430233549c1670ff335b0d4614f1ea1d7edb (diff)
downloadgdb-94a3fc8b837eb39007fa4e82120f60ec9429317d.zip
gdb-94a3fc8b837eb39007fa4e82120f60ec9429317d.tar.gz
gdb-94a3fc8b837eb39007fa4e82120f60ec9429317d.tar.bz2
* incremental.cc (Sized_incremental_binary::setup_readers): Allocate
global symbol map. (Sized_incremental_binary::do_apply_incremental_relocs): New function. (Sized_incr_relobj::do_add_symbols): Add symbols to global symbol map. (Sized_incr_relobj::do_relocate): Remap section indices in incremental relocations. (Sized_incr_dynobj::do_add_symbols): Add symbols to global symbol map. (Sized_incr_dynobj::do_for_all_global_symbols): Remove FIXME. (Sized_incr_dynobj::do_for_all_local_got_entries): Likewise. * incremental.h (Incremental_inputs_reader::global_symbol_reader_at_offset): New function. (Incremental_binary::apply_incremental_relocs): New function. (Incremental_binary::do_apply_incremental_relocs): New function. (Sized_incremental_binary::Sized_incremental_binary): Initialize new data member. (Sized_incremental_binary::add_global_symbol): New function. (Sized_incremental_binary::global_symbol): New function. (Sized_incremental_binary::do_apply_incremental_relocs): New function. (Sized_incremental_binary::symbol_map_): New data member. * layout.cc (Layout_task_runner::run): Apply incremental relocations. * target.h (Sized_target::apply_relocation): New function. * target-reloc.h (apply_relocation): New function. * x86_64.cc (Target_x86_64::apply_relocation): New function.
Diffstat (limited to 'gold/target.h')
-rw-r--r--gold/target.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/gold/target.h b/gold/target.h
index 85af8d3..b86efc4 100644
--- a/gold/target.h
+++ b/gold/target.h
@@ -795,6 +795,19 @@ class Sized_target : public Target
plt_entry_size() const
{ gold_unreachable(); }
+ // Apply an incremental relocation.
+
+ virtual void
+ apply_relocation(const Relocate_info<size, big_endian>* /* relinfo */,
+ typename elfcpp::Elf_types<size>::Elf_Addr /* r_offset */,
+ unsigned int /* r_type */,
+ typename elfcpp::Elf_types<size>::Elf_Swxword /* r_addend */,
+ const Symbol* /* gsym */,
+ unsigned char* /* view */,
+ typename elfcpp::Elf_types<size>::Elf_Addr /* address */,
+ section_size_type /* view_size */)
+ { gold_unreachable(); }
+
protected:
Sized_target(const Target::Target_info* pti)
: Target(pti)