[PATCH 6/7] Register the proxy unwinder.

Sanjoy Das sanjoy@playingwithpointers.com
Tue Aug 9 15:21:00 GMT 2011


Register the proxy unwinder introduced in the previous commit so that
it actually gets picked up and used.
---
 gdb/ChangeLog            |   25 +++++++++++++++++++++++++
 gdb/alpha-tdep.c         |    2 ++
 gdb/arm-tdep.c           |    2 ++
 gdb/bfin-tdep.c          |    2 ++
 gdb/cris-tdep.c          |    2 ++
 gdb/h8300-tdep.c         |    2 ++
 gdb/i386-tdep.c          |    2 ++
 gdb/iq2000-tdep.c        |    2 ++
 gdb/m68hc11-tdep.c       |    2 ++
 gdb/microblaze-tdep.c    |    2 ++
 gdb/mips-tdep.c          |    2 ++
 gdb/mn10300-tdep.c       |    2 ++
 gdb/mt-tdep.c            |    2 ++
 gdb/rs6000-tdep.c        |    2 ++
 gdb/rx-tdep.c            |    2 ++
 gdb/s390-tdep.c          |    3 +++
 gdb/score-tdep.c         |    2 ++
 gdb/sh64-tdep.c          |    2 ++
 gdb/sparc-linux-tdep.c   |    2 ++
 gdb/sparc64-linux-tdep.c |    2 ++
 gdb/v850-tdep.c          |    2 ++
 gdb/xstormy16-tdep.c     |    2 ++
 gdb/xtensa-tdep.c        |    2 ++
 23 files changed, 70 insertions(+), 0 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2556be7..2b3dc1a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,30 @@
 2011-08-09  Sanjoy Das  <sdas@igalia.com>
 
+	* alpha-tdep.c (alpha_dwarf2_init_abi): Call jit_prepend_unwinder.
+	* arm-tdep.c (arm_gdbarch_init): Likewise.
+	* bfin-tdep.c (bfin_gdbarch_init): Likewise.
+	* cris-tdep.c (cris_gdbarch_init): Likewise.
+	* h8300-tdep.c (h8300_gdbarch_init): Likewise.
+	* i386-tdep.c (i386_gdbarch_init): Likewise.
+	* iq2000-tdep.c (iq2000_gdbarch_init): Likewise.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
+	* microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
+	* mips-tdep.c (mips_gdbarch_init): Likewise.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
+	* mt-tdep.c (mt_gdbarch_init): Likewise.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
+	* rx-tdep.c (rx_gdbarch_init): Likewise.
+	* s390-tdep.c (s390_gdbarch_init): Likewise.
+	* score-tdep.c (score_gdbarch_init): Likewise.
+	* sh64-tdep.c (sh64_gdbarch_init): Likewise.
+	* sparc-linux-tdep.c (sparc_linux_init_abi): Likewise.
+	* sparc64-linux-tdep.c (sparc64_linux_init_abi): Likewise.
+	* v850-tdep.c (v858_gdbarch_init): Likewise.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
+	* xtensa-tdep.c (xtensa_gdbarch_init): Likewise.
+
+2011-08-09  Sanjoy Das  <sdas@igalia.com>
+
 	* jit.c (jut_unwind_reg_set_impl, free_reg_value_impl)
 	(jit_unwind_reg_get_impl, jit_frame_sniffer)
 	(jit_frame_unwind_stop_reason, jit_frame_this_id)
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
index 77782e8..818449e 100644
--- a/gdb/alpha-tdep.c
+++ b/gdb/alpha-tdep.c
@@ -42,6 +42,7 @@
 #include "block.h"
 #include "infcall.h"
 #include "trad-frame.h"
+#include "jit.h"
 
 #include "elf-bfd.h"
 
@@ -1770,6 +1771,7 @@ void
 alpha_dwarf2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
   frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer);
 }
 
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 1a75af1..19e0e57 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -44,6 +44,7 @@
 #include "target-descriptions.h"
 #include "user-regs.h"
 #include "observer.h"
+#include "jit.h"
 
 #include "arm-tdep.h"
 #include "gdb/sim-arm.h"
@@ -8687,6 +8688,7 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   /* Add some default predicates.  */
   frame_unwind_append_unwinder (gdbarch, &arm_stub_unwind);
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
   frame_unwind_append_unwinder (gdbarch, &arm_exidx_unwind);
   frame_unwind_append_unwinder (gdbarch, &arm_prologue_unwind);
 
