This is the mail archive of the
frysk-bugzilla@sourceware.org
mailing list for the frysk project.
[Bug general/6599] New: don't align the load-address
- From: "cagney at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: frysk-bugzilla at sourceware dot org
- Date: 5 Jun 2008 21:54:21 -0000
- Subject: [Bug general/6599] New: don't align the load-address
- Reply-to: sourceware-bugzilla at sourceware dot org
>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.