This is the mail archive of the archer@sourceware.org mailing list for the Archer 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]

[delayed-symfile] [commit] Fix a regression on delayed retrievingof the unwinding debug info.


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


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