aboutsummaryrefslogtreecommitdiff
path: root/gold/copy-relocs.h
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/copy-relocs.h
parentdddc0e16ef5d77e4f97d02ee0e2d4234c97dae0e (diff)
downloadgdb-859d79870d7975ef8d98ea728ee52a264efe7d1e.zip
gdb-859d79870d7975ef8d98ea728ee52a264efe7d1e.tar.gz
gdb-859d79870d7975ef8d98ea728ee52a264efe7d1e.tar.bz2
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/copy-relocs.h')
-rw-r--r--gold/copy-relocs.h20
1 files changed, 15 insertions, 5 deletions
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<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_;