about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/elfs/elfdwarf_private.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/elfs/elfdwarf_private.c b/src/elfs/elfdwarf_private.c
index 47c0822a..90316a34 100644
--- a/src/elfs/elfdwarf_private.c
+++ b/src/elfs/elfdwarf_private.c
@@ -108,11 +108,11 @@ uintptr_t get_parent_registers(dwarf_unwind_t *unwind, const elfheader_t *ehdr,
         *success = 0;
         return 0;
     }
-    if(!IsAddressInElfSpace(ehdr, ehdr->ehframehdr)) {
+    if(!IsAddressInElfSpace(ehdr, ehdr->ehframehdr+ehdr->delta)) {
         *success = 0;
         return 0;
     }
-    unsigned char ehfh_version = *(unsigned char*)ehdr->ehframehdr;
+    unsigned char ehfh_version = *(unsigned char*)(ehdr->ehframehdr+ehdr->delta);
     if (ehfh_version != 1) {
         *success = 0;
         return 0;
@@ -122,8 +122,8 @@ uintptr_t get_parent_registers(dwarf_unwind_t *unwind, const elfheader_t *ehdr,
 
     // Not using the binary search table (for now)
 
-    unsigned char *cur_addr = (unsigned char*)ehdr->ehframe;
-    unsigned char *end_addr = (unsigned char*)ehdr->ehframe_end;
+    unsigned char *cur_addr = (unsigned char*)(ehdr->ehframe+ehdr->delta);
+    unsigned char *end_addr = (unsigned char*)(ehdr->ehframe_end+ehdr->delta);
 
 #define AUG_EHDATA      (1 << 0)
 #define AUG_AUGDATA     (1 << 1)