summaryrefslogtreecommitdiff
path: root/gold/aarch64.cc
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@gmail.com>2015-11-09 08:43:46 -0800
committerCary Coutant <ccoutant@gmail.com>2015-11-09 10:33:37 -0800
commit859d79870d7975ef8d98ea728ee52a264efe7d1e (patch)
treebc7a666959ce014a14dd5aba7d1030557b351277 /gold/aarch64.cc
parentdddc0e16ef5d77e4f97d02ee0e2d4234c97dae0e (diff)
downloadbinutils-gdb-859d79870d7975ef8d98ea728ee52a264efe7d1e.tar.gz
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.
Diffstat (limited to 'gold/aarch64.cc')
-rw-r--r--gold/aarch64.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/gold/aarch64.cc b/gold/aarch64.cc
index bc85c833415..5ca5e0accff 100644
--- a/gold/aarch64.cc
+++ b/gold/aarch64.cc
@@ -3338,10 +3338,13 @@ class Target_aarch64 : public Sized_target<size, big_endian>
unsigned int shndx, Output_section* output_section,
Symbol* sym, const elfcpp::Rela<size, big_endian>& reloc)
{
+ unsigned int r_type = elfcpp::elf_r_type<size>(reloc.get_r_info());
this->copy_relocs_.copy_reloc(symtab, layout,
symtab->get_sized_symbol<size>(sym),
object, shndx, output_section,
- reloc, this->rela_dyn_section(layout));
+ r_type, reloc.get_r_offset(),
+ reloc.get_r_addend(),
+ this->rela_dyn_section(layout));
}
// Information about this specific target which we pass to the