This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[rfa] Use dwarf2 unwinding on ARM
- From: Daniel Jacobowitz <drow at false dot org>
- To: gdb-patches at sources dot redhat dot com
- Cc: Richard Earnshaw <Richard dot Earnshaw at arm dot com>
- Date: Fri, 25 Mar 2005 16:12:10 -0500
- Subject: [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,