about summary refs log tree commit diff stats
path: root/src/elfs/elfload_dump.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/elfs/elfload_dump.c')
-rw-r--r--src/elfs/elfload_dump.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/elfs/elfload_dump.c b/src/elfs/elfload_dump.c
index 2a8189b5..62cedcf6 100644
--- a/src/elfs/elfload_dump.c
+++ b/src/elfs/elfload_dump.c
@@ -367,6 +367,18 @@ void DumpRelATable(elfheader_t *h, int cnt, Elf64_Rela *rela, const char* name)
     }
 }
 
+void DumpRelRTable(elfheader_t *h, int cnt, Elf64_Relr *relr, const char *name)
+{
+    if(box64_dump && h->relr) {
+        const char* elfname = ElfName(h);
+        printf_dump(LOG_NEVER, "ELF Dump %s Table(%d) @%p\n", name, cnt, relr);
+        for (int i = 0; i<cnt; ++i)
+            printf_dump(LOG_NEVER, "  %s:%s[%d] = %p\n", elfname, name,
+                i, (void*)relr[i]);
+        printf_dump(LOG_NEVER, "ELF Dump %s Table=====\n", name);
+    }
+}
+
 void DumpBinary(char* p, int sz)
 {
     // dump p as