Remove unnecessary target dependencies on relocation format.

2015-11-09  Cary Coutant  <ccoutant@gmail.com>
	    Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>

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.
This commit is contained in:
Cary Coutant
2015-11-09 08:43:46 -08:00
parent dddc0e16ef
commit 859d79870d
12 changed files with 78 additions and 23 deletions

View File

@@ -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<size>* sym,
copy_reloc(Symbol_table*,
Layout*,
Sized_symbol<size>* sym,
Sized_relobj_file<size, big_endian>* 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<size>::Elf_Addr r_offset,
typename elfcpp::Elf_types<size>::Elf_Swxword r_addend,
Output_data_reloc<sh_type, true, size, big_endian>*);
// 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<size, big_endian>*, unsigned int shndx,
Output_section*, const Reloc& rel);
save(Symbol*,
Sized_relobj_file<size, big_endian>*,
unsigned int shndx,
Output_section*,
unsigned int r_type,
typename elfcpp::Elf_types<size>::Elf_Addr r_offset,
typename elfcpp::Elf_types<size>::Elf_Swxword r_addend);
// The target specific relocation type of the COPY relocation.
const unsigned int copy_reloc_type_;