summaryrefslogtreecommitdiff
path: root/src/common/elf.h
diff options
context:
space:
mode:
authorGravatar Liam2023-10-11 11:13:19 -0400
committerGravatar Liam2023-10-11 11:13:19 -0400
commit7b5d234558f20fc1fb1efe6b1f42982125f232bc (patch)
treed2ba595ac08eeeff81ba44376f62d6ffbc0af5da /src/common/elf.h
parentMerge pull request #11734 from Kelebek1/device_local_buffer_alloc (diff)
downloadyuzu-7b5d234558f20fc1fb1efe6b1f42982125f232bc.tar.gz
yuzu-7b5d234558f20fc1fb1efe6b1f42982125f232bc.tar.xz
yuzu-7b5d234558f20fc1fb1efe6b1f42982125f232bc.zip
jit: add support for relr-type relocations
Diffstat (limited to '')
-rw-r--r--src/common/elf.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/common/elf.h b/src/common/elf.h
index 14a5e9597..0b728dc54 100644
--- a/src/common/elf.h
+++ b/src/common/elf.h
@@ -211,6 +211,11 @@ struct Elf64_Rela {
211 Elf64_Sxword r_addend; /* Addend */ 211 Elf64_Sxword r_addend; /* Addend */
212}; 212};
213 213
214/* RELR relocation table entry */
215
216using Elf32_Relr = Elf32_Word;
217using Elf64_Relr = Elf64_Xword;
218
214/* How to extract and insert information held in the r_info field. */ 219/* How to extract and insert information held in the r_info field. */
215 220
216static inline u32 Elf32RelSymIndex(Elf32_Word r_info) { 221static inline u32 Elf32RelSymIndex(Elf32_Word r_info) {
@@ -328,6 +333,9 @@ constexpr u32 ElfDtFiniArray = 26; /* Array with addresses of fini fct */
328constexpr u32 ElfDtInitArraySz = 27; /* Size in bytes of DT_INIT_ARRAY */ 333constexpr u32 ElfDtInitArraySz = 27; /* Size in bytes of DT_INIT_ARRAY */
329constexpr u32 ElfDtFiniArraySz = 28; /* Size in bytes of DT_FINI_ARRAY */ 334constexpr u32 ElfDtFiniArraySz = 28; /* Size in bytes of DT_FINI_ARRAY */
330constexpr u32 ElfDtSymtabShndx = 34; /* Address of SYMTAB_SHNDX section */ 335constexpr u32 ElfDtSymtabShndx = 34; /* Address of SYMTAB_SHNDX section */
336constexpr u32 ElfDtRelrsz = 35; /* Size of RELR relative relocations */
337constexpr u32 ElfDtRelr = 36; /* Address of RELR relative relocations */
338constexpr u32 ElfDtRelrent = 37; /* Size of one RELR relative relocation */
331 339
332} // namespace ELF 340} // namespace ELF
333} // namespace Common 341} // namespace Common