Experimental implementation of RELR-style relocations.

For x86-64 only. Instead of R_X86_64_RELATIVE relocations, we
write the offsets of the relocation targets to a new section,
.relr.dyn, with section type SHT_RELR.
This commit is contained in:
Cary Coutant
2017-04-25 19:21:57 -07:00
parent 4658f12e9c
commit 8c13bcd220
9 changed files with 446 additions and 35 deletions

View File

@@ -180,6 +180,12 @@ struct Rela_data
typename Elf_types<size>::Elf_Swxword r_addend;
};
template<int size>
struct Relr_data
{
typename Elf_types<size>::Elf_Addr r_offset;
};
// MIPS-64 has a non-standard layout for relocations.
struct Mips64_rel_data