From 94a3fc8b837eb39007fa4e82120f60ec9429317d Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Fri, 22 Apr 2011 22:39:55 +0000 Subject: * 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. --- gold/target.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'gold/target.h') 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* /* relinfo */, + typename elfcpp::Elf_types::Elf_Addr /* r_offset */, + unsigned int /* r_type */, + typename elfcpp::Elf_types::Elf_Swxword /* r_addend */, + const Symbol* /* gsym */, + unsigned char* /* view */, + typename elfcpp::Elf_types::Elf_Addr /* address */, + section_size_type /* view_size */) + { gold_unreachable(); } + protected: Sized_target(const Target::Target_info* pti) : Target(pti) -- cgit v1.1