aboutsummaryrefslogtreecommitdiff
path: root/elfcpp/elfcpp_internal.h
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@gmail.com>2017-04-25 19:21:57 -0700
committerCary Coutant <ccoutant@gmail.com>2017-04-25 20:07:52 -0700
commit8c13bcd2209cb776aa2cf7e5016b7884b0aecbf6 (patch)
treedc131c444a7e2a372b057cca03b68bc21ae50f28 /elfcpp/elfcpp_internal.h
parent4658f12e9c5ec0d2efb04f1688f6cd6bd9f1a47d (diff)
downloadbinutils-users/ccoutant/experimental-relr.zip
binutils-users/ccoutant/experimental-relr.tar.gz
binutils-users/ccoutant/experimental-relr.tar.bz2
Experimental implementation of RELR-style relocations.users/ccoutant/experimental-relr
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.
Diffstat (limited to 'elfcpp/elfcpp_internal.h')
-rw-r--r--elfcpp/elfcpp_internal.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/elfcpp/elfcpp_internal.h b/elfcpp/elfcpp_internal.h
index 14adfde..a1cfcf5 100644
--- a/elfcpp/elfcpp_internal.h
+++ b/elfcpp/elfcpp_internal.h
@@ -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