This is the mail archive of the frysk-bugzilla@sourceware.org mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug general/6599] New: don't align the load-address


>From dwfl_module_getdwarf:

@@ -96,11 +100,18 @@ open_elf (Dwfl_Module *mod, struct dwfl_file *file)
          goto elf_error;
        if (ph->p_type == PT_LOAD)
          {
-           file->bias = ((mod->low_addr & -ph->p_align)
-                         - (ph->p_vaddr & -ph->p_align));
+           // Align the vaddr.
+           fprintf(stderr, "mod->low_addr 0x%lx\n", mod->low_addr);
+           fprintf(stderr, "ph->p_align 0x%lx\n", ph->p_align);
+           Dwarf_Addr vaddr = ph->p_vaddr & -ph->p_align;
+           fprintf(stderr, "vaddr 0x%lx\n", vaddr);
+           file->bias = (mod->low_addr - (ph->p_vaddr & -ph->p_align));
+           fprintf(stderr, "setting file bias to something complex 0x%lx\n",
+                   file->bias);
            break;
          }
       }
+  }
 
   mod->e_type = ehdr->e_type;
 
for instance, an solib mapped at:

  low 0x2aaab0508000 high 0x2aaab07dc000

with alignment 0x200000, will result in a bias of 0x2aaab0400000, when it should
just be the low address

-- 
           Summary: don't align the load-address
           Product: frysk
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: general
        AssignedTo: frysk-bugzilla at sourceware dot org
        ReportedBy: cagney at redhat dot com
OtherBugsDependingO 2785
             nThis:


http://sourceware.org/bugzilla/show_bug.cgi?id=6599

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]