From 859d79870d7975ef8d98ea728ee52a264efe7d1e Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Mon, 9 Nov 2015 08:43:46 -0800 Subject: Remove unnecessary target dependencies on relocation format. 2015-11-09 Cary Coutant Vladimir Radosavljevic gold/ * copy-relocs.h (Copy_relocs::copy_reloc): Replace reloc parameter with type, offset, addend. (Copy_relocs::save): Likewise. * copy-relocs.cc (Copy_relocs::copy_reloc): Likewise. (Copy_relocs::save): Likewise. * aarch64.cc (Target_aarch64::copy_reloc): Pass r_type, r_offset, and r_addend to Copy_relocs::copy_reloc. * arm.cc (Target_arm::copy_reloc): Likewise. * i386.cc (Target_i386::copy_reloc): Likewise. * mips.cc (Target_mips::copy_reloc): Likewise. * powerpc.cc (Target_powerpc::copy_reloc): Likewise. * s390.cc (Target_s390::copy_reloc): Likewise. * sparc.cc (Target_sparc::copy_reloc): Likewise. * tilegx.cc (Target_tilegx::copy_reloc): Likewise. * x86_64.cc (Target_x86_64::copy_reloc): Likewise. --- gold/copy-relocs.h | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'gold/copy-relocs.h') diff --git a/gold/copy-relocs.h b/gold/copy-relocs.h index 6724fd9..a9a9ec1 100644 --- a/gold/copy-relocs.h +++ b/gold/copy-relocs.h @@ -65,10 +65,15 @@ class Copy_relocs // will wind up. REL is the reloc itself. The Output_data_reloc // section is where the dynamic relocs are put. void - copy_reloc(Symbol_table*, Layout*, Sized_symbol* sym, + copy_reloc(Symbol_table*, + Layout*, + Sized_symbol* sym, Sized_relobj_file* object, - unsigned int shndx, Output_section* output_section, - const Reloc& rel, + unsigned int shndx, + Output_section* output_section, + unsigned int r_type, + typename elfcpp::Elf_types::Elf_Addr r_offset, + typename elfcpp::Elf_types::Elf_Swxword r_addend, Output_data_reloc*); // Return whether there are any saved relocations. @@ -135,8 +140,13 @@ class Copy_relocs // Save a reloc against SYM for possible emission later. void - save(Symbol*, Sized_relobj_file*, unsigned int shndx, - Output_section*, const Reloc& rel); + save(Symbol*, + Sized_relobj_file*, + unsigned int shndx, + Output_section*, + unsigned int r_type, + typename elfcpp::Elf_types::Elf_Addr r_offset, + typename elfcpp::Elf_types::Elf_Swxword r_addend); // The target specific relocation type of the COPY relocation. const unsigned int copy_reloc_type_; -- cgit v1.1