From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19472 invoked by alias); 6 Jun 2008 00:44:59 -0000 Received: (qmail 19286 invoked by uid 48); 6 Jun 2008 00:44:19 -0000 Date: Fri, 06 Jun 2008 00:44:00 -0000 From: "cagney at redhat dot com" To: frysk-bugzilla@sourceware.org Message-ID: <20080606004419.6600.cagney@redhat.com> Reply-To: sourceware-bugzilla@sourceware.org Subject: [Bug general/6600] New: dwfl_module_getsrc doesn't allow for bias 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/msg00222.txt.bz2 List-Id: (unless of course the caller is expected to) @@ -56,18 +57,24 @@ dwfl_module_getsrc (Dwfl_Module *mod, Dwarf_Addr addr) Dwarf_Addr bias; if (INTUSE(dwfl_module_getdwarf) (mod, &bias) == NULL) return NULL; + fprintf(stderr, "got dwarf 0x%lx\n", addr); struct dwfl_cu *cu; Dwfl_Error error = __libdwfl_addrcu (mod, addr, &cu); if (likely (error == DWFL_E_NOERROR)) error = __libdwfl_cu_getsrclines (cu); + fprintf(stderr, "got addrcu\n"); if (likely (error == DWFL_E_NOERROR)) { + addr = addr - bias; + fprintf(stderr, "searching unbiased 0x%lx\n", (long) addr); /* The lines are sorted by address, so we can use binary search. */ size_t l = 0, u = cu->die.cu->lines->nlines; while (l < u) { size_t idx = (l + u) / 2; + fprintf(stderr, "%d 0x%lx\n", (int)idx, + (long) cu->die.cu->lines->info[idx].addr); if (addr < cu->die.cu->lines->info[idx].addr) u = idx; else if (addr > cu->die.cu->lines->info[idx].addr) which gives the improved effect: got dwarf 0x2aaab057683c addrarange 2aaab057683c naranges 859 adjusted 6e83c by bias 2aaab0508000 found arange at 624 got addrcu searching unbiased 0x6e83c 73 0x6e950 36 0x57fba 55 0x6e87b 46 0x6e83c -- Summary: dwfl_module_getsrc doesn't allow for bias 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=6600 ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.