From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26418 invoked by alias); 9 Aug 2011 15:21:52 -0000 Received: (qmail 26403 invoked by uid 22791); 9 Aug 2011 15:21:49 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_SOFTFAIL,TW_BJ X-Spam-Check-By: sourceware.org Received: from mail-pz0-f44.google.com (HELO mail-pz0-f44.google.com) (209.85.210.44) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 09 Aug 2011 15:21:33 +0000 Received: by mail-pz0-f44.google.com with SMTP id 36so139717pzk.3 for ; Tue, 09 Aug 2011 08:21:33 -0700 (PDT) Received: by 10.142.163.1 with SMTP id l1mr1235899wfe.19.1312903293151; Tue, 09 Aug 2011 08:21:33 -0700 (PDT) Received: from localhost.localdomain ([203.110.240.178]) by mx.google.com with ESMTPS id s9sm46202pbk.66.2011.08.09.08.21.27 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 09 Aug 2011 08:21:31 -0700 (PDT) From: Sanjoy Das To: gdb-patches@sourceware.org Cc: Sanjoy Das Subject: [PATCH 6/7] Register the proxy unwinder. Date: Tue, 09 Aug 2011 15:21:00 -0000 Message-Id: <1312903509-25132-7-git-send-email-sanjoy@playingwithpointers.com> In-Reply-To: <1312903509-25132-1-git-send-email-sanjoy@playingwithpointers.com> References: <1312903509-25132-1-git-send-email-sanjoy@playingwithpointers.com> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-08/txt/msg00190.txt.bz2 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 + * 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 + * 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, µblaze_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