diff --git a/gdb/bfin-tdep.c b/gdb/bfin-tdep.c
index 5522c5b..977f62f 100644
--- a/gdb/bfin-tdep.c
+++ b/gdb/bfin-tdep.c
@@ -42,6 +42,7 @@
 #include "infcall.h"
 #include "xml-syscall.h"
 #include "bfin-tdep.h"
+#include "jit.h"
 
 /* Macros used by prologue functions.  */
 #define P_LINKAGE			0xE800
@@ -853,6 +854,7 @@ bfin_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   gdbarch_init_osabi (info, gdbarch);
 
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
 
   frame_base_set_default (gdbarch, &bfin_frame_base);
 
diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c
index f79e84c..a88afed 100644
--- a/gdb/cris-tdep.c
+++ b/gdb/cris-tdep.c
@@ -38,6 +38,7 @@
 #include "arch-utils.h"
 #include "regcache.h"
 #include "gdb_assert.h"
+#include "jit.h"
 
 #include "objfiles.h"
 
@@ -4228,6 +4229,7 @@ cris_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   frame_unwind_append_unwinder (gdbarch, &cris_frame_unwind);
   frame_base_set_default (gdbarch, &cris_frame_base);
+  jit_prepend_unwinder (gdbarch);
 
   set_solib_svr4_fetch_link_map_offsets
     (gdbarch, svr4_ilp32_fetch_link_map_offsets);
diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c
index fa39dee..a1052be 100644
--- a/gdb/h8300-tdep.c
+++ b/gdb/h8300-tdep.c
@@ -35,6 +35,7 @@
 #include "dwarf2-frame.h"
 #include "frame-base.h"
 #include "frame-unwind.h"
