From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8607 invoked by alias); 5 Jun 2008 21:55:01 -0000 Received: (qmail 8325 invoked by uid 48); 5 Jun 2008 21:54:21 -0000 Date: Thu, 05 Jun 2008 21:55:00 -0000 From: "cagney at redhat dot com" To: frysk-bugzilla@sourceware.org Message-ID: <20080605215421.6599.cagney@redhat.com> Reply-To: sourceware-bugzilla@sourceware.org Subject: [Bug general/6599] New: don't align the load-address X-Bugzilla-Reason: AssignedTo Mailing-List: contact frysk-bugzilla-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: frysk-bugzilla-owner@sourceware.org X-SW-Source: 2008-q2/txt/msg00219.txt.bz2 List-Id: >>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.