This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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]

[rfa] Use dwarf2 unwinding on ARM


Hi Richard,

We talked last year about turning on dwarf2-based unwinding for ARM.  The
problem was that older versions of GCC would emit incorrect unwind
information for Thumb functions, but that's been fixed for a while
now; I think it's time to throw the switch in GDB.

Committed to csl-arm-20050325-branch.  OK for HEAD?

-- 
Daniel Jacobowitz
CodeSourcery, LLC

2005-03-25  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.in (arm-tdep.o): Update dependencies.
	* arm-tdep.c: Include "objfiles.h" and "dwarf2-frame.h".
	(arm_gdbarch_init): Register dwarf2_frame_sniffer.

Index: gdb/Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.707
diff -u -p -r1.707 Makefile.in
--- gdb/Makefile.in	18 Mar 2005 21:03:38 -0000	1.707
+++ gdb/Makefile.in	25 Mar 2005 21:08:03 -0000
@@ -1744,7 +1744,8 @@ arm-tdep.o: arm-tdep.c $(defs_h) $(frame
 	$(doublest_h) $(value_h) $(arch_utils_h) $(osabi_h) \
 	$(frame_unwind_h) $(frame_base_h) $(trad_frame_h) $(arm_tdep_h) \
 	$(gdb_sim_arm_h) $(elf_bfd_h) $(coff_internal_h) $(elf_arm_h) \
-	$(gdb_assert_h) $(bfd_in2_h) $(libcoff_h)
+	$(gdb_assert_h) $(bfd_in2_h) $(libcoff_h) $(objfiles_h) \
+	$(dwarf2_frame_h)
 auxv.o: auxv.c $(defs_h) $(target_h) $(gdbtypes_h) $(command_h) \
 	$(inferior_h) $(valprint_h) $(gdb_assert_h) $(auxv_h) \
 	$(elf_common_h)
Index: gdb/arm-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/arm-tdep.c,v
retrieving revision 1.194
diff -u -p -r1.194 arm-tdep.c
--- gdb/arm-tdep.c	3 Mar 2005 15:14:09 -0000	1.194
+++ gdb/arm-tdep.c	25 Mar 2005 21:08:04 -0000
@@ -37,6 +37,8 @@
 #include "frame-unwind.h"
 #include "frame-base.h"
 #include "trad-frame.h"
+#include "objfiles.h"
+#include "dwarf2-frame.h"
 
 #include "arm-tdep.h"
 #include "gdb/sim-arm.h"
@@ -2789,6 +2791,7 @@ arm_gdbarch_init (struct gdbarch_info in
   /* Add some default predicates.  */
   frame_unwind_append_sniffer (gdbarch, arm_stub_unwind_sniffer);
   frame_unwind_append_sniffer (gdbarch, arm_sigtramp_unwind_sniffer);
+  frame_unwind_append_sniffer (gdbarch, dwarf2_frame_sniffer);
   frame_unwind_append_sniffer (gdbarch, arm_prologue_unwind_sniffer);
 
   /* Now we have tuned the configuration, set a few final things,


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