+#include "jit.h"
 
 enum gdb_regnum
 {
@@ -1355,6 +1356,7 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   /* Hook in the DWARF CFI frame unwinder.  */
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
   frame_unwind_append_unwinder (gdbarch, &h8300_frame_unwind);
 
   return gdbarch;
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 5fb2efb..f4fbc43 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -48,6 +48,7 @@
 #include "exceptions.h"
 #include "gdb_assert.h"
 #include "gdb_string.h"
+#include "jit.h"
 
 #include "i386-tdep.h"
 #include "i387-tdep.h"
@@ -7357,6 +7358,7 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
      to the list before the prologue-based unwinders, so that DWARF
      CFI info will be used if it is available.  */
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
 
   frame_base_set_default (gdbarch, &i386_frame_base);
 
diff --git a/gdb/iq2000-tdep.c b/gdb/iq2000-tdep.c
index 1926da6..e0b17e7 100644
--- a/gdb/iq2000-tdep.c
+++ b/gdb/iq2000-tdep.c
@@ -34,6 +34,7 @@
 #include "regcache.h"
 #include "osabi.h"
 #include "gdbcore.h"
+#include "jit.h"
 
 enum gdb_regnum
 {
@@ -851,6 +852,7 @@ iq2000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   gdbarch_init_osabi (info, gdbarch);
 
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
   frame_unwind_append_unwinder (gdbarch, &iq2000_frame_unwind);
 
   return gdbarch;
diff --git a/gdb/m68hc11-tdep.c b/gdb/m68hc11-tdep.c
index b789ce7..333f867 100644
--- a/gdb/m68hc11-tdep.c
+++ b/gdb/m68hc11-tdep.c
@@ -40,6 +40,7 @@
 #include "arch-utils.h"
 #include "regcache.h"
 #include "reggroups.h"
+#include "jit.h"
 
 #include "target.h"
 #include "opcode/m68hc11.h"
@@ -1534,6 +1535,7 @@ m68hc11_gdbarch_init (struct gdbarch_info info,
 
   /* Hook in the DWARF CFI frame unwinder.  */
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
 
   frame_unwind_append_unwinder (gdbarch, &m68hc11_frame_unwind);
   frame_base_set_default (gdbarch, &m68hc11_frame_base);
diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c
index 2482c87..9a04dcc 100644
--- a/gdb/microblaze-tdep.c
+++ b/gdb/microblaze-tdep.c
@@ -34,6 +34,7 @@
 #include "frame-unwind.h"
 #include "dwarf2-frame.h"
 #include "osabi.h"
+#include "jit.h"
 
 #include "gdb_assert.h"
 #include "gdb_string.h"
@@ -724,6 +725,7 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   /* Unwind the frame.  */
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
   frame_unwind_append_unwinder (gdbarch, &microblaze_frame_unwind);
   frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer);
 
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index 47d9182..4f30eb3 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -59,6 +59,7 @@
 #include "user-regs.h"
 #include "valprint.h"
 #include "ax.h"
+#include "jit.h"
 
 static const struct objfile_data *mips_pdr_data;
 
@@ -6303,6 +6304,7 @@ mips_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   /* Unwind the frame.  */
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
   frame_unwind_append_unwinder (gdbarch, &mips_stub_frame_unwind);
   frame_unwind_append_unwinder (gdbarch, &mips_insn16_frame_unwind);
   frame_unwind_append_unwinder (gdbarch, &mips_insn32_frame_unwind);
diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c
index e949b40..de14a59 100644
--- a/gdb/mn10300-tdep.c
+++ b/gdb/mn10300-tdep.c
@@ -37,6 +37,7 @@
 #include "infcall.h"
 #include "prologue-value.h"
 #include "target.h"
+#include "jit.h"
 
 #include "mn10300-tdep.h"
 
@@ -1203,6 +1204,7 @@ static void
 mn10300_frame_unwind_init (struct gdbarch *gdbarch)
 {
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
   frame_unwind_append_unwinder (gdbarch, &mn10300_frame_unwind);
   set_gdbarch_dummy_id (gdbarch, mn10300_dummy_id);
   set_gdbarch_unwind_pc (gdbarch, mn10300_unwind_pc);
diff --git a/gdb/mt-tdep.c b/gdb/mt-tdep.c
index ee98d3d..99e19ea 100644
--- a/gdb/mt-tdep.c
+++ b/gdb/mt-tdep.c
@@ -39,6 +39,7 @@
 #include "gdb_assert.h"
 #include "language.h"
 #include "valprint.h"
+#include "jit.h"
 
 enum mt_arch_constants
 {
@@ -1191,6 +1192,7 @@ mt_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   /* Register the DWARF 2 sniffer first, and then the traditional prologue
      based sniffer.  */
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
   frame_unwind_append_unwinder (gdbarch, &mt_frame_unwind);
   frame_base_set_default (gdbarch, &mt_frame_base);
 
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index 6539644..ad6eaed 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -41,6 +41,7 @@
 #include "dwarf2-frame.h"
 #include "target-descriptions.h"
 #include "user-regs.h"
+#include "jit.h"
 
 #include "libbfd.h"		/* for bfd_default_set_arch_mach */
 #include "coff/internal.h"	/* for libcoff.h */
@@ -4081,6 +4082,7 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   /* Hook in the DWARF CFI frame unwinder.  */
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
   dwarf2_frame_set_adjust_regnum (gdbarch, rs6000_adjust_frame_regnum);
 
   /* Frame handling.  */
diff --git a/gdb/rx-tdep.c b/gdb/rx-tdep.c
index 16637b0..185e38a 100644
--- a/gdb/rx-tdep.c
+++ b/gdb/rx-tdep.c
@@ -33,6 +33,7 @@
 #include "value.h"
 #include "gdbcore.h"
 #include "dwarf2-frame.h"
+#include "jit.h"
 
 #include "elf/rx.h"
 #include "elf-bfd.h"
@@ -844,6 +845,7 @@ rx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
      so it's turned off for now.  */
   dwarf2_append_unwinders (gdbarch);
 #endif
+  jit_prepend_unwinder (gdbarch);
   frame_unwind_append_unwinder (gdbarch, &rx_frame_unwind);
 
   /* Methods for saving / extracting a dummy frame's ID.
diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c
index ca7ecc7..ea117aa 100644
--- a/gdb/s390-tdep.c
+++ b/gdb/s390-tdep.c
@@ -45,6 +45,7 @@
 #include "prologue-value.h"
 #include "linux-tdep.h"
 #include "s390-tdep.h"
+#include "jit.h"
 
 #include "features/s390-linux32.c"
 #include "features/s390-linux64.c"
@@ -2915,6 +2916,8 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   dwarf2_frame_set_init_reg (gdbarch, s390_dwarf2_frame_init_reg);
   dwarf2_frame_set_adjust_regnum (gdbarch, s390_adjust_frame_regnum);
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
+
   frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer);
   frame_unwind_append_unwinder (gdbarch, &s390_stub_frame_unwind);
   frame_unwind_append_unwinder (gdbarch, &s390_sigtramp_frame_unwind);
diff --git a/gdb/score-tdep.c b/gdb/score-tdep.c
index 4ddcd27..4364acd 100644
--- a/gdb/score-tdep.c
+++ b/gdb/score-tdep.c
@@ -38,6 +38,7 @@
 #include "trad-frame.h"
 #include "dwarf2-frame.h"
 #include "score-tdep.h"
+#include "jit.h"
 
 #define G_FLD(_i,_ms,_ls) \
     ((unsigned)((_i) << (31 - (_ms))) >> (31 - (_ms) + (_ls)))
@@ -1543,6 +1544,7 @@ score_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   /* Normal frame hooks.  */
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
   frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer);
   frame_unwind_append_unwinder (gdbarch, &score_prologue_unwind);
   frame_base_append_sniffer (gdbarch, score_prologue_frame_base_sniffer);
diff --git a/gdb/sh64-tdep.c b/gdb/sh64-tdep.c
index a4da7a4..01b9540 100644
--- a/gdb/sh64-tdep.c
+++ b/gdb/sh64-tdep.c
@@ -40,6 +40,7 @@
 #include "regcache.h"
 #include "osabi.h"
 #include "valprint.h"
+#include "jit.h"
 
 #include "elf-bfd.h"
 
@@ -2567,6 +2568,7 @@ sh64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   gdbarch_init_osabi (info, gdbarch);
 
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
   frame_unwind_append_unwinder (gdbarch, &sh64_frame_unwind);
 
   return gdbarch;
diff --git a/gdb/sparc-linux-tdep.c b/gdb/sparc-linux-tdep.c
index b21b7a8..c5abf3c 100644
--- a/gdb/sparc-linux-tdep.c
+++ b/gdb/sparc-linux-tdep.c
@@ -34,6 +34,7 @@
 #include "tramp-frame.h"
 #include "xml-syscall.h"
 #include "linux-tdep.h"
+#include "jit.h"
 
 /* The syscall's XML filename for sparc 32-bit.  */
 #define XML_SYSCALL_FILENAME_SPARC32 "syscalls/sparc-linux.xml"
@@ -307,6 +308,7 @@ sparc32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
   /* Hook in the DWARF CFI frame unwinder.  */
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
 
   set_gdbarch_write_pc (gdbarch, sparc_linux_write_pc);
 
diff --git a/gdb/sparc64-linux-tdep.c b/gdb/sparc64-linux-tdep.c
index 87e7285..ff71256 100644
--- a/gdb/sparc64-linux-tdep.c
+++ b/gdb/sparc64-linux-tdep.c
@@ -33,6 +33,7 @@
 #include "tramp-frame.h"
 #include "xml-syscall.h"
 #include "linux-tdep.h"
+#include "jit.h"
 
 /* The syscall's XML filename for sparc 64-bit.  */
 #define XML_SYSCALL_FILENAME_SPARC64 "syscalls/sparc64-linux.xml"
@@ -254,6 +255,7 @@ sparc64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
   /* Hook in the DWARF CFI frame unwinder.  */
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
 
   sparc64_init_abi (info, gdbarch);
 
diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c
index ac5d83f..1beac57 100644
--- a/gdb/v850-tdep.c
+++ b/gdb/v850-tdep.c
@@ -33,6 +33,7 @@
 #include "regcache.h"
 #include "dis-asm.h"
 #include "osabi.h"
+#include "jit.h"
 
 enum
   {
@@ -1041,6 +1042,7 @@ v850_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   gdbarch_init_osabi (info, gdbarch);
 
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
   frame_unwind_append_unwinder (gdbarch, &v850_frame_unwind);
 
   return gdbarch;
diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c
index bf32cbd..6e6cbc0 100644
--- a/gdb/xstormy16-tdep.c
+++ b/gdb/xstormy16-tdep.c
@@ -38,6 +38,7 @@
 #include "doublest.h"
 #include "osabi.h"
 #include "objfiles.h"
+#include "jit.h"
 
 enum gdb_regnum
 {
@@ -849,6 +850,7 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   gdbarch_init_osabi (info, gdbarch);
 
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
   frame_unwind_append_unwinder (gdbarch, &xstormy16_frame_unwind);
 
   return gdbarch;
diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
index 518b77b..515ece9 100644
--- a/gdb/xtensa-tdep.c
+++ b/gdb/xtensa-tdep.c
@@ -33,6 +33,7 @@
 #include "regcache.h"
 #include "reggroups.h"
 #include "regset.h"
+#include "jit.h"
 
 #include "dummy-frame.h"
 #include "dwarf2.h"
@@ -3277,6 +3278,7 @@ xtensa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   frame_base_set_default (gdbarch, &xtensa_frame_base);
   frame_unwind_append_unwinder (gdbarch, &xtensa_unwind);
   dwarf2_append_unwinders (gdbarch);
+  jit_prepend_unwinder (gdbarch);
 
   set_gdbarch_print_insn (gdbarch, print_insn_xtensa);
 
-- 
1.7.5.4



More information about the Gdb-patches mailing list