aboutsummaryrefslogtreecommitdiff
path: root/elfcpp/elfcpp_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'elfcpp/elfcpp_internal.h')
-rw-r--r--elfcpp/elfcpp_internal.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/elfcpp/elfcpp_internal.h b/elfcpp/elfcpp_internal.h
index 7080a2d..edca55f 100644
--- a/elfcpp/elfcpp_internal.h
+++ b/elfcpp/elfcpp_internal.h
@@ -180,6 +180,29 @@ struct Rela_data
typename Elf_types<size>::Elf_Swxword r_addend;
};
+// MIPS-64 has a non-standard layout for relocations.
+
+struct Mips64_rel_data
+{
+ typename Elf_types<64>::Elf_Addr r_offset;
+ Elf_Word r_sym;
+ unsigned char r_ssym;
+ unsigned char r_type3;
+ unsigned char r_type2;
+ unsigned char r_type;
+};
+
+struct Mips64_rela_data
+{
+ typename Elf_types<64>::Elf_Addr r_offset;
+ Elf_Word r_sym;
+ unsigned char r_ssym;
+ unsigned char r_type3;
+ unsigned char r_type2;
+ unsigned char r_type;
+ typename Elf_types<64>::Elf_Swxword r_addend;
+};
+
// An entry in the ELF SHT_DYNAMIC section aka PT_DYNAMIC segment.
template<int size>