From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12780 invoked by alias); 24 Feb 2009 23:14:41 -0000 Mailing-List: contact archer-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: List-Id: Received: (qmail 12767 invoked by uid 22791); 24 Feb 2009 23:14:40 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Date: Tue, 24 Feb 2009 23:14:00 -0000 From: Jan Kratochvil To: Tom Tromey Cc: archer@sourceware.org Subject: [delayed-symfile] [commit] Fix a regression on delayed retrieving of the unwinding debug info. Message-ID: <20090224231429.GC23254@host0.dyn.jankratochvil.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) X-SW-Source: 2009-q1/txt/msg00232.txt.bz2 commit 6a37c2b9962258ecf9299cc34a650e64a06acaa5 There was a regression on gdb.base/savedregs.exp. quick_addrmap/require_partial_symbols should be used even for the unwind debug info checking as its load has been also delayed by this branch. Disputable is whether the delayed reading of partial symtabs and unwind info should not be split in half and read separately on their specific demand. Assuming their current load together has been decided for the GDB code simplicity and it has no real performance impact. * dwarf2-frame.c: Include addrmap.h. (dwarf2_frame_find_fde): Check quick_addrmap, call require_partial_symbols. --- gdb/dwarf2-frame.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c index ce11d89..eaa6a13 100644 --- a/gdb/dwarf2-frame.c +++ b/gdb/dwarf2-frame.c @@ -38,6 +38,7 @@ #include "complaints.h" #include "dwarf2-frame.h" +#include "addrmap.h" struct comp_unit; @@ -1499,6 +1500,14 @@ dwarf2_frame_find_fde (CORE_ADDR *pc) struct dwarf2_fde *fde; CORE_ADDR offset; + if (objfile->quick_addrmap) + { + if (!addrmap_find (objfile->quick_addrmap, *pc)) + continue; + } + /* FIXME: Read-in only .debug_frame/.eh_frame without .debug_info? */ + require_partial_symbols (objfile); + fde = objfile_data (objfile, dwarf2_frame_objfile_data); if (fde == NULL) continue; -- 1.6.0.6