From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id C374F3986435 for ; Tue, 30 Aug 2022 10:08:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C374F3986435 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-661-_gYSpzZ3OEWjf3GNI_ziFQ-1; Tue, 30 Aug 2022 06:08:46 -0400 X-MC-Unique: _gYSpzZ3OEWjf3GNI_ziFQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5928D1C05152; Tue, 30 Aug 2022 10:08:46 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.43.2.105]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3709F909FF; Tue, 30 Aug 2022 10:08:45 +0000 (UTC) From: Bruno Larsen To: gdb-patches@sourceware.org Cc: blarsen@redhat.com, Tom Tromey Subject: [PATCH v4 3/5] Change GDB to use frame_info_ptr Date: Tue, 30 Aug 2022 12:08:35 +0200 Message-Id: <20220830100837.926692-4-blarsen@redhat.com> In-Reply-To: <20220830100837.926692-1-blarsen@redhat.com> References: <20220830100837.926692-1-blarsen@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-Spam-Status: No, score=-19.0 required=5.0 tests=BAYES_00, DKIM_INVALID, DKIM_SIGNED, GIT_PATCH_0, KAM_DMARC_NONE, KAM_DMARC_STATUS, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2022 10:09:18 -0000 From: Tom Tromey This changes GDB to use frame_info_ptr instead of frame_info * The substitution was done with multiple sequential `sed` commands: sed 's/^struct frame_info;/class frame_info_ptr;/' sed 's/struct frame_info \*/frame_info_ptr /g' - which left some issues in a few files, that were manually fixed. sed 's/\ --- gdb/aarch64-fbsd-tdep.c | 2 +- gdb/aarch64-linux-tdep.c | 2 +- gdb/aarch64-tdep.c | 34 ++++++------- gdb/ada-lang.c | 10 ++-- gdb/ada-lang.h | 4 +- gdb/alpha-linux-tdep.c | 2 +- gdb/alpha-mdebug-tdep.c | 16 +++---- gdb/alpha-netbsd-tdep.c | 2 +- gdb/alpha-obsd-tdep.c | 2 +- gdb/alpha-tdep.c | 22 ++++----- gdb/alpha-tdep.h | 2 +- gdb/amd64-darwin-tdep.c | 2 +- gdb/amd64-fbsd-tdep.c | 2 +- gdb/amd64-linux-tdep.c | 6 +-- gdb/amd64-netbsd-tdep.c | 4 +- gdb/amd64-obsd-tdep.c | 12 ++--- gdb/amd64-sol2-tdep.c | 2 +- gdb/amd64-tdep.c | 34 ++++++------- gdb/amd64-tdep.h | 2 +- gdb/amd64-windows-tdep.c | 12 ++--- gdb/arc-linux-tdep.c | 4 +- gdb/arc-tdep.c | 20 ++++---- gdb/arc-tdep.h | 4 +- gdb/arch-utils.c | 6 +-- gdb/arch-utils.h | 8 ++-- gdb/arm-fbsd-tdep.c | 2 +- gdb/arm-linux-tdep.c | 14 +++--- gdb/arm-obsd-tdep.c | 2 +- gdb/arm-tdep.c | 62 ++++++++++++------------ gdb/arm-tdep.h | 4 +- gdb/arm-wince-tdep.c | 2 +- gdb/avr-tdep.c | 14 +++--- gdb/ax-gdb.c | 2 +- gdb/bfin-linux-tdep.c | 2 +- gdb/bfin-tdep.c | 12 ++--- gdb/blockframe.c | 8 ++-- gdb/bpf-tdep.c | 8 ++-- gdb/break-catch-throw.c | 2 +- gdb/breakpoint.c | 18 +++---- gdb/c-lang.c | 2 +- gdb/cp-abi.c | 2 +- gdb/cp-abi.h | 6 +-- gdb/cris-tdep.c | 36 +++++++------- gdb/csky-linux-tdep.c | 2 +- gdb/csky-tdep.c | 22 ++++----- gdb/defs.h | 2 +- gdb/dtrace-probe.c | 4 +- gdb/dummy-frame.c | 8 ++-- gdb/dummy-frame.h | 2 +- gdb/elfread.c | 2 +- gdb/eval.c | 2 +- gdb/extension-priv.h | 2 +- gdb/extension.c | 2 +- gdb/extension.h | 4 +- gdb/gcore.c | 2 +- gdb/gdbarch-components.py | 30 ++++++------ gdb/gdbarch-gen.h | 60 +++++++++++------------ gdb/gdbarch-selftests.c | 2 +- gdb/gdbarch.c | 30 ++++++------ gdb/gdbtypes.h | 5 +- gdb/gnu-v3-abi.c | 2 +- gdb/h8300-tdep.c | 12 ++--- gdb/hppa-bsd-tdep.c | 2 +- gdb/hppa-linux-tdep.c | 8 ++-- gdb/hppa-netbsd-tdep.c | 4 +- gdb/hppa-tdep.c | 32 ++++++------- gdb/hppa-tdep.h | 8 ++-- gdb/jit.c | 12 ++--- gdb/language.c | 6 +-- gdb/language.h | 8 ++-- gdb/lm32-tdep.c | 8 ++-- gdb/loongarch-linux-tdep.c | 4 +- gdb/loongarch-tdep.c | 8 ++-- gdb/loongarch-tdep.h | 2 +- gdb/m32c-tdep.c | 10 ++-- gdb/m32r-linux-tdep.c | 14 +++--- gdb/m32r-tdep.c | 8 ++-- gdb/m68hc11-tdep.c | 16 +++---- gdb/m68k-linux-tdep.c | 12 ++--- gdb/m68k-tdep.c | 18 +++---- gdb/m68k-tdep.h | 2 +- gdb/macroscope.c | 2 +- gdb/mep-tdep.c | 8 ++-- gdb/microblaze-linux-tdep.c | 4 +- gdb/microblaze-tdep.c | 10 ++-- gdb/minsyms.c | 2 +- gdb/mips-fbsd-tdep.c | 4 +- gdb/mips-linux-tdep.c | 22 ++++----- gdb/mips-netbsd-tdep.c | 2 +- gdb/mips-sde-tdep.c | 12 ++--- gdb/mips-tdep.c | 96 ++++++++++++++++++------------------- gdb/mips-tdep.h | 2 +- gdb/mips64-obsd-tdep.c | 2 +- gdb/mn10300-linux-tdep.c | 4 +- gdb/mn10300-tdep.c | 8 ++-- gdb/moxie-tdep.c | 8 ++-- gdb/msp430-tdep.c | 10 ++-- gdb/nds32-tdep.c | 20 ++++---- gdb/nios2-linux-tdep.c | 4 +- gdb/nios2-tdep.c | 22 ++++----- gdb/nios2-tdep.h | 2 +- gdb/objc-lang.c | 10 ++-- gdb/observable.h | 2 +- gdb/or1k-linux-tdep.c | 4 +- gdb/or1k-tdep.c | 12 ++--- gdb/ppc-fbsd-tdep.c | 8 ++-- gdb/ppc-linux-tdep.c | 12 ++--- gdb/ppc-netbsd-tdep.c | 2 +- gdb/ppc-obsd-tdep.c | 8 ++-- gdb/ppc-tdep.h | 4 +- gdb/ppc64-tdep.c | 20 ++++---- gdb/ppc64-tdep.h | 4 +- gdb/printcmd.c | 4 +- gdb/probe.c | 4 +- gdb/probe.h | 4 +- gdb/record-btrace.c | 26 +++++----- gdb/riscv-fbsd-tdep.c | 2 +- gdb/riscv-linux-tdep.c | 6 +-- gdb/riscv-tdep.c | 12 ++--- gdb/riscv-tdep.h | 2 +- gdb/rl78-tdep.c | 12 ++--- gdb/rs6000-aix-tdep.c | 10 ++-- gdb/rs6000-tdep.c | 34 ++++++------- gdb/rx-tdep.c | 16 +++---- gdb/tic6x-linux-tdep.c | 4 +- gdb/tic6x-tdep.c | 22 ++++----- gdb/tic6x-tdep.h | 2 +- gdb/tilegx-linux-tdep.c | 2 +- gdb/tilegx-tdep.c | 12 ++--- gdb/top.c | 2 +- gdb/tracepoint.c | 2 +- gdb/trad-frame.c | 10 ++-- gdb/trad-frame.h | 10 ++-- gdb/tramp-frame.c | 10 ++-- gdb/tramp-frame.h | 6 +-- gdb/user-regs.c | 4 +- gdb/user-regs.h | 6 +-- gdb/xstormy16-tdep.c | 12 ++--- gdb/xtensa-tdep.c | 22 ++++----- gdb/z80-tdep.c | 6 +-- 140 files changed, 693 insertions(+), 692 deletions(-) diff --git a/gdb/aarch64-fbsd-tdep.c b/gdb/aarch64-fbsd-tdep.c index 4a6b4115234..f37729a4d01 100644 --- a/gdb/aarch64-fbsd-tdep.c +++ b/gdb/aarch64-fbsd-tdep.c @@ -80,7 +80,7 @@ static const struct regcache_map_entry aarch64_fbsd_fpregmap[] = static void aarch64_fbsd_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c index 15773c75da8..0954e219a25 100644 --- a/gdb/aarch64-linux-tdep.c +++ b/gdb/aarch64-linux-tdep.c @@ -283,7 +283,7 @@ aarch64_linux_restore_vreg (struct trad_frame_cache *cache, int num_regs, static void aarch64_linux_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c index f747ebda1ab..add3b186611 100644 --- a/gdb/aarch64-tdep.c +++ b/gdb/aarch64-tdep.c @@ -250,7 +250,7 @@ class instruction_reader : public abstract_instruction_reader static CORE_ADDR aarch64_frame_unmask_lr (aarch64_gdbarch_tdep *tdep, - struct frame_info *this_frame, CORE_ADDR addr) + frame_info_ptr this_frame, CORE_ADDR addr) { if (tdep->has_pauth () && frame_unwind_register_unsigned (this_frame, @@ -270,7 +270,7 @@ aarch64_frame_unmask_lr (aarch64_gdbarch_tdep *tdep, /* Implement the "get_pc_address_flags" gdbarch method. */ static std::string -aarch64_get_pc_address_flags (frame_info *frame, CORE_ADDR pc) +aarch64_get_pc_address_flags (frame_info_ptr frame, CORE_ADDR pc) { if (pc != 0 && get_frame_pc_masked (frame)) return "PAC"; @@ -969,7 +969,7 @@ aarch64_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) cache CACHE. */ static void -aarch64_scan_prologue (struct frame_info *this_frame, +aarch64_scan_prologue (frame_info_ptr this_frame, struct aarch64_prologue_cache *cache) { CORE_ADDR block_addr = get_frame_address_in_block (this_frame); @@ -1023,7 +1023,7 @@ aarch64_scan_prologue (struct frame_info *this_frame, not available. */ static void -aarch64_make_prologue_cache_1 (struct frame_info *this_frame, +aarch64_make_prologue_cache_1 (frame_info_ptr this_frame, struct aarch64_prologue_cache *cache) { CORE_ADDR unwound_fp; @@ -1058,7 +1058,7 @@ aarch64_make_prologue_cache_1 (struct frame_info *this_frame, *THIS_CACHE. */ static struct aarch64_prologue_cache * -aarch64_make_prologue_cache (struct frame_info *this_frame, void **this_cache) +aarch64_make_prologue_cache (frame_info_ptr this_frame, void **this_cache) { struct aarch64_prologue_cache *cache; @@ -1085,7 +1085,7 @@ aarch64_make_prologue_cache (struct frame_info *this_frame, void **this_cache) /* Implement the "stop_reason" frame_unwind method. */ static enum unwind_stop_reason -aarch64_prologue_frame_unwind_stop_reason (struct frame_info *this_frame, +aarch64_prologue_frame_unwind_stop_reason (frame_info_ptr this_frame, void **this_cache) { struct aarch64_prologue_cache *cache @@ -1111,7 +1111,7 @@ aarch64_prologue_frame_unwind_stop_reason (struct frame_info *this_frame, PC and the caller's SP when we were called. */ static void -aarch64_prologue_this_id (struct frame_info *this_frame, +aarch64_prologue_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct aarch64_prologue_cache *cache @@ -1126,7 +1126,7 @@ aarch64_prologue_this_id (struct frame_info *this_frame, /* Implement the "prev_register" frame_unwind method. */ static struct value * -aarch64_prologue_prev_register (struct frame_info *this_frame, +aarch64_prologue_prev_register (frame_info_ptr this_frame, void **this_cache, int prev_regnum) { struct aarch64_prologue_cache *cache @@ -1192,7 +1192,7 @@ static frame_unwind aarch64_prologue_unwind = *THIS_CACHE. */ static struct aarch64_prologue_cache * -aarch64_make_stub_cache (struct frame_info *this_frame, void **this_cache) +aarch64_make_stub_cache (frame_info_ptr this_frame, void **this_cache) { struct aarch64_prologue_cache *cache; @@ -1222,7 +1222,7 @@ aarch64_make_stub_cache (struct frame_info *this_frame, void **this_cache) /* Implement the "stop_reason" frame_unwind method. */ static enum unwind_stop_reason -aarch64_stub_frame_unwind_stop_reason (struct frame_info *this_frame, +aarch64_stub_frame_unwind_stop_reason (frame_info_ptr this_frame, void **this_cache) { struct aarch64_prologue_cache *cache @@ -1237,7 +1237,7 @@ aarch64_stub_frame_unwind_stop_reason (struct frame_info *this_frame, /* Our frame ID for a stub frame is the current SP and LR. */ static void -aarch64_stub_this_id (struct frame_info *this_frame, +aarch64_stub_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct aarch64_prologue_cache *cache @@ -1253,7 +1253,7 @@ aarch64_stub_this_id (struct frame_info *this_frame, static int aarch64_stub_unwind_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { CORE_ADDR addr_in_block; @@ -1284,7 +1284,7 @@ static frame_unwind aarch64_stub_unwind = /* Return the frame base address of *THIS_FRAME. */ static CORE_ADDR -aarch64_normal_frame_base (struct frame_info *this_frame, void **this_cache) +aarch64_normal_frame_base (frame_info_ptr this_frame, void **this_cache) { struct aarch64_prologue_cache *cache = aarch64_make_prologue_cache (this_frame, this_cache); @@ -1305,7 +1305,7 @@ static frame_base aarch64_normal_base = *THIS_FRAME. */ static struct value * -aarch64_dwarf2_prev_register (struct frame_info *this_frame, +aarch64_dwarf2_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { gdbarch *arch = get_frame_arch (this_frame); @@ -1333,7 +1333,7 @@ static const unsigned char op_lit1 = DW_OP_lit1; static void aarch64_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, struct dwarf2_frame_state_reg *reg, - struct frame_info *this_frame) + frame_info_ptr this_frame) { aarch64_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -2533,7 +2533,7 @@ aarch64_return_value (struct gdbarch *gdbarch, struct value *func_value, /* Implement the "get_longjmp_target" gdbarch method. */ static int -aarch64_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) +aarch64_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) { CORE_ADDR jb_addr; gdb_byte buf[X_REGISTER_SIZE]; @@ -2884,7 +2884,7 @@ aarch64_pseudo_write (struct gdbarch *gdbarch, struct regcache *regcache, /* Callback function for user_reg_add. */ static struct value * -value_of_aarch64_user_reg (struct frame_info *frame, const void *baton) +value_of_aarch64_user_reg (frame_info_ptr frame, const void *baton) { const int *reg_p = (const int *) baton; diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index d49baf99005..ab545aee632 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -11841,7 +11841,7 @@ ada_exception_support_info_sniffer (void) to most users. */ static int -is_known_support_routine (struct frame_info *frame) +is_known_support_routine (frame_info_ptr frame) { enum language func_lang; int i; @@ -11900,7 +11900,7 @@ is_known_support_routine (struct frame_info *frame) part of the Ada run-time, starting from FI and moving upward. */ void -ada_find_printable_frame (struct frame_info *fi) +ada_find_printable_frame (frame_info_ptr fi) { for (; fi != NULL; fi = get_prev_frame (fi)) { @@ -11934,7 +11934,7 @@ static CORE_ADDR ada_unhandled_exception_name_addr_from_raise (void) { int frame_level; - struct frame_info *fi; + frame_info_ptr fi; struct ada_inferior_data *data = get_ada_inferior_data (current_inferior ()); /* To determine the name of this exception, we need to select @@ -13049,7 +13049,7 @@ ada_add_standard_exceptions (compiled_regex *preg, static void ada_add_exceptions_from_frame (compiled_regex *preg, - struct frame_info *frame, + frame_info_ptr frame, std::vector *exceptions) { const struct block *block = get_frame_block (frame, 0); @@ -13478,7 +13478,7 @@ class ada_language : public language_defn struct value *read_var_value (struct symbol *var, const struct block *var_block, - struct frame_info *frame) const override + frame_info_ptr frame) const override { /* The only case where default_read_var_value is not sufficient is when VAR is a renaming... */ diff --git a/gdb/ada-lang.h b/gdb/ada-lang.h index 0dcdb56c198..df648c2297e 100644 --- a/gdb/ada-lang.h +++ b/gdb/ada-lang.h @@ -20,7 +20,7 @@ #if !defined (ADA_LANG_H) #define ADA_LANG_H 1 -struct frame_info; +class frame_info_ptr; struct inferior; struct type_print_options; struct parser_state; @@ -334,7 +334,7 @@ extern enum ada_renaming_category ada_parse_renaming (struct symbol *, const char **, int *, const char **); -extern void ada_find_printable_frame (struct frame_info *fi); +extern void ada_find_printable_frame (frame_info_ptr fi); extern char *ada_breakpoint_rewrite (char *, int *); diff --git a/gdb/alpha-linux-tdep.c b/gdb/alpha-linux-tdep.c index c103aafc1ff..3a6a9aea160 100644 --- a/gdb/alpha-linux-tdep.c +++ b/gdb/alpha-linux-tdep.c @@ -126,7 +126,7 @@ alpha_linux_pc_in_sigtramp (struct gdbarch *gdbarch, } static CORE_ADDR -alpha_linux_sigcontext_addr (struct frame_info *this_frame) +alpha_linux_sigcontext_addr (frame_info_ptr this_frame) { struct gdbarch *gdbarch = get_frame_arch (this_frame); CORE_ADDR pc; diff --git a/gdb/alpha-mdebug-tdep.c b/gdb/alpha-mdebug-tdep.c index 10169c76c37..01f84f7fc3e 100644 --- a/gdb/alpha-mdebug-tdep.c +++ b/gdb/alpha-mdebug-tdep.c @@ -187,7 +187,7 @@ struct alpha_mdebug_unwind_cache and store the resulting register save locations in the structure. */ static struct alpha_mdebug_unwind_cache * -alpha_mdebug_frame_unwind_cache (struct frame_info *this_frame, +alpha_mdebug_frame_unwind_cache (frame_info_ptr this_frame, void **this_prologue_cache) { struct alpha_mdebug_unwind_cache *info; @@ -264,7 +264,7 @@ alpha_mdebug_frame_unwind_cache (struct frame_info *this_frame, frame. This will be used to create a new GDB frame struct. */ static void -alpha_mdebug_frame_this_id (struct frame_info *this_frame, +alpha_mdebug_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -277,7 +277,7 @@ alpha_mdebug_frame_this_id (struct frame_info *this_frame, /* Retrieve the value of REGNUM in FRAME. Don't give up! */ static struct value * -alpha_mdebug_frame_prev_register (struct frame_info *this_frame, +alpha_mdebug_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct alpha_mdebug_unwind_cache *info @@ -308,7 +308,7 @@ alpha_mdebug_max_frame_size_exceeded (struct mdebug_extra_func_info *proc_desc) static int alpha_mdebug_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { CORE_ADDR pc = get_frame_address_in_block (this_frame); @@ -345,7 +345,7 @@ static const struct frame_unwind alpha_mdebug_frame_unwind = }; static CORE_ADDR -alpha_mdebug_frame_base_address (struct frame_info *this_frame, +alpha_mdebug_frame_base_address (frame_info_ptr this_frame, void **this_prologue_cache) { struct alpha_mdebug_unwind_cache *info @@ -355,7 +355,7 @@ alpha_mdebug_frame_base_address (struct frame_info *this_frame, } static CORE_ADDR -alpha_mdebug_frame_locals_address (struct frame_info *this_frame, +alpha_mdebug_frame_locals_address (frame_info_ptr this_frame, void **this_prologue_cache) { struct alpha_mdebug_unwind_cache *info @@ -365,7 +365,7 @@ alpha_mdebug_frame_locals_address (struct frame_info *this_frame, } static CORE_ADDR -alpha_mdebug_frame_args_address (struct frame_info *this_frame, +alpha_mdebug_frame_args_address (frame_info_ptr this_frame, void **this_prologue_cache) { struct alpha_mdebug_unwind_cache *info @@ -382,7 +382,7 @@ static const struct frame_base alpha_mdebug_frame_base = { }; static const struct frame_base * -alpha_mdebug_frame_base_sniffer (struct frame_info *this_frame) +alpha_mdebug_frame_base_sniffer (frame_info_ptr this_frame) { CORE_ADDR pc = get_frame_address_in_block (this_frame); struct mdebug_extra_func_info *proc_desc; diff --git a/gdb/alpha-netbsd-tdep.c b/gdb/alpha-netbsd-tdep.c index 72d7019377f..ae2deca2c85 100644 --- a/gdb/alpha-netbsd-tdep.c +++ b/gdb/alpha-netbsd-tdep.c @@ -235,7 +235,7 @@ alphanbsd_pc_in_sigtramp (struct gdbarch *gdbarch, } static CORE_ADDR -alphanbsd_sigcontext_addr (struct frame_info *frame) +alphanbsd_sigcontext_addr (frame_info_ptr frame) { /* FIXME: This is not correct for all versions of NetBSD/alpha. We will probably need to disassemble the trampoline to figure diff --git a/gdb/alpha-obsd-tdep.c b/gdb/alpha-obsd-tdep.c index c0d672c3f72..41c376c6503 100644 --- a/gdb/alpha-obsd-tdep.c +++ b/gdb/alpha-obsd-tdep.c @@ -69,7 +69,7 @@ alphaobsd_pc_in_sigtramp (struct gdbarch *gdbarch, } static CORE_ADDR -alphaobsd_sigcontext_addr (struct frame_info *this_frame) +alphaobsd_sigcontext_addr (frame_info_ptr this_frame) { struct gdbarch *gdbarch = get_frame_arch (this_frame); CORE_ADDR pc = get_frame_pc (this_frame); diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index 44efc8e4bbb..426fdf60fb4 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -238,7 +238,7 @@ alpha_convert_register_p (struct gdbarch *gdbarch, int regno, } static int -alpha_register_to_value (struct frame_info *frame, int regnum, +alpha_register_to_value (frame_info_ptr frame, int regnum, struct type *valtype, gdb_byte *out, int *optimizedp, int *unavailablep) { @@ -265,7 +265,7 @@ alpha_register_to_value (struct frame_info *frame, int regnum, } static void -alpha_value_to_register (struct frame_info *frame, int regnum, +alpha_value_to_register (frame_info_ptr frame, int regnum, struct type *valtype, const gdb_byte *in) { gdb_byte out[ALPHA_REGISTER_SIZE]; @@ -848,7 +848,7 @@ alpha_deal_with_atomic_sequence (struct gdbarch *gdbarch, CORE_ADDR pc) into the "pc". This routine returns true on success. */ static int -alpha_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) +alpha_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) { struct gdbarch *gdbarch = get_frame_arch (frame); alpha_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -879,7 +879,7 @@ struct alpha_sigtramp_unwind_cache }; static struct alpha_sigtramp_unwind_cache * -alpha_sigtramp_frame_unwind_cache (struct frame_info *this_frame, +alpha_sigtramp_frame_unwind_cache (frame_info_ptr this_frame, void **this_prologue_cache) { struct alpha_sigtramp_unwind_cache *info; @@ -920,7 +920,7 @@ alpha_sigtramp_register_address (struct gdbarch *gdbarch, frame. This will be used to create a new GDB frame struct. */ static void -alpha_sigtramp_frame_this_id (struct frame_info *this_frame, +alpha_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -962,7 +962,7 @@ alpha_sigtramp_frame_this_id (struct frame_info *this_frame, /* Retrieve the value of REGNUM in FRAME. Don't give up! */ static struct value * -alpha_sigtramp_frame_prev_register (struct frame_info *this_frame, +alpha_sigtramp_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct alpha_sigtramp_unwind_cache *info @@ -987,7 +987,7 @@ alpha_sigtramp_frame_prev_register (struct frame_info *this_frame, static int alpha_sigtramp_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -1229,7 +1229,7 @@ alpha_heuristic_analyze_probing_loop (struct gdbarch *gdbarch, CORE_ADDR *pc, } static struct alpha_heuristic_unwind_cache * -alpha_heuristic_frame_unwind_cache (struct frame_info *this_frame, +alpha_heuristic_frame_unwind_cache (frame_info_ptr this_frame, void **this_prologue_cache, CORE_ADDR start_pc) { @@ -1406,7 +1406,7 @@ alpha_heuristic_frame_unwind_cache (struct frame_info *this_frame, frame. This will be used to create a new GDB frame struct. */ static void -alpha_heuristic_frame_this_id (struct frame_info *this_frame, +alpha_heuristic_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -1419,7 +1419,7 @@ alpha_heuristic_frame_this_id (struct frame_info *this_frame, /* Retrieve the value of REGNUM in FRAME. Don't give up! */ static struct value * -alpha_heuristic_frame_prev_register (struct frame_info *this_frame, +alpha_heuristic_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct alpha_heuristic_unwind_cache *info @@ -1446,7 +1446,7 @@ static const struct frame_unwind alpha_heuristic_frame_unwind = }; static CORE_ADDR -alpha_heuristic_frame_base_address (struct frame_info *this_frame, +alpha_heuristic_frame_base_address (frame_info_ptr this_frame, void **this_prologue_cache) { struct alpha_heuristic_unwind_cache *info diff --git a/gdb/alpha-tdep.h b/gdb/alpha-tdep.h index bc4a8407249..c12d7ec92ae 100644 --- a/gdb/alpha-tdep.h +++ b/gdb/alpha-tdep.h @@ -81,7 +81,7 @@ struct alpha_gdbarch_tdep : gdbarch_tdep_base /* Translate a signal handler stack base address into the address of the sigcontext structure for that signal handler. */ - CORE_ADDR (*sigcontext_addr) (struct frame_info *) = nullptr; + CORE_ADDR (*sigcontext_addr) (frame_info_ptr ) = nullptr; /* Does the PC fall in a signal trampoline. */ /* NOTE: cagney/2004-04-30: Do not copy/clone this code. Instead diff --git a/gdb/amd64-darwin-tdep.c b/gdb/amd64-darwin-tdep.c index 7fc35536bc6..af3bad9af9b 100644 --- a/gdb/amd64-darwin-tdep.c +++ b/gdb/amd64-darwin-tdep.c @@ -75,7 +75,7 @@ const int amd64_darwin_thread_state_num_regs = address of the associated sigcontext structure. */ static CORE_ADDR -amd64_darwin_sigcontext_addr (struct frame_info *this_frame) +amd64_darwin_sigcontext_addr (frame_info_ptr this_frame) { struct gdbarch *gdbarch = get_frame_arch (this_frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/amd64-fbsd-tdep.c b/gdb/amd64-fbsd-tdep.c index 8e40283d838..960bb0b5942 100644 --- a/gdb/amd64-fbsd-tdep.c +++ b/gdb/amd64-fbsd-tdep.c @@ -169,7 +169,7 @@ const struct regset amd64_fbsd_segbases_regset = static void amd64_fbsd_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c index 35703a36785..07c1669f91e 100644 --- a/gdb/amd64-linux-tdep.c +++ b/gdb/amd64-linux-tdep.c @@ -133,7 +133,7 @@ static const gdb_byte amd64_x32_linux_sigtramp_code[] = the routine. Otherwise, return 0. */ static CORE_ADDR -amd64_linux_sigtramp_start (struct frame_info *this_frame) +amd64_linux_sigtramp_start (frame_info_ptr this_frame) { struct gdbarch *gdbarch; const gdb_byte *sigtramp_code; @@ -175,7 +175,7 @@ amd64_linux_sigtramp_start (struct frame_info *this_frame) routine. */ static int -amd64_linux_sigtramp_p (struct frame_info *this_frame) +amd64_linux_sigtramp_p (frame_info_ptr this_frame) { CORE_ADDR pc = get_frame_pc (this_frame); const char *name; @@ -201,7 +201,7 @@ amd64_linux_sigtramp_p (struct frame_info *this_frame) address of the associated sigcontext structure. */ static CORE_ADDR -amd64_linux_sigcontext_addr (struct frame_info *this_frame) +amd64_linux_sigcontext_addr (frame_info_ptr this_frame) { struct gdbarch *gdbarch = get_frame_arch (this_frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/amd64-netbsd-tdep.c b/gdb/amd64-netbsd-tdep.c index 59d723caa55..ec6906c12fb 100644 --- a/gdb/amd64-netbsd-tdep.c +++ b/gdb/amd64-netbsd-tdep.c @@ -35,7 +35,7 @@ routine. */ static int -amd64nbsd_sigtramp_p (struct frame_info *this_frame) +amd64nbsd_sigtramp_p (frame_info_ptr this_frame) { CORE_ADDR pc = get_frame_pc (this_frame); const char *name; @@ -48,7 +48,7 @@ amd64nbsd_sigtramp_p (struct frame_info *this_frame) return the address of the associated mcontext structure. */ static CORE_ADDR -amd64nbsd_mcontext_addr (struct frame_info *this_frame) +amd64nbsd_mcontext_addr (frame_info_ptr this_frame) { CORE_ADDR addr; diff --git a/gdb/amd64-obsd-tdep.c b/gdb/amd64-obsd-tdep.c index f0bc7c474a6..22cf7f5d6c2 100644 --- a/gdb/amd64-obsd-tdep.c +++ b/gdb/amd64-obsd-tdep.c @@ -45,7 +45,7 @@ static const int amd64obsd_page_size = 4096; routine. */ static int -amd64obsd_sigtramp_p (struct frame_info *this_frame) +amd64obsd_sigtramp_p (frame_info_ptr this_frame) { CORE_ADDR pc = get_frame_pc (this_frame); CORE_ADDR start_pc = (pc & ~(amd64obsd_page_size - 1)); @@ -98,7 +98,7 @@ amd64obsd_sigtramp_p (struct frame_info *this_frame) address of the associated sigcontext structure. */ static CORE_ADDR -amd64obsd_sigcontext_addr (struct frame_info *this_frame) +amd64obsd_sigcontext_addr (frame_info_ptr this_frame) { CORE_ADDR pc = get_frame_pc (this_frame); ULONGEST offset = (pc & (amd64obsd_page_size - 1)); @@ -315,7 +315,7 @@ amd64obsd_collect_uthread (const struct regcache *regcache, #define amd64obsd_tf_reg_offset amd64obsd_sc_reg_offset static struct trad_frame_cache * -amd64obsd_trapframe_cache (struct frame_info *this_frame, void **this_cache) +amd64obsd_trapframe_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -362,7 +362,7 @@ amd64obsd_trapframe_cache (struct frame_info *this_frame, void **this_cache) } static void -amd64obsd_trapframe_this_id (struct frame_info *this_frame, +amd64obsd_trapframe_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct trad_frame_cache *cache = @@ -372,7 +372,7 @@ amd64obsd_trapframe_this_id (struct frame_info *this_frame, } static struct value * -amd64obsd_trapframe_prev_register (struct frame_info *this_frame, +amd64obsd_trapframe_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct trad_frame_cache *cache = @@ -383,7 +383,7 @@ amd64obsd_trapframe_prev_register (struct frame_info *this_frame, static int amd64obsd_trapframe_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { ULONGEST cs; diff --git a/gdb/amd64-sol2-tdep.c b/gdb/amd64-sol2-tdep.c index ce96eb045ec..f62240fcd55 100644 --- a/gdb/amd64-sol2-tdep.c +++ b/gdb/amd64-sol2-tdep.c @@ -67,7 +67,7 @@ static int amd64_sol2_gregset_reg_offset[] = { 'mcontext_t' that contains the saved set of machine registers. */ static CORE_ADDR -amd64_sol2_mcontext_addr (struct frame_info *this_frame) +amd64_sol2_mcontext_addr (frame_info_ptr this_frame) { CORE_ADDR sp, ucontext_addr; diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c index d89e06d27cb..b396651d12b 100644 --- a/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c @@ -2560,7 +2560,7 @@ amd64_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc) /* Normal frames. */ static void -amd64_frame_cache_1 (struct frame_info *this_frame, +amd64_frame_cache_1 (frame_info_ptr this_frame, struct amd64_frame_cache *cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -2629,7 +2629,7 @@ amd64_frame_cache_1 (struct frame_info *this_frame, } static struct amd64_frame_cache * -amd64_frame_cache (struct frame_info *this_frame, void **this_cache) +amd64_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct amd64_frame_cache *cache; @@ -2653,7 +2653,7 @@ amd64_frame_cache (struct frame_info *this_frame, void **this_cache) } static enum unwind_stop_reason -amd64_frame_unwind_stop_reason (struct frame_info *this_frame, +amd64_frame_unwind_stop_reason (frame_info_ptr this_frame, void **this_cache) { struct amd64_frame_cache *cache = @@ -2670,7 +2670,7 @@ amd64_frame_unwind_stop_reason (struct frame_info *this_frame, } static void -amd64_frame_this_id (struct frame_info *this_frame, void **this_cache, +amd64_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct amd64_frame_cache *cache = @@ -2688,7 +2688,7 @@ amd64_frame_this_id (struct frame_info *this_frame, void **this_cache, } static struct value * -amd64_frame_prev_register (struct frame_info *this_frame, void **this_cache, +amd64_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -2742,7 +2742,7 @@ amd64_gen_return_address (struct gdbarch *gdbarch, on both platforms. */ static struct amd64_frame_cache * -amd64_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache) +amd64_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); i386_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -2782,7 +2782,7 @@ amd64_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache) } static enum unwind_stop_reason -amd64_sigtramp_frame_unwind_stop_reason (struct frame_info *this_frame, +amd64_sigtramp_frame_unwind_stop_reason (frame_info_ptr this_frame, void **this_cache) { struct amd64_frame_cache *cache = @@ -2795,7 +2795,7 @@ amd64_sigtramp_frame_unwind_stop_reason (struct frame_info *this_frame, } static void -amd64_sigtramp_frame_this_id (struct frame_info *this_frame, +amd64_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct amd64_frame_cache *cache = @@ -2813,7 +2813,7 @@ amd64_sigtramp_frame_this_id (struct frame_info *this_frame, } static struct value * -amd64_sigtramp_frame_prev_register (struct frame_info *this_frame, +amd64_sigtramp_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { /* Make sure we've initialized the cache. */ @@ -2824,7 +2824,7 @@ amd64_sigtramp_frame_prev_register (struct frame_info *this_frame, static int amd64_sigtramp_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { gdbarch *arch = get_frame_arch (this_frame); @@ -2866,7 +2866,7 @@ static const struct frame_unwind amd64_sigtramp_frame_unwind = static CORE_ADDR -amd64_frame_base_address (struct frame_info *this_frame, void **this_cache) +amd64_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct amd64_frame_cache *cache = amd64_frame_cache (this_frame, this_cache); @@ -2911,7 +2911,7 @@ amd64_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc) static int amd64_epilogue_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { if (frame_relative_level (this_frame) == 0) @@ -2922,7 +2922,7 @@ amd64_epilogue_frame_sniffer (const struct frame_unwind *self, } static struct amd64_frame_cache * -amd64_epilogue_frame_cache (struct frame_info *this_frame, void **this_cache) +amd64_epilogue_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -2963,7 +2963,7 @@ amd64_epilogue_frame_cache (struct frame_info *this_frame, void **this_cache) } static enum unwind_stop_reason -amd64_epilogue_frame_unwind_stop_reason (struct frame_info *this_frame, +amd64_epilogue_frame_unwind_stop_reason (frame_info_ptr this_frame, void **this_cache) { struct amd64_frame_cache *cache @@ -2976,7 +2976,7 @@ amd64_epilogue_frame_unwind_stop_reason (struct frame_info *this_frame, } static void -amd64_epilogue_frame_this_id (struct frame_info *this_frame, +amd64_epilogue_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { @@ -3001,7 +3001,7 @@ static const struct frame_unwind amd64_epilogue_frame_unwind = }; static struct frame_id -amd64_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) +amd64_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) { CORE_ADDR fp; @@ -3064,7 +3064,7 @@ const struct regset amd64_fpregset = success. */ static int -amd64_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) +amd64_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) { gdb_byte buf[8]; CORE_ADDR jb_addr; diff --git a/gdb/amd64-tdep.h b/gdb/amd64-tdep.h index c18766e71c4..df85c60c19c 100644 --- a/gdb/amd64-tdep.h +++ b/gdb/amd64-tdep.h @@ -22,7 +22,7 @@ #define AMD64_TDEP_H struct gdbarch; -struct frame_info; +class frame_info_ptr; struct regcache; #include "i386-tdep.h" diff --git a/gdb/amd64-windows-tdep.c b/gdb/amd64-windows-tdep.c index a9aef0bab88..180e54fb9a8 100644 --- a/gdb/amd64-windows-tdep.c +++ b/gdb/amd64-windows-tdep.c @@ -513,7 +513,7 @@ pc_in_range (CORE_ADDR pc, const struct amd64_windows_frame_cache *cache) Return 1 if an epilogue sequence was recognized, 0 otherwise. */ static int -amd64_windows_frame_decode_epilogue (struct frame_info *this_frame, +amd64_windows_frame_decode_epilogue (frame_info_ptr this_frame, struct amd64_windows_frame_cache *cache) { /* According to MSDN an epilogue "must consist of either an add RSP,constant @@ -693,7 +693,7 @@ amd64_windows_frame_decode_epilogue (struct frame_info *this_frame, /* Decode and execute unwind insns at UNWIND_INFO. */ static void -amd64_windows_frame_decode_insns (struct frame_info *this_frame, +amd64_windows_frame_decode_insns (frame_info_ptr this_frame, struct amd64_windows_frame_cache *cache, CORE_ADDR unwind_info) { @@ -1073,7 +1073,7 @@ amd64_windows_find_unwind_info (struct gdbarch *gdbarch, CORE_ADDR pc, for THIS_FRAME. */ static struct amd64_windows_frame_cache * -amd64_windows_frame_cache (struct frame_info *this_frame, void **this_cache) +amd64_windows_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -1118,7 +1118,7 @@ amd64_windows_frame_cache (struct frame_info *this_frame, void **this_cache) using the standard Windows x64 SEH info. */ static struct value * -amd64_windows_frame_prev_register (struct frame_info *this_frame, +amd64_windows_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -1164,7 +1164,7 @@ amd64_windows_frame_prev_register (struct frame_info *this_frame, the standard Windows x64 SEH info. */ static void -amd64_windows_frame_this_id (struct frame_info *this_frame, void **this_cache, +amd64_windows_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct amd64_windows_frame_cache *cache = @@ -1230,7 +1230,7 @@ amd64_windows_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) /* Check Win64 DLL jmp trampolines and find jump destination. */ static CORE_ADDR -amd64_windows_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc) +amd64_windows_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) { CORE_ADDR destination = 0; struct gdbarch *gdbarch = get_frame_arch (frame); diff --git a/gdb/arc-linux-tdep.c b/gdb/arc-linux-tdep.c index d72bdaf24ac..da7f4758c19 100644 --- a/gdb/arc-linux-tdep.c +++ b/gdb/arc-linux-tdep.c @@ -159,7 +159,7 @@ static const int arc_linux_core_reg_offsets[] = { Returns TRUE if this is a sigtramp frame. */ static bool -arc_linux_is_sigtramp (struct frame_info *this_frame) +arc_linux_is_sigtramp (frame_info_ptr this_frame) { struct gdbarch *gdbarch = get_frame_arch (this_frame); CORE_ADDR pc = get_frame_pc (this_frame); @@ -257,7 +257,7 @@ arc_linux_is_sigtramp (struct frame_info *this_frame) etc) in GDB hardcode values. */ static CORE_ADDR -arc_linux_sigcontext_addr (struct frame_info *this_frame) +arc_linux_sigcontext_addr (frame_info_ptr this_frame) { const int ucontext_offset = 0x80; const int sigcontext_offset = 0x14; diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c index 11e0551266e..2a145f837aa 100644 --- a/gdb/arc-tdep.c +++ b/gdb/arc-tdep.c @@ -997,7 +997,7 @@ arc_store_return_value (struct gdbarch *gdbarch, struct type *type, /* Implement the "get_longjmp_target" gdbarch method. */ static int -arc_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) +arc_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) { arc_debug_printf ("called"); @@ -1061,7 +1061,7 @@ arc_return_value (struct gdbarch *gdbarch, struct value *function, frame pointer. */ static CORE_ADDR -arc_frame_base_address (struct frame_info *this_frame, void **prologue_cache) +arc_frame_base_address (frame_info_ptr this_frame, void **prologue_cache) { return (CORE_ADDR) get_frame_register_unsigned (this_frame, ARC_FP_REGNUM); } @@ -1642,7 +1642,7 @@ arc_print_frame_cache (struct gdbarch *gdbarch, const char *message, /* Frame unwinder for normal frames. */ static struct arc_frame_cache * -arc_make_frame_cache (struct frame_info *this_frame) +arc_make_frame_cache (frame_info_ptr this_frame) { arc_debug_printf ("called"); @@ -1709,7 +1709,7 @@ arc_make_frame_cache (struct frame_info *this_frame) /* Implement the "this_id" frame_unwind method. */ static void -arc_frame_this_id (struct frame_info *this_frame, void **this_cache, +arc_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { arc_debug_printf ("called"); @@ -1754,7 +1754,7 @@ arc_frame_this_id (struct frame_info *this_frame, void **this_cache, /* Implement the "prev_register" frame_unwind method. */ static struct value * -arc_frame_prev_register (struct frame_info *this_frame, +arc_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { if (*this_cache == NULL) @@ -1791,7 +1791,7 @@ arc_frame_prev_register (struct frame_info *this_frame, static void arc_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, struct dwarf2_frame_state_reg *reg, - struct frame_info *info) + frame_info_ptr info) { if (regnum == gdbarch_pc_regnum (gdbarch)) /* The return address column. */ @@ -1805,7 +1805,7 @@ arc_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, from within signal handlers. */ static struct arc_frame_cache * -arc_make_sigtramp_frame_cache (struct frame_info *this_frame) +arc_make_sigtramp_frame_cache (frame_info_ptr this_frame) { arc_debug_printf ("called"); @@ -1844,7 +1844,7 @@ arc_make_sigtramp_frame_cache (struct frame_info *this_frame) frames. */ static void -arc_sigtramp_frame_this_id (struct frame_info *this_frame, +arc_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { arc_debug_printf ("called"); @@ -1863,7 +1863,7 @@ arc_sigtramp_frame_this_id (struct frame_info *this_frame, /* Get a register from a signal handler frame. */ static struct value * -arc_sigtramp_frame_prev_register (struct frame_info *this_frame, +arc_sigtramp_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { arc_debug_printf ("regnum = %d", regnum); @@ -1881,7 +1881,7 @@ arc_sigtramp_frame_prev_register (struct frame_info *this_frame, static int arc_sigtramp_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { arc_debug_printf ("called"); diff --git a/gdb/arc-tdep.h b/gdb/arc-tdep.h index eba435f62f0..56e0c49ae71 100644 --- a/gdb/arc-tdep.h +++ b/gdb/arc-tdep.h @@ -131,10 +131,10 @@ struct arc_gdbarch_tdep : gdbarch_tdep_base bool has_hw_loops = false; /* Detect sigtramp. */ - bool (*is_sigtramp) (struct frame_info *) = nullptr; + bool (*is_sigtramp) (frame_info_ptr ) = nullptr; /* Get address of sigcontext for sigtramp. */ - CORE_ADDR (*sigcontext_addr) (struct frame_info *) = nullptr; + CORE_ADDR (*sigcontext_addr) (frame_info_ptr ) = nullptr; /* Offset of registers in `struct sigcontext'. */ const int *sc_reg_offset = nullptr; diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c index 9c6b9268a69..6f7b5b1fd01 100644 --- a/gdb/arch-utils.c +++ b/gdb/arch-utils.c @@ -132,7 +132,7 @@ default_get_memtag (struct gdbarch *gdbarch, struct value *address, } CORE_ADDR -generic_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc) +generic_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) { return 0; } @@ -158,7 +158,7 @@ generic_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc) int default_code_of_frame_writable (struct gdbarch *gdbarch, - struct frame_info *frame) + frame_info_ptr frame) { return 1; } @@ -1077,7 +1077,7 @@ default_type_align (struct gdbarch *gdbarch, struct type *type) /* See arch-utils.h. */ std::string -default_get_pc_address_flags (frame_info *frame, CORE_ADDR pc) +default_get_pc_address_flags (frame_info_ptr frame, CORE_ADDR pc) { return ""; } diff --git a/gdb/arch-utils.h b/gdb/arch-utils.h index f850e5fd6e7..f6229f434fd 100644 --- a/gdb/arch-utils.h +++ b/gdb/arch-utils.h @@ -22,7 +22,7 @@ #include "gdbarch.h" -struct frame_info; +class frame_info_ptr; struct minimal_symbol; struct type; struct gdbarch_info; @@ -154,7 +154,7 @@ struct value *default_get_memtag (struct gdbarch *gdbarch, struct value *address, memtag_type tag_type); -extern CORE_ADDR generic_skip_trampoline_code (struct frame_info *frame, +extern CORE_ADDR generic_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc); extern CORE_ADDR generic_skip_solib_resolver (struct gdbarch *gdbarch, @@ -167,7 +167,7 @@ extern int generic_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc); extern int default_code_of_frame_writable (struct gdbarch *gdbarch, - struct frame_info *frame); + frame_info_ptr frame); /* By default, registers are not convertible. */ extern int generic_convert_register_p (struct gdbarch *gdbarch, int regnum, @@ -291,7 +291,7 @@ extern ULONGEST default_type_align (struct gdbarch *gdbarch, struct type *type); /* Default implementation of gdbarch get_pc_address_flags method. */ -extern std::string default_get_pc_address_flags (frame_info *frame, +extern std::string default_get_pc_address_flags (frame_info_ptr frame, CORE_ADDR pc); /* Default implementation of gdbarch read_core_file_mappings method. */ diff --git a/gdb/arm-fbsd-tdep.c b/gdb/arm-fbsd-tdep.c index 61c8f0cecad..dabbceb743a 100644 --- a/gdb/arm-fbsd-tdep.c +++ b/gdb/arm-fbsd-tdep.c @@ -97,7 +97,7 @@ static const struct regcache_map_entry arm_fbsd_vfpregmap[] = static void arm_fbsd_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c index 1feb69fe6dd..86ab5794b37 100644 --- a/gdb/arm-linux-tdep.c +++ b/gdb/arm-linux-tdep.c @@ -277,7 +277,7 @@ static struct arm_get_next_pcs_ops arm_linux_get_next_pcs_ops = { }; static void -arm_linux_sigtramp_cache (struct frame_info *this_frame, +arm_linux_sigtramp_cache (frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func, int regs_offset) { @@ -300,7 +300,7 @@ arm_linux_sigtramp_cache (struct frame_info *this_frame, /* See arm-linux.h for stack layout details. */ static void arm_linux_sigreturn_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { @@ -320,7 +320,7 @@ arm_linux_sigreturn_init (const struct tramp_frame *self, static void arm_linux_rt_sigreturn_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { @@ -343,7 +343,7 @@ arm_linux_rt_sigreturn_init (const struct tramp_frame *self, static void arm_linux_restart_syscall_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { @@ -755,7 +755,7 @@ arm_linux_core_read_description (struct gdbarch *gdbarch, will return to ARM or Thumb code. Return 0 if it is not a rt_sigreturn/sigreturn syscall. */ static int -arm_linux_sigreturn_return_addr (struct frame_info *frame, +arm_linux_sigreturn_return_addr (frame_info_ptr frame, unsigned long svc_number, CORE_ADDR *pc, int *is_thumb) { @@ -975,7 +975,7 @@ arm_linux_copy_svc (struct gdbarch *gdbarch, struct regcache *regs, { CORE_ADDR return_to = 0; - struct frame_info *frame; + frame_info_ptr frame; unsigned int svc_number = displaced_read_reg (regs, dsc, 7); int is_sigreturn = 0; int is_thumb; @@ -1687,7 +1687,7 @@ arm_linux_syscall_record (struct regcache *regcache, unsigned long svc_number) /* Implement the skip_trampoline_code gdbarch method. */ static CORE_ADDR -arm_linux_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc) +arm_linux_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) { CORE_ADDR target_pc = arm_skip_stub (frame, pc); diff --git a/gdb/arm-obsd-tdep.c b/gdb/arm-obsd-tdep.c index 634c76b7561..697f0756112 100644 --- a/gdb/arm-obsd-tdep.c +++ b/gdb/arm-obsd-tdep.c @@ -30,7 +30,7 @@ static void armobsd_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *cache, CORE_ADDR func) { diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index cf8b610a381..f7fe19d13c0 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -329,7 +329,7 @@ reconstruct_t_bit(struct gdbarch *gdbarch, CORE_ADDR lr, ULONGEST psr) static inline void arm_cache_init_sp (int regnum, CORE_ADDR* member, struct arm_prologue_cache *cache, - struct frame_info *frame) + frame_info_ptr frame) { CORE_ADDR val = get_frame_register_unsigned (frame, regnum); if (val == cache->sp) @@ -352,7 +352,7 @@ arm_cache_init (struct arm_prologue_cache *cache, struct gdbarch *gdbarch) /* Similar to the previous function, but extracts GDBARCH from FRAME. */ static void -arm_cache_init (struct arm_prologue_cache *cache, struct frame_info *frame) +arm_cache_init (struct arm_prologue_cache *cache, frame_info_ptr frame) { struct gdbarch *gdbarch = get_frame_arch (frame); arm_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -578,7 +578,7 @@ arm_is_thumb (struct regcache *regcache) frame. */ int -arm_frame_is_thumb (struct frame_info *frame) +arm_frame_is_thumb (frame_info_ptr frame) { /* Check the architecture of FRAME. */ struct gdbarch *gdbarch = get_frame_arch (frame); @@ -2119,7 +2119,7 @@ arm_analyze_prologue (struct gdbarch *gdbarch, } static void -arm_scan_prologue (struct frame_info *this_frame, +arm_scan_prologue (frame_info_ptr this_frame, struct arm_prologue_cache *cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -2216,7 +2216,7 @@ arm_scan_prologue (struct frame_info *this_frame, } static struct arm_prologue_cache * -arm_make_prologue_cache (struct frame_info *this_frame) +arm_make_prologue_cache (frame_info_ptr this_frame) { int reg; struct arm_prologue_cache *cache; @@ -2250,7 +2250,7 @@ arm_make_prologue_cache (struct frame_info *this_frame) /* Implementation of the stop_reason hook for arm_prologue frames. */ static enum unwind_stop_reason -arm_prologue_unwind_stop_reason (struct frame_info *this_frame, +arm_prologue_unwind_stop_reason (frame_info_ptr this_frame, void **this_cache) { struct arm_prologue_cache *cache; @@ -2278,7 +2278,7 @@ arm_prologue_unwind_stop_reason (struct frame_info *this_frame, and the caller's SP when we were called. */ static void -arm_prologue_this_id (struct frame_info *this_frame, +arm_prologue_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { @@ -2306,7 +2306,7 @@ arm_prologue_this_id (struct frame_info *this_frame, } static struct value * -arm_prologue_prev_register (struct frame_info *this_frame, +arm_prologue_prev_register (frame_info_ptr this_frame, void **this_cache, int prev_regnum) { @@ -2702,7 +2702,7 @@ arm_find_exidx_entry (CORE_ADDR memaddr, CORE_ADDR *start) for the ARM Architecture" document. */ static struct arm_prologue_cache * -arm_exidx_fill_cache (struct frame_info *this_frame, gdb_byte *entry) +arm_exidx_fill_cache (frame_info_ptr this_frame, gdb_byte *entry) { CORE_ADDR vsp = 0; int vsp_valid = 0; @@ -3000,7 +3000,7 @@ arm_exidx_fill_cache (struct frame_info *this_frame, gdb_byte *entry) static int arm_exidx_unwind_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -3099,7 +3099,7 @@ struct frame_unwind arm_exidx_unwind = { }; static struct arm_prologue_cache * -arm_make_epilogue_frame_cache (struct frame_info *this_frame) +arm_make_epilogue_frame_cache (frame_info_ptr this_frame) { struct arm_prologue_cache *cache; int reg; @@ -3131,7 +3131,7 @@ arm_make_epilogue_frame_cache (struct frame_info *this_frame) 'struct frame_uwnind' for epilogue unwinder. */ static void -arm_epilogue_frame_this_id (struct frame_info *this_frame, +arm_epilogue_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { @@ -3159,7 +3159,7 @@ arm_epilogue_frame_this_id (struct frame_info *this_frame, 'struct frame_uwnind' for epilogue unwinder. */ static struct value * -arm_epilogue_frame_prev_register (struct frame_info *this_frame, +arm_epilogue_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { if (*this_cache == NULL) @@ -3178,7 +3178,7 @@ static int thumb_stack_frame_destroyed_p (struct gdbarch *gdbarch, static int arm_epilogue_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { if (frame_relative_level (this_frame) == 0) @@ -3235,7 +3235,7 @@ static const struct frame_unwind arm_epilogue_frame_unwind = The trampoline 'bx r2' doesn't belong to main. */ static CORE_ADDR -arm_skip_bx_reg (struct frame_info *frame, CORE_ADDR pc) +arm_skip_bx_reg (frame_info_ptr frame, CORE_ADDR pc) { /* The heuristics of recognizing such trampoline is that FRAME is executing in Thumb mode and the instruction on PC is 'bx Rm'. */ @@ -3267,7 +3267,7 @@ arm_skip_bx_reg (struct frame_info *frame, CORE_ADDR pc) } static struct arm_prologue_cache * -arm_make_stub_cache (struct frame_info *this_frame) +arm_make_stub_cache (frame_info_ptr this_frame) { struct arm_prologue_cache *cache; @@ -3286,7 +3286,7 @@ arm_make_stub_cache (struct frame_info *this_frame) /* Our frame ID for a stub frame is the current SP and LR. */ static void -arm_stub_this_id (struct frame_info *this_frame, +arm_stub_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { @@ -3304,7 +3304,7 @@ arm_stub_this_id (struct frame_info *this_frame, static int arm_stub_unwind_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { CORE_ADDR addr_in_block; @@ -3342,7 +3342,7 @@ struct frame_unwind arm_stub_unwind = { returned. */ static struct arm_prologue_cache * -arm_m_exception_cache (struct frame_info *this_frame) +arm_m_exception_cache (frame_info_ptr this_frame) { struct gdbarch *gdbarch = get_frame_arch (this_frame); arm_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -3644,7 +3644,7 @@ arm_m_exception_cache (struct frame_info *this_frame) 'struct frame_uwnind'. */ static void -arm_m_exception_this_id (struct frame_info *this_frame, +arm_m_exception_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { @@ -3665,7 +3665,7 @@ arm_m_exception_this_id (struct frame_info *this_frame, 'struct frame_uwnind'. */ static struct value * -arm_m_exception_prev_register (struct frame_info *this_frame, +arm_m_exception_prev_register (frame_info_ptr this_frame, void **this_cache, int prev_regnum) { @@ -3730,7 +3730,7 @@ arm_m_exception_prev_register (struct frame_info *this_frame, static int arm_m_exception_unwind_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -3757,7 +3757,7 @@ struct frame_unwind arm_m_exception_unwind = }; static CORE_ADDR -arm_normal_frame_base (struct frame_info *this_frame, void **this_cache) +arm_normal_frame_base (frame_info_ptr this_frame, void **this_cache) { struct arm_prologue_cache *cache; @@ -3778,7 +3778,7 @@ struct frame_base arm_normal_base = { }; static struct value * -arm_dwarf2_prev_register (struct frame_info *this_frame, void **this_cache, +arm_dwarf2_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct gdbarch * gdbarch = get_frame_arch (this_frame); @@ -4661,7 +4661,7 @@ print_fpu_flags (struct ui_file *file, int flags) (if present) or emulator. */ static void arm_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, - struct frame_info *frame, const char *args) + frame_info_ptr frame, const char *args) { unsigned long status = get_frame_register_unsigned (frame, ARM_FPS_REGNUM); int type; @@ -5005,7 +5005,7 @@ static const unsigned char op_lit0 = DW_OP_lit0; static void arm_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, struct dwarf2_frame_state_reg *reg, - struct frame_info *this_frame) + frame_info_ptr this_frame) { arm_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -9050,7 +9050,7 @@ arm_return_value (struct gdbarch *gdbarch, struct value *function, static int -arm_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) +arm_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) { struct gdbarch *gdbarch = get_frame_arch (frame); arm_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -9122,7 +9122,7 @@ arm_is_sgstubs_section (struct obj_section *sec) return the target PC. Otherwise return 0. */ CORE_ADDR -arm_skip_stub (struct frame_info *frame, CORE_ADDR pc) +arm_skip_stub (frame_info_ptr frame, CORE_ADDR pc) { const char *name; int namelen; @@ -9671,7 +9671,7 @@ arm_pseudo_write (struct gdbarch *gdbarch, struct regcache *regcache, } static struct value * -value_of_arm_user_reg (struct frame_info *frame, const void *baton) +value_of_arm_user_reg (frame_info_ptr frame, const void *baton) { const int *reg_p = (const int *) baton; return value_of_register (*reg_p, frame); @@ -9765,7 +9765,7 @@ arm_register_g_packet_guesses (struct gdbarch *gdbarch) /* Implement the code_of_frame_writable gdbarch method. */ static int -arm_code_of_frame_writable (struct gdbarch *gdbarch, struct frame_info *frame) +arm_code_of_frame_writable (struct gdbarch *gdbarch, frame_info_ptr frame) { arm_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -9793,7 +9793,7 @@ arm_gnu_triplet_regexp (struct gdbarch *gdbarch) /* Implement the "get_pc_address_flags" gdbarch method. */ static std::string -arm_get_pc_address_flags (frame_info *frame, CORE_ADDR pc) +arm_get_pc_address_flags (frame_info_ptr frame, CORE_ADDR pc) { if (get_frame_pc_masked (frame)) return "PAC"; diff --git a/gdb/arm-tdep.h b/gdb/arm-tdep.h index 67dd1151da4..47b0270c5c2 100644 --- a/gdb/arm-tdep.h +++ b/gdb/arm-tdep.h @@ -279,7 +279,7 @@ extern void arm_displaced_step_copy_insn_closure *dsc, int regno, ULONGEST val, enum pc_write_style write_pc); -CORE_ADDR arm_skip_stub (struct frame_info *, CORE_ADDR); +CORE_ADDR arm_skip_stub (frame_info_ptr , CORE_ADDR); ULONGEST arm_get_next_pcs_read_memory_unsigned_integer (CORE_ADDR memaddr, int len, @@ -292,7 +292,7 @@ int arm_get_next_pcs_is_thumb (struct arm_get_next_pcs *self); std::vector arm_software_single_step (struct regcache *); int arm_is_thumb (struct regcache *regcache); -int arm_frame_is_thumb (struct frame_info *frame); +int arm_frame_is_thumb (frame_info_ptr frame); extern void arm_displaced_step_fixup (struct gdbarch *, displaced_step_copy_insn_closure *, diff --git a/gdb/arm-wince-tdep.c b/gdb/arm-wince-tdep.c index 5063b308809..6ec3c04b5a8 100644 --- a/gdb/arm-wince-tdep.c +++ b/gdb/arm-wince-tdep.c @@ -36,7 +36,7 @@ static const gdb_byte arm_wince_thumb_le_breakpoint[] = { 0xfe, 0xdf }; #define ARM_WINCE_JB_PC 10 static CORE_ADDR -arm_pe_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc) +arm_pe_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) { struct gdbarch *gdbarch = get_frame_arch (frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index 357f5bb8f2d..1e9d9442909 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -981,7 +981,7 @@ avr_return_value (struct gdbarch *gdbarch, struct value *function, for it IS the sp for the next frame. */ static struct avr_unwind_cache * -avr_frame_unwind_cache (struct frame_info *this_frame, +avr_frame_unwind_cache (frame_info_ptr this_frame, void **this_prologue_cache) { CORE_ADDR start_pc, current_pc; @@ -1061,7 +1061,7 @@ avr_frame_unwind_cache (struct frame_info *this_frame, } static CORE_ADDR -avr_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) +avr_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) { ULONGEST pc; @@ -1071,7 +1071,7 @@ avr_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) } static CORE_ADDR -avr_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame) +avr_unwind_sp (struct gdbarch *gdbarch, frame_info_ptr next_frame) { ULONGEST sp; @@ -1084,7 +1084,7 @@ avr_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame) frame. This will be used to create a new GDB frame struct. */ static void -avr_frame_this_id (struct frame_info *this_frame, +avr_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -1109,7 +1109,7 @@ avr_frame_this_id (struct frame_info *this_frame, } static struct value * -avr_frame_prev_register (struct frame_info *this_frame, +avr_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct avr_unwind_cache *info @@ -1168,7 +1168,7 @@ static const struct frame_unwind avr_frame_unwind = { }; static CORE_ADDR -avr_frame_base_address (struct frame_info *this_frame, void **this_cache) +avr_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct avr_unwind_cache *info = avr_frame_unwind_cache (this_frame, this_cache); @@ -1188,7 +1188,7 @@ static const struct frame_base avr_frame_base = { save_dummy_frame_tos(), and the PC match the dummy frame's breakpoint. */ static struct frame_id -avr_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) +avr_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) { ULONGEST base; diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c index 1fccfde559e..ab94c2128f2 100644 --- a/gdb/ax-gdb.c +++ b/gdb/ax-gdb.c @@ -2569,7 +2569,7 @@ maint_agent_eval_command (const char *exp, int from_tty) static void maint_agent_printf_command (const char *cmdrest, int from_tty) { - struct frame_info *fi = get_current_frame (); /* need current scope */ + frame_info_ptr fi = get_current_frame (); /* need current scope */ const char *format_start, *format_end; /* We don't deal with overlay debugging at the moment. We need to diff --git a/gdb/bfin-linux-tdep.c b/gdb/bfin-linux-tdep.c index 6c4023da9f5..873cb017e82 100644 --- a/gdb/bfin-linux-tdep.c +++ b/gdb/bfin-linux-tdep.c @@ -95,7 +95,7 @@ static const int bfin_linux_sigcontext_reg_offset[BFIN_NUM_REGS] = static void bfin_linux_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/bfin-tdep.c b/gdb/bfin-tdep.c index f232e22c37c..d3b3d7f86f1 100644 --- a/gdb/bfin-tdep.c +++ b/gdb/bfin-tdep.c @@ -288,7 +288,7 @@ bfin_alloc_frame_cache (void) } static struct bfin_frame_cache * -bfin_frame_cache (struct frame_info *this_frame, void **this_cache) +bfin_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct bfin_frame_cache *cache; int i; @@ -340,7 +340,7 @@ bfin_frame_cache (struct frame_info *this_frame, void **this_cache) } static void -bfin_frame_this_id (struct frame_info *this_frame, +bfin_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { @@ -355,7 +355,7 @@ bfin_frame_this_id (struct frame_info *this_frame, } static struct value * -bfin_frame_prev_register (struct frame_info *this_frame, +bfin_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { @@ -726,7 +726,7 @@ bfin_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, } static CORE_ADDR -bfin_frame_base_address (struct frame_info *this_frame, void **this_cache) +bfin_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct bfin_frame_cache *cache = bfin_frame_cache (this_frame, this_cache); @@ -734,7 +734,7 @@ bfin_frame_base_address (struct frame_info *this_frame, void **this_cache) } static CORE_ADDR -bfin_frame_local_address (struct frame_info *this_frame, void **this_cache) +bfin_frame_local_address (frame_info_ptr this_frame, void **this_cache) { struct bfin_frame_cache *cache = bfin_frame_cache (this_frame, this_cache); @@ -742,7 +742,7 @@ bfin_frame_local_address (struct frame_info *this_frame, void **this_cache) } static CORE_ADDR -bfin_frame_args_address (struct frame_info *this_frame, void **this_cache) +bfin_frame_args_address (frame_info_ptr this_frame, void **this_cache) { struct bfin_frame_cache *cache = bfin_frame_cache (this_frame, this_cache); diff --git a/gdb/blockframe.c b/gdb/blockframe.c index 47772f3b1a6..a7c9e143751 100644 --- a/gdb/blockframe.c +++ b/gdb/blockframe.c @@ -52,7 +52,7 @@ slot instruction. */ const struct block * -get_frame_block (struct frame_info *frame, CORE_ADDR *addr_in_block) +get_frame_block (frame_info_ptr frame, CORE_ADDR *addr_in_block) { CORE_ADDR pc; const struct block *bl; @@ -115,7 +115,7 @@ get_pc_function_start (CORE_ADDR pc) /* Return the symbol for the function executing in frame FRAME. */ struct symbol * -get_frame_function (struct frame_info *frame) +get_frame_function (frame_info_ptr frame) { const struct block *bl = get_frame_block (frame, 0); @@ -460,13 +460,13 @@ find_gnu_ifunc_target_type (CORE_ADDR resolver_funaddr) at least as old as the selected frame. Return NULL if there is no such frame. If BLOCK is NULL, just return NULL. */ -struct frame_info * +frame_info_ptr block_innermost_frame (const struct block *block) { if (block == NULL) return NULL; - frame_info *frame = get_selected_frame (); + frame_info_ptr frame = get_selected_frame (); while (frame != NULL) { const struct block *frame_block = get_frame_block (frame, NULL); diff --git a/gdb/bpf-tdep.c b/gdb/bpf-tdep.c index a5df478063c..fee85f0ec04 100644 --- a/gdb/bpf-tdep.c +++ b/gdb/bpf-tdep.c @@ -155,7 +155,7 @@ bpf_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc) /* Given THIS_FRAME, return its ID. */ static void -bpf_frame_this_id (struct frame_info *this_frame, +bpf_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -166,7 +166,7 @@ bpf_frame_this_id (struct frame_info *this_frame, /* Return the reason why we can't unwind past THIS_FRAME. */ static enum unwind_stop_reason -bpf_frame_unwind_stop_reason (struct frame_info *this_frame, +bpf_frame_unwind_stop_reason (frame_info_ptr this_frame, void **this_cache) { return UNWIND_OUTERMOST; @@ -175,7 +175,7 @@ bpf_frame_unwind_stop_reason (struct frame_info *this_frame, /* Ask THIS_FRAME to unwind its register. */ static struct value * -bpf_frame_prev_register (struct frame_info *this_frame, +bpf_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { return frame_unwind_got_register (this_frame, regnum, regnum); @@ -236,7 +236,7 @@ bpf_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size) /* Assuming THIS_FRAME is a dummy frame, return its frame ID. */ static struct frame_id -bpf_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) +bpf_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) { CORE_ADDR sp = get_frame_register_unsigned (this_frame, gdbarch_sp_regnum (gdbarch)); diff --git a/gdb/break-catch-throw.c b/gdb/break-catch-throw.c index 2eb24f3b76c..6557ee71449 100644 --- a/gdb/break-catch-throw.c +++ b/gdb/break-catch-throw.c @@ -133,7 +133,7 @@ is_exception_catchpoint (breakpoint *bp) static void fetch_probe_arguments (struct value **arg0, struct value **arg1) { - struct frame_info *frame = get_selected_frame (_("No frame selected")); + frame_info_ptr frame = get_selected_frame (_("No frame selected")); CORE_ADDR pc = get_frame_pc (frame); struct bound_probe pc_probe; unsigned n_args; diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 5397dee6733..592ee64f9cd 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -1948,7 +1948,7 @@ update_watchpoint (struct watchpoint *b, int reparse) within_current_scope = 1; else { - struct frame_info *fi = get_current_frame (); + frame_info_ptr fi = get_current_frame (); struct gdbarch *frame_arch = get_frame_arch (fi); CORE_ADDR frame_pc = get_frame_pc (fi); @@ -4975,7 +4975,7 @@ static wp_check_result watchpoint_check (bpstat *bs) { struct watchpoint *b; - struct frame_info *fr; + frame_info_ptr fr; int within_current_scope; /* BS is built from an existing struct breakpoint. */ @@ -4992,7 +4992,7 @@ watchpoint_check (bpstat *bs) within_current_scope = 1; else { - struct frame_info *frame = get_current_frame (); + frame_info_ptr frame = get_current_frame (); struct gdbarch *frame_arch = get_frame_arch (frame); CORE_ADDR frame_pc = get_frame_pc (frame); @@ -5379,7 +5379,7 @@ bpstat_check_breakpoint_conditions (bpstat *bs, thread_info *thread) select_frame (get_current_frame ()); else { - struct frame_info *frame; + frame_info_ptr frame; /* For local watchpoint expressions, which particular instance of a local is being watched matters, so we @@ -7450,9 +7450,9 @@ check_longjmp_breakpoint_for_call_dummy (struct thread_info *tp) original dummy frame, hence frame_id_inner can't be used. See the comments on frame_id_inner for more details. */ bool unwind_finished_unexpectedly = false; - for (struct frame_info *fi = get_current_frame (); fi != nullptr; ) + for (frame_info_ptr fi = get_current_frame (); fi != nullptr; ) { - struct frame_info *prev = get_prev_frame (fi); + frame_info_ptr prev = get_prev_frame (fi); if (prev == nullptr) { /* FI is the last stack frame. Why did this frame not @@ -10049,7 +10049,7 @@ watch_command_1 (const char *arg, int accessflag, int from_tty, if (*tok) error (_("Junk at end of command.")); - frame_info *wp_frame = block_innermost_frame (exp_valid_block); + frame_info_ptr wp_frame = block_innermost_frame (exp_valid_block); /* Save this because create_internal_breakpoint below invalidates 'wp_frame'. */ @@ -10440,7 +10440,7 @@ until_break_fsm::do_async_reply_reason () void until_break_command (const char *arg, int from_tty, int anywhere) { - struct frame_info *frame; + frame_info_ptr frame; struct gdbarch *frame_gdbarch; struct frame_id stack_frame_id; struct frame_id caller_frame_id; @@ -13510,7 +13510,7 @@ insert_single_step_breakpoints (struct gdbarch *gdbarch) if (!next_pcs.empty ()) { - struct frame_info *frame = get_current_frame (); + frame_info_ptr frame = get_current_frame (); const address_space *aspace = get_frame_address_space (frame); for (CORE_ADDR pc : next_pcs) diff --git a/gdb/c-lang.c b/gdb/c-lang.c index 87373085f24..a4fdc55b092 100644 --- a/gdb/c-lang.c +++ b/gdb/c-lang.c @@ -975,7 +975,7 @@ class cplus_language : public language_defn /* See language.h. */ - CORE_ADDR skip_trampoline (struct frame_info *fi, + CORE_ADDR skip_trampoline (frame_info_ptr fi, CORE_ADDR pc) const override { return cplus_skip_trampoline (fi, pc); diff --git a/gdb/cp-abi.c b/gdb/cp-abi.c index f9ba559f12c..f10117491ec 100644 --- a/gdb/cp-abi.c +++ b/gdb/cp-abi.c @@ -152,7 +152,7 @@ cplus_make_method_ptr (struct type *type, gdb_byte *contents, } CORE_ADDR -cplus_skip_trampoline (struct frame_info *frame, +cplus_skip_trampoline (frame_info_ptr frame, CORE_ADDR stop_pc) { if (current_cp_abi.skip_trampoline == NULL) diff --git a/gdb/cp-abi.h b/gdb/cp-abi.h index c53b02d509c..bc85f6dc187 100644 --- a/gdb/cp-abi.h +++ b/gdb/cp-abi.h @@ -27,7 +27,7 @@ struct fn_field; struct type; struct value; struct ui_file; -struct frame_info; +class frame_info_ptr; /* The functions here that attempt to determine what sort of thing a mangled name refers to may well be revised in the future. It would @@ -204,7 +204,7 @@ extern std::string cplus_typename_from_type_info (struct value *value); address of the routine we are thunking to and continue to there instead. */ -CORE_ADDR cplus_skip_trampoline (struct frame_info *frame, +CORE_ADDR cplus_skip_trampoline (frame_info_ptr frame, CORE_ADDR stop_pc); /* Return a struct that provides pass-by-reference information @@ -247,7 +247,7 @@ struct cp_abi_ops struct type *(*get_typeid_type) (struct gdbarch *gdbarch); struct type *(*get_type_from_type_info) (struct value *value); std::string (*get_typename_from_type_info) (struct value *value); - CORE_ADDR (*skip_trampoline) (struct frame_info *, CORE_ADDR); + CORE_ADDR (*skip_trampoline) (frame_info_ptr , CORE_ADDR); struct language_pass_by_ref_info (*pass_by_reference) (struct type *type); }; diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c index 73110d97f2f..3019d32965c 100644 --- a/gdb/cris-tdep.c +++ b/gdb/cris-tdep.c @@ -193,7 +193,7 @@ static const unsigned short rt_sigtramp_code[] = the routine. Otherwise, return 0. */ static CORE_ADDR -cris_sigtramp_start (struct frame_info *this_frame) +cris_sigtramp_start (frame_info_ptr this_frame) { CORE_ADDR pc = get_frame_pc (this_frame); gdb_byte buf[SIGTRAMP_LEN]; @@ -221,7 +221,7 @@ cris_sigtramp_start (struct frame_info *this_frame) the routine. Otherwise, return 0. */ static CORE_ADDR -cris_rt_sigtramp_start (struct frame_info *this_frame) +cris_rt_sigtramp_start (frame_info_ptr this_frame) { CORE_ADDR pc = get_frame_pc (this_frame); gdb_byte buf[SIGTRAMP_LEN]; @@ -249,7 +249,7 @@ cris_rt_sigtramp_start (struct frame_info *this_frame) return the address of the associated sigcontext structure. */ static CORE_ADDR -cris_sigcontext_addr (struct frame_info *this_frame) +cris_sigcontext_addr (frame_info_ptr this_frame) { struct gdbarch *gdbarch = get_frame_arch (this_frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -309,7 +309,7 @@ struct cris_unwind_cache }; static struct cris_unwind_cache * -cris_sigtramp_frame_unwind_cache (struct frame_info *this_frame, +cris_sigtramp_frame_unwind_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -402,7 +402,7 @@ cris_sigtramp_frame_unwind_cache (struct frame_info *this_frame, } static void -cris_sigtramp_frame_this_id (struct frame_info *this_frame, void **this_cache, +cris_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct cris_unwind_cache *cache = @@ -412,10 +412,10 @@ cris_sigtramp_frame_this_id (struct frame_info *this_frame, void **this_cache, /* Forward declaration. */ -static struct value *cris_frame_prev_register (struct frame_info *this_frame, +static struct value *cris_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum); static struct value * -cris_sigtramp_frame_prev_register (struct frame_info *this_frame, +cris_sigtramp_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { /* Make sure we've initialized the cache. */ @@ -425,7 +425,7 @@ cris_sigtramp_frame_prev_register (struct frame_info *this_frame, static int cris_sigtramp_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { if (cris_sigtramp_start (this_frame) @@ -448,7 +448,7 @@ static const struct frame_unwind cris_sigtramp_frame_unwind = static int crisv32_single_step_through_delay (struct gdbarch *gdbarch, - struct frame_info *this_frame) + frame_info_ptr this_frame) { cris_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); ULONGEST erp; @@ -645,11 +645,11 @@ static void set_cris_dwarf2_cfi (const char *ignore_args, int from_tty, struct cmd_list_element *c); static CORE_ADDR cris_scan_prologue (CORE_ADDR pc, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct cris_unwind_cache *info); static CORE_ADDR crisv32_scan_prologue (CORE_ADDR pc, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct cris_unwind_cache *info); /* When arguments must be pushed onto the stack, they go on in reverse @@ -692,7 +692,7 @@ pop_stack_item (struct cris_stack_item *si) for it IS the sp for the next frame. */ static struct cris_unwind_cache * -cris_frame_unwind_cache (struct frame_info *this_frame, +cris_frame_unwind_cache (frame_info_ptr this_frame, void **this_prologue_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -729,7 +729,7 @@ cris_frame_unwind_cache (struct frame_info *this_frame, frame. This will be used to create a new GDB frame struct. */ static void -cris_frame_this_id (struct frame_info *this_frame, +cris_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -755,7 +755,7 @@ cris_frame_this_id (struct frame_info *this_frame, } static struct value * -cris_frame_prev_register (struct frame_info *this_frame, +cris_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct cris_unwind_cache *info @@ -912,7 +912,7 @@ static const struct frame_unwind cris_frame_unwind = }; static CORE_ADDR -cris_frame_base_address (struct frame_info *this_frame, void **this_cache) +cris_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct cris_unwind_cache *info = cris_frame_unwind_cache (this_frame, this_cache); @@ -1004,7 +1004,7 @@ static const struct frame_base cris_frame_base = determine that it is a prologue (1). */ static CORE_ADDR -cris_scan_prologue (CORE_ADDR pc, struct frame_info *this_frame, +cris_scan_prologue (CORE_ADDR pc, frame_info_ptr this_frame, struct cris_unwind_cache *info) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -1287,7 +1287,7 @@ cris_scan_prologue (CORE_ADDR pc, struct frame_info *this_frame, } static CORE_ADDR -crisv32_scan_prologue (CORE_ADDR pc, struct frame_info *this_frame, +crisv32_scan_prologue (CORE_ADDR pc, frame_info_ptr this_frame, struct cris_unwind_cache *info) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -1755,7 +1755,7 @@ cris_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int reg) static void cris_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, struct dwarf2_frame_state_reg *reg, - struct frame_info *this_frame) + frame_info_ptr this_frame) { /* The return address column. */ if (regnum == gdbarch_pc_regnum (gdbarch)) diff --git a/gdb/csky-linux-tdep.c b/gdb/csky-linux-tdep.c index ae5d2bba33c..ef6c45f6008 100644 --- a/gdb/csky-linux-tdep.c +++ b/gdb/csky-linux-tdep.c @@ -310,7 +310,7 @@ csky_linux_iterate_over_regset_sections (struct gdbarch *gdbarch, static void csky_linux_rt_sigreturn_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/csky-tdep.c b/gdb/csky-tdep.c index 01d4a0f28cb..0cd3de0ce5f 100644 --- a/gdb/csky-tdep.c +++ b/gdb/csky-tdep.c @@ -950,7 +950,7 @@ csky_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc, CORE_ADDR limit_pc, CORE_ADDR end_pc, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct csky_unwind_cache *this_cache, lr_type_t lr_type) { @@ -2250,7 +2250,7 @@ csky_analyze_lr_type (struct gdbarch *gdbarch, /* Heuristic unwinder. */ static struct csky_unwind_cache * -csky_frame_unwind_cache (struct frame_info *this_frame) +csky_frame_unwind_cache (frame_info_ptr this_frame) { CORE_ADDR prologue_start, prologue_end, func_end, prev_pc, block_addr; struct csky_unwind_cache *cache; @@ -2309,7 +2309,7 @@ csky_frame_unwind_cache (struct frame_info *this_frame) /* Implement the this_id function for the normal unwinder. */ static void -csky_frame_this_id (struct frame_info *this_frame, +csky_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { struct csky_unwind_cache *cache; @@ -2330,7 +2330,7 @@ csky_frame_this_id (struct frame_info *this_frame, /* Implement the prev_register function for the normal unwinder. */ static struct value * -csky_frame_prev_register (struct frame_info *this_frame, +csky_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct csky_unwind_cache *cache; @@ -2362,7 +2362,7 @@ static const struct frame_unwind csky_unwind_cache = { static int csky_stub_unwind_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { CORE_ADDR addr_in_block; @@ -2377,7 +2377,7 @@ csky_stub_unwind_sniffer (const struct frame_unwind *self, } static struct csky_unwind_cache * -csky_make_stub_cache (struct frame_info *this_frame) +csky_make_stub_cache (frame_info_ptr this_frame) { struct csky_unwind_cache *cache; @@ -2389,7 +2389,7 @@ csky_make_stub_cache (struct frame_info *this_frame) } static void -csky_stub_this_id (struct frame_info *this_frame, +csky_stub_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { @@ -2404,7 +2404,7 @@ csky_stub_this_id (struct frame_info *this_frame, } static struct value * -csky_stub_prev_register (struct frame_info *this_frame, +csky_stub_prev_register (frame_info_ptr this_frame, void **this_cache, int prev_regnum) { @@ -2444,7 +2444,7 @@ static frame_unwind csky_stub_unwind = { for the normal unwinder. */ static CORE_ADDR -csky_frame_base_address (struct frame_info *this_frame, void **this_cache) +csky_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct csky_unwind_cache *cache; @@ -2467,7 +2467,7 @@ static const struct frame_base csky_frame_base = { static void csky_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, struct dwarf2_frame_state_reg *reg, - struct frame_info *this_frame) + frame_info_ptr this_frame) { if (regnum == gdbarch_pc_regnum (gdbarch)) reg->how = DWARF2_FRAME_REG_RA; @@ -2594,7 +2594,7 @@ csky_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int dw_reg) static void csky_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, - struct frame_info *frame, int regnum, int all) + frame_info_ptr frame, int regnum, int all) { /* Call default print_registers_info function. */ default_print_registers_info (gdbarch, file, frame, regnum, all); diff --git a/gdb/defs.h b/gdb/defs.h index e5b6c7878b1..0d9a39a59d0 100644 --- a/gdb/defs.h +++ b/gdb/defs.h @@ -284,7 +284,7 @@ enum return_value_convention struct symtab; struct breakpoint; -struct frame_info; +class frame_info_ptr; struct gdbarch; struct value; diff --git a/gdb/dtrace-probe.c b/gdb/dtrace-probe.c index b1f6ce5039c..44f3de22a01 100644 --- a/gdb/dtrace-probe.c +++ b/gdb/dtrace-probe.c @@ -129,7 +129,7 @@ class dtrace_probe : public probe /* See probe.h. */ struct value *evaluate_argument (unsigned n, - struct frame_info *frame) override; + frame_info_ptr frame) override; /* See probe.h. */ void compile_to_ax (struct agent_expr *aexpr, @@ -709,7 +709,7 @@ dtrace_probe::can_evaluate_arguments () const struct value * dtrace_probe::evaluate_argument (unsigned n, - struct frame_info *frame) + frame_info_ptr frame) { struct gdbarch *gdbarch = this->get_gdbarch (); struct dtrace_probe_arg *arg; diff --git a/gdb/dummy-frame.c b/gdb/dummy-frame.c index 2fef6eae562..42c4bf23431 100644 --- a/gdb/dummy-frame.c +++ b/gdb/dummy-frame.c @@ -288,7 +288,7 @@ struct dummy_frame_cache static int dummy_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { /* When unwinding a normal frame, the stack structure is determined @@ -334,7 +334,7 @@ dummy_frame_sniffer (const struct frame_unwind *self, register value is taken from the local copy of the register buffer. */ static struct value * -dummy_frame_prev_register (struct frame_info *this_frame, +dummy_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { @@ -364,7 +364,7 @@ dummy_frame_prev_register (struct frame_info *this_frame, dummy cache is located and saved in THIS_PROLOGUE_CACHE. */ static void -dummy_frame_this_id (struct frame_info *this_frame, +dummy_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -390,7 +390,7 @@ const struct frame_unwind dummy_frame_unwind = /* See dummy-frame.h. */ struct frame_id -default_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) +default_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) { CORE_ADDR sp, pc; diff --git a/gdb/dummy-frame.h b/gdb/dummy-frame.h index 80111f0a4db..213881e4eab 100644 --- a/gdb/dummy-frame.h +++ b/gdb/dummy-frame.h @@ -78,6 +78,6 @@ extern int find_dummy_frame_dtor (dummy_frame_dtor_ftype *dtor, for THIS_FRAME assuming that the frame is a dummy frame. */ extern struct frame_id default_dummy_id (struct gdbarch *gdbarch, - struct frame_info *this_frame); + frame_info_ptr this_frame); #endif /* !defined (DUMMY_FRAME_H) */ diff --git a/gdb/elfread.c b/gdb/elfread.c index e8b4a8e9177..6979c6f3ff7 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -930,7 +930,7 @@ static void elf_gnu_ifunc_resolver_stop (code_breakpoint *b) { struct breakpoint *b_return; - struct frame_info *prev_frame = get_prev_frame (get_current_frame ()); + frame_info_ptr prev_frame = get_prev_frame (get_current_frame ()); struct frame_id prev_frame_id = get_stack_frame_id (prev_frame); CORE_ADDR prev_pc = get_frame_pc (prev_frame); int thread_id = inferior_thread ()->global_num; diff --git a/gdb/eval.c b/gdb/eval.c index ce1d883aa86..f5fbf545ec4 100644 --- a/gdb/eval.c +++ b/gdb/eval.c @@ -1099,7 +1099,7 @@ eval_op_var_entry_value (struct type *expect_type, struct expression *exp, error (_("Symbol \"%s\" does not have any specific entry value"), sym->print_name ()); - struct frame_info *frame = get_selected_frame (NULL); + frame_info_ptr frame = get_selected_frame (NULL); return SYMBOL_COMPUTED_OPS (sym)->read_variable_at_entry (sym, frame); } diff --git a/gdb/extension-priv.h b/gdb/extension-priv.h index 7c74e721c57..50e9337af6e 100644 --- a/gdb/extension-priv.h +++ b/gdb/extension-priv.h @@ -179,7 +179,7 @@ struct extension_language_ops or SCR_BT_COMPLETED on success. */ enum ext_lang_bt_status (*apply_frame_filter) (const struct extension_language_defn *, - struct frame_info *frame, frame_filter_flags flags, + frame_info_ptr frame, frame_filter_flags flags, enum ext_lang_frame_args args_type, struct ui_out *out, int frame_low, int frame_high); diff --git a/gdb/extension.c b/gdb/extension.c index 5a805bea00e..8cbd80f45d5 100644 --- a/gdb/extension.c +++ b/gdb/extension.c @@ -524,7 +524,7 @@ apply_ext_lang_val_pretty_printer (struct value *val, rather than trying filters in other extension languages. */ enum ext_lang_bt_status -apply_ext_lang_frame_filter (struct frame_info *frame, +apply_ext_lang_frame_filter (frame_info_ptr frame, frame_filter_flags flags, enum ext_lang_frame_args args_type, struct ui_out *out, diff --git a/gdb/extension.h b/gdb/extension.h index 47839ea50be..72cff218f5b 100644 --- a/gdb/extension.h +++ b/gdb/extension.h @@ -26,7 +26,7 @@ struct breakpoint; struct command_line; -struct frame_info; +class frame_info_ptr; struct language_defn; struct objfile; struct extension_language_defn; @@ -291,7 +291,7 @@ extern int apply_ext_lang_val_pretty_printer const struct language_defn *language); extern enum ext_lang_bt_status apply_ext_lang_frame_filter - (struct frame_info *frame, frame_filter_flags flags, + (frame_info_ptr frame, frame_filter_flags flags, enum ext_lang_frame_args args_type, struct ui_out *out, int frame_low, int frame_high); diff --git a/gdb/gcore.c b/gdb/gcore.c index 519007714e5..ede78534bd8 100644 --- a/gdb/gcore.c +++ b/gdb/gcore.c @@ -198,7 +198,7 @@ default_gcore_target (void) static int derive_stack_segment (bfd_vma *bottom, bfd_vma *top) { - struct frame_info *fi, *tmp_fi; + frame_info_ptr fi, tmp_fi; gdb_assert (bottom); gdb_assert (top); diff --git a/gdb/gdbarch-components.py b/gdb/gdbarch-components.py index 71aa5991fbe..ae115580ffa 100644 --- a/gdb/gdbarch-components.py +++ b/gdb/gdbarch-components.py @@ -590,7 +590,7 @@ frame. """, type="struct frame_id", name="dummy_id", - params=[("struct frame_info *", "this_frame")], + params=[("frame_info_ptr ", "this_frame")], predefault="default_dummy_id", invalid=False, ) @@ -653,7 +653,7 @@ Return true if the code of FRAME is writable. """, type="int", name="code_of_frame_writable", - params=[("struct frame_info *", "frame")], + params=[("frame_info_ptr ", "frame")], predefault="default_code_of_frame_writable", invalid=False, ) @@ -663,7 +663,7 @@ Method( name="print_registers_info", params=[ ("struct ui_file *", "file"), - ("struct frame_info *", "frame"), + ("frame_info_ptr ", "frame"), ("int", "regnum"), ("int", "all"), ], @@ -676,7 +676,7 @@ Method( name="print_float_info", params=[ ("struct ui_file *", "file"), - ("struct frame_info *", "frame"), + ("frame_info_ptr ", "frame"), ("const char *", "args"), ], predefault="default_print_float_info", @@ -688,7 +688,7 @@ Method( name="print_vector_info", params=[ ("struct ui_file *", "file"), - ("struct frame_info *", "frame"), + ("frame_info_ptr ", "frame"), ("const char *", "args"), ], predicate=True, @@ -732,7 +732,7 @@ FRAME corresponds to the longjmp frame. """, type="int", name="get_longjmp_target", - params=[("struct frame_info *", "frame"), ("CORE_ADDR *", "pc")], + params=[("frame_info_ptr ", "frame"), ("CORE_ADDR *", "pc")], predicate=True, invalid=True, ) @@ -755,7 +755,7 @@ Function( type="int", name="register_to_value", params=[ - ("struct frame_info *", "frame"), + ("frame_info_ptr ", "frame"), ("int", "regnum"), ("struct type *", "type"), ("gdb_byte *", "buf"), @@ -769,7 +769,7 @@ Function( type="void", name="value_to_register", params=[ - ("struct frame_info *", "frame"), + ("frame_info_ptr ", "frame"), ("int", "regnum"), ("struct type *", "type"), ("const gdb_byte *", "buf"), @@ -1042,7 +1042,7 @@ Value( Method( type="CORE_ADDR", name="unwind_pc", - params=[("struct frame_info *", "next_frame")], + params=[("frame_info_ptr ", "next_frame")], predefault="default_unwind_pc", invalid=False, ) @@ -1050,7 +1050,7 @@ Method( Method( type="CORE_ADDR", name="unwind_sp", - params=[("struct frame_info *", "next_frame")], + params=[("frame_info_ptr ", "next_frame")], predefault="default_unwind_sp", invalid=False, ) @@ -1062,7 +1062,7 @@ frame-base. Enable frame-base before frame-unwind. """, type="int", name="frame_num_args", - params=[("struct frame_info *", "frame")], + params=[("frame_info_ptr ", "frame")], predicate=True, invalid=True, ) @@ -1237,7 +1237,7 @@ further single-step is needed before the instruction finishes. """, type="int", name="single_step_through_delay", - params=[("struct frame_info *", "frame")], + params=[("frame_info_ptr ", "frame")], predicate=True, invalid=True, ) @@ -1257,7 +1257,7 @@ disassembler. Perhaps objdump can handle it? Function( type="CORE_ADDR", name="skip_trampoline_code", - params=[("struct frame_info *", "frame"), ("CORE_ADDR", "pc")], + params=[("frame_info_ptr ", "frame"), ("CORE_ADDR", "pc")], predefault="generic_skip_trampoline_code", invalid=False, ) @@ -1472,7 +1472,7 @@ Fetch the pointer to the ith function argument. type="CORE_ADDR", name="fetch_pointer_argument", params=[ - ("struct frame_info *", "frame"), + ("frame_info_ptr ", "frame"), ("int", "argi"), ("struct type *", "type"), ], @@ -2633,7 +2633,7 @@ Return a string containing any flags for the given PC in the given FRAME. """, type="std::string", name="get_pc_address_flags", - params=[("frame_info *", "frame"), ("CORE_ADDR", "pc")], + params=[("frame_info_ptr ", "frame"), ("CORE_ADDR", "pc")], predefault="default_get_pc_address_flags", invalid=False, ) diff --git a/gdb/gdbarch-gen.h b/gdb/gdbarch-gen.h index 0504962e50d..19dd80ee5f0 100644 --- a/gdb/gdbarch-gen.h +++ b/gdb/gdbarch-gen.h @@ -309,8 +309,8 @@ extern void set_gdbarch_register_type (struct gdbarch *gdbarch, gdbarch_register should match the address at which the breakpoint was set in the dummy frame. */ -typedef struct frame_id (gdbarch_dummy_id_ftype) (struct gdbarch *gdbarch, struct frame_info *this_frame); -extern struct frame_id gdbarch_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame); +typedef struct frame_id (gdbarch_dummy_id_ftype) (struct gdbarch *gdbarch, frame_info_ptr this_frame); +extern struct frame_id gdbarch_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame); extern void set_gdbarch_dummy_id (struct gdbarch *gdbarch, gdbarch_dummy_id_ftype *dummy_id); /* Implement DUMMY_ID and PUSH_DUMMY_CALL, then delete @@ -336,22 +336,22 @@ extern void set_gdbarch_push_dummy_code (struct gdbarch *gdbarch, gdbarch_push_d /* Return true if the code of FRAME is writable. */ -typedef int (gdbarch_code_of_frame_writable_ftype) (struct gdbarch *gdbarch, struct frame_info *frame); -extern int gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, struct frame_info *frame); +typedef int (gdbarch_code_of_frame_writable_ftype) (struct gdbarch *gdbarch, frame_info_ptr frame); +extern int gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, frame_info_ptr frame); extern void set_gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, gdbarch_code_of_frame_writable_ftype *code_of_frame_writable); -typedef void (gdbarch_print_registers_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all); -extern void gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all); +typedef void (gdbarch_print_registers_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, int regnum, int all); +extern void gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, int regnum, int all); extern void set_gdbarch_print_registers_info (struct gdbarch *gdbarch, gdbarch_print_registers_info_ftype *print_registers_info); -typedef void (gdbarch_print_float_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args); -extern void gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args); +typedef void (gdbarch_print_float_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args); +extern void gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args); extern void set_gdbarch_print_float_info (struct gdbarch *gdbarch, gdbarch_print_float_info_ftype *print_float_info); extern bool gdbarch_print_vector_info_p (struct gdbarch *gdbarch); -typedef void (gdbarch_print_vector_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args); -extern void gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args); +typedef void (gdbarch_print_vector_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args); +extern void gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args); extern void set_gdbarch_print_vector_info (struct gdbarch *gdbarch, gdbarch_print_vector_info_ftype *print_vector_info); /* MAP a GDB RAW register number onto a simulator register number. See @@ -376,8 +376,8 @@ extern void set_gdbarch_cannot_store_register (struct gdbarch *gdbarch, gdbarch_ extern bool gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch); -typedef int (gdbarch_get_longjmp_target_ftype) (struct frame_info *frame, CORE_ADDR *pc); -extern int gdbarch_get_longjmp_target (struct gdbarch *gdbarch, struct frame_info *frame, CORE_ADDR *pc); +typedef int (gdbarch_get_longjmp_target_ftype) (frame_info_ptr frame, CORE_ADDR *pc); +extern int gdbarch_get_longjmp_target (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR *pc); extern void set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch, gdbarch_get_longjmp_target_ftype *get_longjmp_target); extern int gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch); @@ -387,12 +387,12 @@ typedef int (gdbarch_convert_register_p_ftype) (struct gdbarch *gdbarch, int reg extern int gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type); extern void set_gdbarch_convert_register_p (struct gdbarch *gdbarch, gdbarch_convert_register_p_ftype *convert_register_p); -typedef int (gdbarch_register_to_value_ftype) (struct frame_info *frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep); -extern int gdbarch_register_to_value (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep); +typedef int (gdbarch_register_to_value_ftype) (frame_info_ptr frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep); +extern int gdbarch_register_to_value (struct gdbarch *gdbarch, frame_info_ptr frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep); extern void set_gdbarch_register_to_value (struct gdbarch *gdbarch, gdbarch_register_to_value_ftype *register_to_value); -typedef void (gdbarch_value_to_register_ftype) (struct frame_info *frame, int regnum, struct type *type, const gdb_byte *buf); -extern void gdbarch_value_to_register (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, const gdb_byte *buf); +typedef void (gdbarch_value_to_register_ftype) (frame_info_ptr frame, int regnum, struct type *type, const gdb_byte *buf); +extern void gdbarch_value_to_register (struct gdbarch *gdbarch, frame_info_ptr frame, int regnum, struct type *type, const gdb_byte *buf); extern void set_gdbarch_value_to_register (struct gdbarch *gdbarch, gdbarch_value_to_register_ftype *value_to_register); /* Construct a value representing the contents of register REGNUM in @@ -561,12 +561,12 @@ extern void set_gdbarch_get_thread_local_address (struct gdbarch *gdbarch, gdbar extern CORE_ADDR gdbarch_frame_args_skip (struct gdbarch *gdbarch); extern void set_gdbarch_frame_args_skip (struct gdbarch *gdbarch, CORE_ADDR frame_args_skip); -typedef CORE_ADDR (gdbarch_unwind_pc_ftype) (struct gdbarch *gdbarch, struct frame_info *next_frame); -extern CORE_ADDR gdbarch_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame); +typedef CORE_ADDR (gdbarch_unwind_pc_ftype) (struct gdbarch *gdbarch, frame_info_ptr next_frame); +extern CORE_ADDR gdbarch_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame); extern void set_gdbarch_unwind_pc (struct gdbarch *gdbarch, gdbarch_unwind_pc_ftype *unwind_pc); -typedef CORE_ADDR (gdbarch_unwind_sp_ftype) (struct gdbarch *gdbarch, struct frame_info *next_frame); -extern CORE_ADDR gdbarch_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame); +typedef CORE_ADDR (gdbarch_unwind_sp_ftype) (struct gdbarch *gdbarch, frame_info_ptr next_frame); +extern CORE_ADDR gdbarch_unwind_sp (struct gdbarch *gdbarch, frame_info_ptr next_frame); extern void set_gdbarch_unwind_sp (struct gdbarch *gdbarch, gdbarch_unwind_sp_ftype *unwind_sp); /* DEPRECATED_FRAME_LOCALS_ADDRESS as been replaced by the per-frame @@ -574,8 +574,8 @@ extern void set_gdbarch_unwind_sp (struct gdbarch *gdbarch, gdbarch_unwind_sp_ft extern bool gdbarch_frame_num_args_p (struct gdbarch *gdbarch); -typedef int (gdbarch_frame_num_args_ftype) (struct frame_info *frame); -extern int gdbarch_frame_num_args (struct gdbarch *gdbarch, struct frame_info *frame); +typedef int (gdbarch_frame_num_args_ftype) (frame_info_ptr frame); +extern int gdbarch_frame_num_args (struct gdbarch *gdbarch, frame_info_ptr frame); extern void set_gdbarch_frame_num_args (struct gdbarch *gdbarch, gdbarch_frame_num_args_ftype *frame_num_args); extern bool gdbarch_frame_align_p (struct gdbarch *gdbarch); @@ -687,8 +687,8 @@ extern void set_gdbarch_software_single_step (struct gdbarch *gdbarch, gdbarch_s extern bool gdbarch_single_step_through_delay_p (struct gdbarch *gdbarch); -typedef int (gdbarch_single_step_through_delay_ftype) (struct gdbarch *gdbarch, struct frame_info *frame); -extern int gdbarch_single_step_through_delay (struct gdbarch *gdbarch, struct frame_info *frame); +typedef int (gdbarch_single_step_through_delay_ftype) (struct gdbarch *gdbarch, frame_info_ptr frame); +extern int gdbarch_single_step_through_delay (struct gdbarch *gdbarch, frame_info_ptr frame); extern void set_gdbarch_single_step_through_delay (struct gdbarch *gdbarch, gdbarch_single_step_through_delay_ftype *single_step_through_delay); /* FIXME: cagney/2003-08-28: Need to find a better way of selecting the @@ -698,8 +698,8 @@ typedef int (gdbarch_print_insn_ftype) (bfd_vma vma, struct disassemble_info *in extern int gdbarch_print_insn (struct gdbarch *gdbarch, bfd_vma vma, struct disassemble_info *info); extern void set_gdbarch_print_insn (struct gdbarch *gdbarch, gdbarch_print_insn_ftype *print_insn); -typedef CORE_ADDR (gdbarch_skip_trampoline_code_ftype) (struct frame_info *frame, CORE_ADDR pc); -extern CORE_ADDR gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, struct frame_info *frame, CORE_ADDR pc); +typedef CORE_ADDR (gdbarch_skip_trampoline_code_ftype) (frame_info_ptr frame, CORE_ADDR pc); +extern CORE_ADDR gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR pc); extern void set_gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, gdbarch_skip_trampoline_code_ftype *skip_trampoline_code); /* If in_solib_dynsym_resolve_code() returns true, and SKIP_SOLIB_RESOLVER @@ -841,8 +841,8 @@ extern void set_gdbarch_register_reggroup_p (struct gdbarch *gdbarch, gdbarch_re extern bool gdbarch_fetch_pointer_argument_p (struct gdbarch *gdbarch); -typedef CORE_ADDR (gdbarch_fetch_pointer_argument_ftype) (struct frame_info *frame, int argi, struct type *type); -extern CORE_ADDR gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, struct frame_info *frame, int argi, struct type *type); +typedef CORE_ADDR (gdbarch_fetch_pointer_argument_ftype) (frame_info_ptr frame, int argi, struct type *type); +extern CORE_ADDR gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, frame_info_ptr frame, int argi, struct type *type); extern void set_gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, gdbarch_fetch_pointer_argument_ftype *fetch_pointer_argument); /* Iterate over all supported register notes in a core file. For each @@ -1618,8 +1618,8 @@ extern void set_gdbarch_type_align (struct gdbarch *gdbarch, gdbarch_type_align_ /* Return a string containing any flags for the given PC in the given FRAME. */ -typedef std::string (gdbarch_get_pc_address_flags_ftype) (frame_info *frame, CORE_ADDR pc); -extern std::string gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, frame_info *frame, CORE_ADDR pc); +typedef std::string (gdbarch_get_pc_address_flags_ftype) (frame_info_ptr frame, CORE_ADDR pc); +extern std::string gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR pc); extern void set_gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, gdbarch_get_pc_address_flags_ftype *get_pc_address_flags); /* Read core file mappings */ diff --git a/gdb/gdbarch-selftests.c b/gdb/gdbarch-selftests.c index 198346bddec..800a3ecb308 100644 --- a/gdb/gdbarch-selftests.c +++ b/gdb/gdbarch-selftests.c @@ -71,7 +71,7 @@ register_to_value_test (struct gdbarch *gdbarch) scoped_mock_context mockctx (gdbarch); - struct frame_info *frame = get_current_frame (); + frame_info_ptr frame = get_current_frame (); const int num_regs = gdbarch_num_cooked_regs (gdbarch); /* Test gdbarch methods register_to_value and value_to_register with diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index 0edae7f6f0a..6620d0b2a13 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -2259,7 +2259,7 @@ set_gdbarch_register_type (struct gdbarch *gdbarch, } struct frame_id -gdbarch_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) +gdbarch_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->dummy_id != NULL); @@ -2358,7 +2358,7 @@ set_gdbarch_push_dummy_code (struct gdbarch *gdbarch, } int -gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, struct frame_info *frame) +gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, frame_info_ptr frame) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->code_of_frame_writable != NULL); @@ -2375,7 +2375,7 @@ set_gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, } void -gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all) +gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, int regnum, int all) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->print_registers_info != NULL); @@ -2392,7 +2392,7 @@ set_gdbarch_print_registers_info (struct gdbarch *gdbarch, } void -gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args) +gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->print_float_info != NULL); @@ -2416,7 +2416,7 @@ gdbarch_print_vector_info_p (struct gdbarch *gdbarch) } void -gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args) +gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, frame_info_ptr frame, const char *args) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->print_vector_info != NULL); @@ -2491,7 +2491,7 @@ gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch) } int -gdbarch_get_longjmp_target (struct gdbarch *gdbarch, struct frame_info *frame, CORE_ADDR *pc) +gdbarch_get_longjmp_target (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR *pc) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->get_longjmp_target != NULL); @@ -2542,7 +2542,7 @@ set_gdbarch_convert_register_p (struct gdbarch *gdbarch, } int -gdbarch_register_to_value (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep) +gdbarch_register_to_value (struct gdbarch *gdbarch, frame_info_ptr frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->register_to_value != NULL); @@ -2559,7 +2559,7 @@ set_gdbarch_register_to_value (struct gdbarch *gdbarch, } void -gdbarch_value_to_register (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, const gdb_byte *buf) +gdbarch_value_to_register (struct gdbarch *gdbarch, frame_info_ptr frame, int regnum, struct type *type, const gdb_byte *buf) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->value_to_register != NULL); @@ -3016,7 +3016,7 @@ set_gdbarch_frame_args_skip (struct gdbarch *gdbarch, } CORE_ADDR -gdbarch_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) +gdbarch_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->unwind_pc != NULL); @@ -3033,7 +3033,7 @@ set_gdbarch_unwind_pc (struct gdbarch *gdbarch, } CORE_ADDR -gdbarch_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame) +gdbarch_unwind_sp (struct gdbarch *gdbarch, frame_info_ptr next_frame) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->unwind_sp != NULL); @@ -3057,7 +3057,7 @@ gdbarch_frame_num_args_p (struct gdbarch *gdbarch) } int -gdbarch_frame_num_args (struct gdbarch *gdbarch, struct frame_info *frame) +gdbarch_frame_num_args (struct gdbarch *gdbarch, frame_info_ptr frame) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->frame_num_args != NULL); @@ -3316,7 +3316,7 @@ gdbarch_single_step_through_delay_p (struct gdbarch *gdbarch) } int -gdbarch_single_step_through_delay (struct gdbarch *gdbarch, struct frame_info *frame) +gdbarch_single_step_through_delay (struct gdbarch *gdbarch, frame_info_ptr frame) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->single_step_through_delay != NULL); @@ -3350,7 +3350,7 @@ set_gdbarch_print_insn (struct gdbarch *gdbarch, } CORE_ADDR -gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, struct frame_info *frame, CORE_ADDR pc) +gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR pc) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->skip_trampoline_code != NULL); @@ -3674,7 +3674,7 @@ gdbarch_fetch_pointer_argument_p (struct gdbarch *gdbarch) } CORE_ADDR -gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, struct frame_info *frame, int argi, struct type *type) +gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, frame_info_ptr frame, int argi, struct type *type) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->fetch_pointer_argument != NULL); @@ -5331,7 +5331,7 @@ set_gdbarch_type_align (struct gdbarch *gdbarch, } std::string -gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, frame_info *frame, CORE_ADDR pc) +gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, frame_info_ptr frame, CORE_ADDR pc) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->get_pc_address_flags != NULL); diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index 8ffcafc6a29..303e2b2e6b2 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -56,6 +56,7 @@ #include "dwarf2.h" #include "gdbsupport/gdb_obstack.h" #include "gmp-utils.h" +#include "frame-info.h" /* Forward declarations for prototypes. */ struct field; @@ -1877,7 +1878,7 @@ struct call_site_target void iterate_over_addresses (struct gdbarch *call_site_gdbarch, const struct call_site *call_site, - struct frame_info *caller_frame, + frame_info_ptr caller_frame, iterate_ftype callback) const; private: @@ -1984,7 +1985,7 @@ struct call_site throw NO_ENTRY_VALUE_ERROR. */ void iterate_over_addresses (struct gdbarch *call_site_gdbarch, - struct frame_info *caller_frame, + frame_info_ptr caller_frame, call_site_target::iterate_ftype callback) const { diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c index 61666f2353c..be4b6d1461c 100644 --- a/gdb/gnu-v3-abi.c +++ b/gdb/gnu-v3-abi.c @@ -1215,7 +1215,7 @@ gnuv3_get_type_from_type_info (struct value *type_info_ptr) of the routine we are thunking to and continue to there instead. */ static CORE_ADDR -gnuv3_skip_trampoline (struct frame_info *frame, CORE_ADDR stop_pc) +gnuv3_skip_trampoline (frame_info_ptr frame, CORE_ADDR stop_pc) { CORE_ADDR real_stop_pc, method_stop_pc, func_addr; struct gdbarch *gdbarch = get_frame_arch (frame); diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c index c4d9824ffda..e85e90b60a1 100644 --- a/gdb/h8300-tdep.c +++ b/gdb/h8300-tdep.c @@ -404,7 +404,7 @@ h8300_analyze_prologue (struct gdbarch *gdbarch, } static struct h8300_frame_cache * -h8300_frame_cache (struct frame_info *this_frame, void **this_cache) +h8300_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); struct h8300_frame_cache *cache; @@ -466,7 +466,7 @@ h8300_frame_cache (struct frame_info *this_frame, void **this_cache) } static void -h8300_frame_this_id (struct frame_info *this_frame, void **this_cache, +h8300_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct h8300_frame_cache *cache = @@ -480,7 +480,7 @@ h8300_frame_this_id (struct frame_info *this_frame, void **this_cache, } static struct value * -h8300_frame_prev_register (struct frame_info *this_frame, void **this_cache, +h8300_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -511,7 +511,7 @@ static const struct frame_unwind h8300_frame_unwind = { }; static CORE_ADDR -h8300_frame_base_address (struct frame_info *this_frame, void **this_cache) +h8300_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct h8300_frame_cache *cache = h8300_frame_cache (this_frame, this_cache); return cache->base; @@ -997,7 +997,7 @@ h8300sx_register_name (struct gdbarch *gdbarch, int regno) static void h8300_print_register (struct gdbarch *gdbarch, struct ui_file *file, - struct frame_info *frame, int regno) + frame_info_ptr frame, int regno) { LONGEST rval; const char *name = gdbarch_register_name (gdbarch, regno); @@ -1074,7 +1074,7 @@ h8300_print_register (struct gdbarch *gdbarch, struct ui_file *file, static void h8300_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, - struct frame_info *frame, int regno, int cpregs) + frame_info_ptr frame, int regno, int cpregs) { if (regno < 0) { diff --git a/gdb/hppa-bsd-tdep.c b/gdb/hppa-bsd-tdep.c index c405511529d..458c22085d7 100644 --- a/gdb/hppa-bsd-tdep.c +++ b/gdb/hppa-bsd-tdep.c @@ -107,7 +107,7 @@ hppabsd_find_global_pointer (struct gdbarch *gdbarch, struct value *function) static void hppabsd_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, struct dwarf2_frame_state_reg *reg, - struct frame_info *this_frame) + frame_info_ptr this_frame) { if (regnum == HPPA_PCOQ_HEAD_REGNUM) reg->how = DWARF2_FRAME_REG_RA; diff --git a/gdb/hppa-linux-tdep.c b/gdb/hppa-linux-tdep.c index f17d2ae6b02..2a1aa6c24b3 100644 --- a/gdb/hppa-linux-tdep.c +++ b/gdb/hppa-linux-tdep.c @@ -193,7 +193,7 @@ struct hppa_linux_sigtramp_unwind_cache }; static struct hppa_linux_sigtramp_unwind_cache * -hppa_linux_sigtramp_frame_unwind_cache (struct frame_info *this_frame, +hppa_linux_sigtramp_frame_unwind_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -268,7 +268,7 @@ hppa_linux_sigtramp_frame_unwind_cache (struct frame_info *this_frame, } static void -hppa_linux_sigtramp_frame_this_id (struct frame_info *this_frame, +hppa_linux_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -278,7 +278,7 @@ hppa_linux_sigtramp_frame_this_id (struct frame_info *this_frame, } static struct value * -hppa_linux_sigtramp_frame_prev_register (struct frame_info *this_frame, +hppa_linux_sigtramp_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { @@ -296,7 +296,7 @@ hppa_linux_sigtramp_frame_prev_register (struct frame_info *this_frame, we can find the beginning of the struct rt_sigframe. */ static int hppa_linux_sigtramp_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); diff --git a/gdb/hppa-netbsd-tdep.c b/gdb/hppa-netbsd-tdep.c index 8b1a03b462e..3c5364cb370 100644 --- a/gdb/hppa-netbsd-tdep.c +++ b/gdb/hppa-netbsd-tdep.c @@ -64,7 +64,7 @@ static int hppanbsd_mc_reg_offset[] = }; static void hppanbsd_sigtramp_cache_init (const struct tramp_frame *, - struct frame_info *, + frame_info_ptr , struct trad_frame_cache *, CORE_ADDR); @@ -99,7 +99,7 @@ static const struct tramp_frame hppanbsd_sigtramp_si4 = static void hppanbsd_sigtramp_cache_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index 91f9cecdcbc..2f8b4e4b8ce 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -1834,7 +1834,7 @@ hppa_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) /* Return an unwind entry that falls within the frame's code block. */ static struct unwind_table_entry * -hppa_find_unwind_entry_in_block (struct frame_info *this_frame) +hppa_find_unwind_entry_in_block (frame_info_ptr this_frame) { CORE_ADDR pc = get_frame_address_in_block (this_frame); @@ -1855,7 +1855,7 @@ struct hppa_frame_cache }; static struct hppa_frame_cache * -hppa_frame_cache (struct frame_info *this_frame, void **this_cache) +hppa_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -2256,7 +2256,7 @@ hppa_frame_cache (struct frame_info *this_frame, void **this_cache) } static void -hppa_frame_this_id (struct frame_info *this_frame, void **this_cache, +hppa_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct hppa_frame_cache *info; @@ -2269,7 +2269,7 @@ hppa_frame_this_id (struct frame_info *this_frame, void **this_cache, } static struct value * -hppa_frame_prev_register (struct frame_info *this_frame, +hppa_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct hppa_frame_cache *info = hppa_frame_cache (this_frame, this_cache); @@ -2280,7 +2280,7 @@ hppa_frame_prev_register (struct frame_info *this_frame, static int hppa_frame_unwind_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, void **this_cache) + frame_info_ptr this_frame, void **this_cache) { if (hppa_find_unwind_entry_in_block (this_frame)) return 1; @@ -2308,7 +2308,7 @@ static const struct frame_unwind hppa_frame_unwind = identify the stack and pc for the frame. */ static struct hppa_frame_cache * -hppa_fallback_frame_cache (struct frame_info *this_frame, void **this_cache) +hppa_fallback_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -2381,7 +2381,7 @@ hppa_fallback_frame_cache (struct frame_info *this_frame, void **this_cache) } static void -hppa_fallback_frame_this_id (struct frame_info *this_frame, void **this_cache, +hppa_fallback_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct hppa_frame_cache *info = @@ -2391,7 +2391,7 @@ hppa_fallback_frame_this_id (struct frame_info *this_frame, void **this_cache, } static struct value * -hppa_fallback_frame_prev_register (struct frame_info *this_frame, +hppa_fallback_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct hppa_frame_cache *info @@ -2420,7 +2420,7 @@ struct hppa_stub_unwind_cache }; static struct hppa_stub_unwind_cache * -hppa_stub_frame_unwind_cache (struct frame_info *this_frame, +hppa_stub_frame_unwind_cache (frame_info_ptr this_frame, void **this_cache) { struct hppa_stub_unwind_cache *info; @@ -2441,7 +2441,7 @@ hppa_stub_frame_unwind_cache (struct frame_info *this_frame, } static void -hppa_stub_frame_this_id (struct frame_info *this_frame, +hppa_stub_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -2453,7 +2453,7 @@ hppa_stub_frame_this_id (struct frame_info *this_frame, } static struct value * -hppa_stub_frame_prev_register (struct frame_info *this_frame, +hppa_stub_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct hppa_stub_unwind_cache *info @@ -2468,7 +2468,7 @@ hppa_stub_frame_prev_register (struct frame_info *this_frame, static int hppa_stub_unwind_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { CORE_ADDR pc = get_frame_address_in_block (this_frame); @@ -2494,7 +2494,7 @@ static const struct frame_unwind hppa_stub_frame_unwind = { }; CORE_ADDR -hppa_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) +hppa_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) { ULONGEST ipsw; CORE_ADDR pc; @@ -2711,7 +2711,7 @@ hppa_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr) /* Get the ARGIth function argument for the current function. */ static CORE_ADDR -hppa_fetch_pointer_argument (struct frame_info *frame, int argi, +hppa_fetch_pointer_argument (frame_info_ptr frame, int argi, struct type *type) { return get_frame_register_unsigned (frame, HPPA_R0_REGNUM + 26 - argi); @@ -2742,7 +2742,7 @@ hppa_find_global_pointer (struct gdbarch *gdbarch, struct value *function) } struct value * -hppa_frame_prev_register_helper (struct frame_info *this_frame, +hppa_frame_prev_register_helper (frame_info_ptr this_frame, trad_frame_saved_reg saved_regs[], int regnum) { @@ -2920,7 +2920,7 @@ hppa_in_solib_call_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc) systems: $$dyncall, import stubs and PLT stubs. */ CORE_ADDR -hppa_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc) +hppa_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) { struct gdbarch *gdbarch = get_frame_arch (frame); struct type *func_ptr_type = builtin_type (gdbarch)->builtin_func_ptr; diff --git a/gdb/hppa-tdep.h b/gdb/hppa-tdep.h index c2c9e0e0b5e..d0e0d4d6a3a 100644 --- a/gdb/hppa-tdep.h +++ b/gdb/hppa-tdep.h @@ -109,7 +109,7 @@ struct hppa_gdbarch_tdep : gdbarch_tdep_base not interested in them. If we detect that we are returning to a stub, adjust the pc to the real caller. This improves the behavior of commands that traverse frames such as "up" and "finish". */ - void (*unwind_adjust_stub) (struct frame_info *this_frame, CORE_ADDR base, + void (*unwind_adjust_stub) (frame_info_ptr this_frame, CORE_ADDR base, trad_frame_saved_reg *saved_regs) = nullptr; /* These are solib-dependent methods. They are really HPUX only, but @@ -201,14 +201,14 @@ int hppa_extract_14 (unsigned); CORE_ADDR hppa_symbol_address(const char *sym); extern struct value * - hppa_frame_prev_register_helper (struct frame_info *this_frame, + hppa_frame_prev_register_helper (frame_info_ptr this_frame, trad_frame_saved_reg *saved_regs, int regnum); extern CORE_ADDR hppa_read_pc (struct regcache *regcache); extern void hppa_write_pc (struct regcache *regcache, CORE_ADDR pc); extern CORE_ADDR hppa_unwind_pc (struct gdbarch *gdbarch, - struct frame_info *next_frame); + frame_info_ptr next_frame); extern struct bound_minimal_symbol hppa_lookup_stub_minimal_symbol (const char *name, @@ -216,6 +216,6 @@ extern struct bound_minimal_symbol extern int hppa_in_solib_call_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc); -extern CORE_ADDR hppa_skip_trampoline_code (struct frame_info *, CORE_ADDR pc); +extern CORE_ADDR hppa_skip_trampoline_code (frame_info_ptr , CORE_ADDR pc); #endif /* hppa-tdep.h */ diff --git a/gdb/jit.c b/gdb/jit.c index 6d8acc40225..12d6d83e26c 100644 --- a/gdb/jit.c +++ b/gdb/jit.c @@ -930,7 +930,7 @@ struct jit_unwind_private std::unique_ptr regcache; /* The frame being unwound. */ - struct frame_info *this_frame; + frame_info_ptr this_frame; }; /* Sets the value of a particular register in this frame. */ @@ -991,7 +991,7 @@ jit_unwind_reg_get_impl (struct gdb_unwind_callbacks *cb, int regnum) saved register value. */ static void -jit_dealloc_cache (struct frame_info *this_frame, void *cache) +jit_dealloc_cache (frame_info *this_frame, void *cache) { struct jit_unwind_private *priv_data = (struct jit_unwind_private *) cache; delete priv_data; @@ -1007,7 +1007,7 @@ jit_dealloc_cache (struct frame_info *this_frame, void *cache) static int jit_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, void **cache) + frame_info_ptr this_frame, void **cache) { struct jit_unwind_private *priv_data; struct gdb_unwind_callbacks callbacks; @@ -1042,7 +1042,7 @@ jit_frame_sniffer (const struct frame_unwind *self, jit_debug_printf ("Could not unwind frame using JIT reader."); - jit_dealloc_cache (this_frame, *cache); + jit_dealloc_cache (this_frame.get (), *cache); *cache = NULL; return 0; @@ -1053,7 +1053,7 @@ jit_frame_sniffer (const struct frame_unwind *self, the loaded plugin. */ static void -jit_frame_this_id (struct frame_info *this_frame, void **cache, +jit_frame_this_id (frame_info_ptr this_frame, void **cache, struct frame_id *this_id) { struct jit_unwind_private priv; @@ -1082,7 +1082,7 @@ jit_frame_this_id (struct frame_info *this_frame, void **cache, the register from the cache. */ static struct value * -jit_frame_prev_register (struct frame_info *this_frame, void **cache, int reg) +jit_frame_prev_register (frame_info_ptr this_frame, void **cache, int reg) { struct jit_unwind_private *priv = (struct jit_unwind_private *) *cache; struct gdbarch *gdbarch; diff --git a/gdb/language.c b/gdb/language.c index bc784a8ec79..a94e5db0a46 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -125,7 +125,7 @@ show_language_command (struct ui_file *file, int from_tty, if (has_stack_frames ()) { - struct frame_info *frame; + frame_info_ptr frame; frame = get_selected_frame (NULL); flang = get_frame_language (frame); @@ -160,7 +160,7 @@ set_language_command (const char *ignore, language_mode = language_mode_auto; try { - struct frame_info *frame; + frame_info_ptr frame; frame = get_selected_frame (NULL); flang = get_frame_language (frame); @@ -533,7 +533,7 @@ add_set_language_command () Return the result from the first that returns non-zero, or 0 if all `fail'. */ CORE_ADDR -skip_language_trampoline (struct frame_info *frame, CORE_ADDR pc) +skip_language_trampoline (frame_info_ptr frame, CORE_ADDR pc) { for (const auto &lang : language_defn::languages) { diff --git a/gdb/language.h b/gdb/language.h index c6812c52634..6482f371e22 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -30,7 +30,7 @@ /* Forward decls for prototypes. */ struct value; struct objfile; -struct frame_info; +class frame_info_ptr; struct ui_file; struct value_print_options; struct type_print_options; @@ -321,7 +321,7 @@ struct language_defn virtual struct value *read_var_value (struct symbol *var, const struct block *var_block, - struct frame_info *frame) const; + frame_info_ptr frame) const; /* Return information about whether TYPE should be passed (and returned) by reference at the language level. The default @@ -464,7 +464,7 @@ struct language_defn If that PC falls in a trampoline belonging to this language, return the address of the first pc in the real function, or 0 if it isn't a language tramp for this language. */ - virtual CORE_ADDR skip_trampoline (struct frame_info *fi, CORE_ADDR pc) const + virtual CORE_ADDR skip_trampoline (frame_info_ptr fi, CORE_ADDR pc) const { return (CORE_ADDR) 0; } @@ -782,7 +782,7 @@ extern const char *language_str (enum language); /* Check for a language-specific trampoline. */ -extern CORE_ADDR skip_language_trampoline (struct frame_info *, CORE_ADDR pc); +extern CORE_ADDR skip_language_trampoline (frame_info_ptr , CORE_ADDR pc); /* Return demangled language symbol, or NULL. */ extern gdb::unique_xmalloc_ptr language_demangle diff --git a/gdb/lm32-tdep.c b/gdb/lm32-tdep.c index 4cbff537fab..46c0b1e0be1 100644 --- a/gdb/lm32-tdep.c +++ b/gdb/lm32-tdep.c @@ -377,7 +377,7 @@ lm32_return_value (struct gdbarch *gdbarch, struct value *function, for it IS the sp for the next frame. */ static struct lm32_frame_cache * -lm32_frame_cache (struct frame_info *this_frame, void **this_prologue_cache) +lm32_frame_cache (frame_info_ptr this_frame, void **this_prologue_cache) { CORE_ADDR current_pc; ULONGEST prev_sp; @@ -423,7 +423,7 @@ lm32_frame_cache (struct frame_info *this_frame, void **this_prologue_cache) } static void -lm32_frame_this_id (struct frame_info *this_frame, void **this_cache, +lm32_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct lm32_frame_cache *cache = lm32_frame_cache (this_frame, this_cache); @@ -436,7 +436,7 @@ lm32_frame_this_id (struct frame_info *this_frame, void **this_cache, } static struct value * -lm32_frame_prev_register (struct frame_info *this_frame, +lm32_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct lm32_frame_cache *info; @@ -456,7 +456,7 @@ static const struct frame_unwind lm32_frame_unwind = { }; static CORE_ADDR -lm32_frame_base_address (struct frame_info *this_frame, void **this_cache) +lm32_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct lm32_frame_cache *info = lm32_frame_cache (this_frame, this_cache); diff --git a/gdb/loongarch-linux-tdep.c b/gdb/loongarch-linux-tdep.c index 883245bec7e..f4559b65b33 100644 --- a/gdb/loongarch-linux-tdep.c +++ b/gdb/loongarch-linux-tdep.c @@ -222,7 +222,7 @@ const struct regset loongarch_fpregset = static void loongarch_linux_rt_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { @@ -284,7 +284,7 @@ loongarch_iterate_over_regset_sections (struct gdbarch *gdbarch, instruction to be executed. */ static CORE_ADDR -loongarch_linux_syscall_next_pc (struct frame_info *frame) +loongarch_linux_syscall_next_pc (frame_info_ptr frame) { const CORE_ADDR pc = get_frame_pc (frame); ULONGEST a7 = get_frame_register_unsigned (frame, LOONGARCH_A7_REGNUM); diff --git a/gdb/loongarch-tdep.c b/gdb/loongarch-tdep.c index e63ff01854d..40d989bf193 100644 --- a/gdb/loongarch-tdep.c +++ b/gdb/loongarch-tdep.c @@ -112,7 +112,7 @@ loongarch_insn_is_sc (insn_t insn) static CORE_ADDR loongarch_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc, - CORE_ADDR limit_pc, struct frame_info *this_frame, + CORE_ADDR limit_pc, frame_info_ptr this_frame, struct trad_frame_cache *this_cache) { CORE_ADDR cur_pc = start_pc, prologue_end = 0; @@ -397,7 +397,7 @@ loongarch_frame_align (struct gdbarch *gdbarch, CORE_ADDR addr) /* Generate, or return the cached frame cache for frame unwinder. */ static struct trad_frame_cache * -loongarch_frame_cache (struct frame_info *this_frame, void **this_cache) +loongarch_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct trad_frame_cache *cache; CORE_ADDR pc; @@ -419,7 +419,7 @@ loongarch_frame_cache (struct frame_info *this_frame, void **this_cache) /* Implement the this_id callback for frame unwinder. */ static void -loongarch_frame_this_id (struct frame_info *this_frame, void **prologue_cache, +loongarch_frame_this_id (frame_info_ptr this_frame, void **prologue_cache, struct frame_id *this_id) { struct trad_frame_cache *info; @@ -431,7 +431,7 @@ loongarch_frame_this_id (struct frame_info *this_frame, void **prologue_cache, /* Implement the prev_register callback for frame unwinder. */ static struct value * -loongarch_frame_prev_register (struct frame_info *this_frame, +loongarch_frame_prev_register (frame_info_ptr this_frame, void **prologue_cache, int regnum) { struct trad_frame_cache *info; diff --git a/gdb/loongarch-tdep.h b/gdb/loongarch-tdep.h index c5527f7d148..42fe1f617a9 100644 --- a/gdb/loongarch-tdep.h +++ b/gdb/loongarch-tdep.h @@ -38,7 +38,7 @@ struct loongarch_gdbarch_tdep : gdbarch_tdep_base struct loongarch_gdbarch_features abi_features; /* Return the expected next PC if FRAME is stopped at a syscall instruction. */ - CORE_ADDR (*syscall_next_pc) (struct frame_info *frame) = nullptr; + CORE_ADDR (*syscall_next_pc) (frame_info_ptr frame) = nullptr; }; #endif /* LOONGARCH_TDEP_H */ diff --git a/gdb/m32c-tdep.c b/gdb/m32c-tdep.c index 30f716b6969..dec52aa4f20 100644 --- a/gdb/m32c-tdep.c +++ b/gdb/m32c-tdep.c @@ -1851,7 +1851,7 @@ m32c_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip) /* Stack unwinding. */ static struct m32c_prologue * -m32c_analyze_frame_prologue (struct frame_info *this_frame, +m32c_analyze_frame_prologue (frame_info_ptr this_frame, void **this_prologue_cache) { if (! *this_prologue_cache) @@ -1875,7 +1875,7 @@ m32c_analyze_frame_prologue (struct frame_info *this_frame, static CORE_ADDR -m32c_frame_base (struct frame_info *this_frame, +m32c_frame_base (frame_info_ptr this_frame, void **this_prologue_cache) { struct m32c_prologue *p @@ -1915,7 +1915,7 @@ m32c_frame_base (struct frame_info *this_frame, static void -m32c_this_id (struct frame_info *this_frame, +m32c_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -1928,7 +1928,7 @@ m32c_this_id (struct frame_info *this_frame, static struct value * -m32c_prev_register (struct frame_info *this_frame, +m32c_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { gdbarch *arch = get_frame_arch (this_frame); @@ -2306,7 +2306,7 @@ m32c_return_value (struct gdbarch *gdbarch, code sequence seems more fragile. */ static CORE_ADDR -m32c_skip_trampoline_code (struct frame_info *frame, CORE_ADDR stop_pc) +m32c_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR stop_pc) { struct gdbarch *gdbarch = get_frame_arch (frame); m32c_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); diff --git a/gdb/m32r-linux-tdep.c b/gdb/m32r-linux-tdep.c index 6606a64afa1..7174a10b021 100644 --- a/gdb/m32r-linux-tdep.c +++ b/gdb/m32r-linux-tdep.c @@ -85,7 +85,7 @@ static const gdb_byte linux_sigtramp_code[] = { the routine. Otherwise, return 0. */ static CORE_ADDR -m32r_linux_sigtramp_start (CORE_ADDR pc, struct frame_info *this_frame) +m32r_linux_sigtramp_start (CORE_ADDR pc, frame_info_ptr this_frame) { gdb_byte buf[4]; @@ -133,7 +133,7 @@ static const gdb_byte linux_rt_sigtramp_code[] = { of the routine. Otherwise, return 0. */ static CORE_ADDR -m32r_linux_rt_sigtramp_start (CORE_ADDR pc, struct frame_info *this_frame) +m32r_linux_rt_sigtramp_start (CORE_ADDR pc, frame_info_ptr this_frame) { gdb_byte buf[4]; @@ -173,7 +173,7 @@ m32r_linux_rt_sigtramp_start (CORE_ADDR pc, struct frame_info *this_frame) static int m32r_linux_pc_in_sigtramp (CORE_ADDR pc, const char *name, - struct frame_info *this_frame) + frame_info_ptr this_frame) { /* If we have NAME, we can optimize the search. The trampolines are named __restore and __restore_rt. However, they aren't dynamically @@ -223,7 +223,7 @@ struct m32r_frame_cache }; static struct m32r_frame_cache * -m32r_linux_sigtramp_frame_cache (struct frame_info *this_frame, +m32r_linux_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct m32r_frame_cache *cache; @@ -266,7 +266,7 @@ m32r_linux_sigtramp_frame_cache (struct frame_info *this_frame, } static void -m32r_linux_sigtramp_frame_this_id (struct frame_info *this_frame, +m32r_linux_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { @@ -277,7 +277,7 @@ m32r_linux_sigtramp_frame_this_id (struct frame_info *this_frame, } static struct value * -m32r_linux_sigtramp_frame_prev_register (struct frame_info *this_frame, +m32r_linux_sigtramp_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct m32r_frame_cache *cache = @@ -288,7 +288,7 @@ m32r_linux_sigtramp_frame_prev_register (struct frame_info *this_frame, static int m32r_linux_sigtramp_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { CORE_ADDR pc = get_frame_pc (this_frame); diff --git a/gdb/m32r-tdep.c b/gdb/m32r-tdep.c index 3ad4c8de6bf..54a94c45d5a 100644 --- a/gdb/m32r-tdep.c +++ b/gdb/m32r-tdep.c @@ -519,7 +519,7 @@ struct m32r_unwind_cache for it IS the sp for the next frame. */ static struct m32r_unwind_cache * -m32r_frame_unwind_cache (struct frame_info *this_frame, +m32r_frame_unwind_cache (frame_info_ptr this_frame, void **this_prologue_cache) { CORE_ADDR pc, scan_limit; @@ -796,7 +796,7 @@ m32r_return_value (struct gdbarch *gdbarch, struct value *function, frame. This will be used to create a new GDB frame struct. */ static void -m32r_frame_this_id (struct frame_info *this_frame, +m32r_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { struct m32r_unwind_cache *info @@ -826,7 +826,7 @@ m32r_frame_this_id (struct frame_info *this_frame, } static struct value * -m32r_frame_prev_register (struct frame_info *this_frame, +m32r_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct m32r_unwind_cache *info @@ -845,7 +845,7 @@ static const struct frame_unwind m32r_frame_unwind = { }; static CORE_ADDR -m32r_frame_base_address (struct frame_info *this_frame, void **this_cache) +m32r_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct m32r_unwind_cache *info = m32r_frame_unwind_cache (this_frame, this_cache); diff --git a/gdb/m68hc11-tdep.c b/gdb/m68hc11-tdep.c index 7ea1f9a5b91..2ef70814a0b 100644 --- a/gdb/m68hc11-tdep.c +++ b/gdb/m68hc11-tdep.c @@ -780,7 +780,7 @@ m68hc11_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) for it IS the sp for the next frame. */ static struct m68hc11_unwind_cache * -m68hc11_frame_unwind_cache (struct frame_info *this_frame, +m68hc11_frame_unwind_cache (frame_info_ptr this_frame, void **this_prologue_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -877,7 +877,7 @@ m68hc11_frame_unwind_cache (struct frame_info *this_frame, frame. This will be used to create a new GDB frame struct. */ static void -m68hc11_frame_this_id (struct frame_info *this_frame, +m68hc11_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -902,7 +902,7 @@ m68hc11_frame_this_id (struct frame_info *this_frame, } static struct value * -m68hc11_frame_prev_register (struct frame_info *this_frame, +m68hc11_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct value *value; @@ -950,7 +950,7 @@ static const struct frame_unwind m68hc11_frame_unwind = { }; static CORE_ADDR -m68hc11_frame_base_address (struct frame_info *this_frame, void **this_cache) +m68hc11_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct m68hc11_unwind_cache *info = m68hc11_frame_unwind_cache (this_frame, this_cache); @@ -959,7 +959,7 @@ m68hc11_frame_base_address (struct frame_info *this_frame, void **this_cache) } static CORE_ADDR -m68hc11_frame_args_address (struct frame_info *this_frame, void **this_cache) +m68hc11_frame_args_address (frame_info_ptr this_frame, void **this_cache) { CORE_ADDR addr; struct m68hc11_unwind_cache *info @@ -986,7 +986,7 @@ static const struct frame_base m68hc11_frame_base = { save_dummy_frame_tos(), and the PC match the dummy frame's breakpoint. */ static struct frame_id -m68hc11_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) +m68hc11_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) { ULONGEST tos; CORE_ADDR pc = get_frame_pc (this_frame); @@ -1000,7 +1000,7 @@ m68hc11_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) /* Get and print the register from the given frame. */ static void m68hc11_print_register (struct gdbarch *gdbarch, struct ui_file *file, - struct frame_info *frame, int regno) + frame_info_ptr frame, int regno) { LONGEST rval; @@ -1087,7 +1087,7 @@ m68hc11_print_register (struct gdbarch *gdbarch, struct ui_file *file, /* Same as 'info reg' but prints the registers in a different way. */ static void m68hc11_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, - struct frame_info *frame, int regno, int cpregs) + frame_info_ptr frame, int regno, int cpregs) { if (regno >= 0) { diff --git a/gdb/m68k-linux-tdep.c b/gdb/m68k-linux-tdep.c index 28401d3ecc6..9c6a41609ed 100644 --- a/gdb/m68k-linux-tdep.c +++ b/gdb/m68k-linux-tdep.c @@ -61,7 +61,7 @@ non-RT and RT signal trampolines. */ static int -m68k_linux_pc_in_sigtramp (struct frame_info *this_frame) +m68k_linux_pc_in_sigtramp (frame_info_ptr this_frame) { struct gdbarch *gdbarch = get_frame_arch (this_frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -219,7 +219,7 @@ m68k_linux_inferior_created (inferior *inf) } static struct m68k_linux_sigtramp_info -m68k_linux_get_sigtramp_info (struct frame_info *this_frame) +m68k_linux_get_sigtramp_info (frame_info_ptr this_frame) { struct gdbarch *gdbarch = get_frame_arch (this_frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -248,7 +248,7 @@ m68k_linux_get_sigtramp_info (struct frame_info *this_frame) /* Signal trampolines. */ static struct trad_frame_cache * -m68k_linux_sigtramp_frame_cache (struct frame_info *this_frame, +m68k_linux_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct frame_id this_id; @@ -286,7 +286,7 @@ m68k_linux_sigtramp_frame_cache (struct frame_info *this_frame, } static void -m68k_linux_sigtramp_frame_this_id (struct frame_info *this_frame, +m68k_linux_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { @@ -296,7 +296,7 @@ m68k_linux_sigtramp_frame_this_id (struct frame_info *this_frame, } static struct value * -m68k_linux_sigtramp_frame_prev_register (struct frame_info *this_frame, +m68k_linux_sigtramp_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { @@ -308,7 +308,7 @@ m68k_linux_sigtramp_frame_prev_register (struct frame_info *this_frame, static int m68k_linux_sigtramp_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { return m68k_linux_pc_in_sigtramp (this_frame); diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c index 9e59f5904c3..adb63d67a72 100644 --- a/gdb/m68k-tdep.c +++ b/gdb/m68k-tdep.c @@ -205,7 +205,7 @@ m68k_convert_register_p (struct gdbarch *gdbarch, return its contents in TO. */ static int -m68k_register_to_value (struct frame_info *frame, int regnum, +m68k_register_to_value (frame_info_ptr frame, int regnum, struct type *type, gdb_byte *to, int *optimizedp, int *unavailablep) { @@ -232,7 +232,7 @@ m68k_register_to_value (struct frame_info *frame, int regnum, REGNUM in frame FRAME. */ static void -m68k_value_to_register (struct frame_info *frame, int regnum, +m68k_value_to_register (frame_info_ptr frame, int regnum, struct type *type, const gdb_byte *from) { gdb_byte to[M68K_MAX_REGISTER_SIZE]; @@ -901,7 +901,7 @@ m68k_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc) } static CORE_ADDR -m68k_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) +m68k_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) { gdb_byte buf[8]; @@ -912,7 +912,7 @@ m68k_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) /* Normal frames. */ static struct m68k_frame_cache * -m68k_frame_cache (struct frame_info *this_frame, void **this_cache) +m68k_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -977,7 +977,7 @@ m68k_frame_cache (struct frame_info *this_frame, void **this_cache) } static void -m68k_frame_this_id (struct frame_info *this_frame, void **this_cache, +m68k_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct m68k_frame_cache *cache = m68k_frame_cache (this_frame, this_cache); @@ -991,7 +991,7 @@ m68k_frame_this_id (struct frame_info *this_frame, void **this_cache, } static struct value * -m68k_frame_prev_register (struct frame_info *this_frame, void **this_cache, +m68k_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct m68k_frame_cache *cache = m68k_frame_cache (this_frame, this_cache); @@ -1020,7 +1020,7 @@ static const struct frame_unwind m68k_frame_unwind = }; static CORE_ADDR -m68k_frame_base_address (struct frame_info *this_frame, void **this_cache) +m68k_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct m68k_frame_cache *cache = m68k_frame_cache (this_frame, this_cache); @@ -1036,7 +1036,7 @@ static const struct frame_base m68k_frame_base = }; static struct frame_id -m68k_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) +m68k_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) { CORE_ADDR fp; @@ -1053,7 +1053,7 @@ m68k_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) This routine returns true on success. */ static int -m68k_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) +m68k_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) { gdb_byte *buf; CORE_ADDR sp, jb_addr; diff --git a/gdb/m68k-tdep.h b/gdb/m68k-tdep.h index 785e3fdb84f..e22d624adaa 100644 --- a/gdb/m68k-tdep.h +++ b/gdb/m68k-tdep.h @@ -22,7 +22,7 @@ #include "gdbarch.h" -struct frame_info; +class frame_info_ptr; /* Register numbers of various important registers. */ diff --git a/gdb/macroscope.c b/gdb/macroscope.c index fe7f10e296a..c5fd91e6fd1 100644 --- a/gdb/macroscope.c +++ b/gdb/macroscope.c @@ -100,7 +100,7 @@ default_macro_scope (void) { struct symtab_and_line sal; gdb::unique_xmalloc_ptr ms; - struct frame_info *frame; + frame_info_ptr frame; CORE_ADDR pc; /* If there's a selected frame, use its PC. */ diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c index 170b4b07460..cd54f6b462d 100644 --- a/gdb/mep-tdep.c +++ b/gdb/mep-tdep.c @@ -1910,7 +1910,7 @@ typedef BP_MANIPULATION (mep_break_insn) mep_breakpoint; static struct mep_prologue * -mep_analyze_frame_prologue (struct frame_info *this_frame, +mep_analyze_frame_prologue (frame_info_ptr this_frame, void **this_prologue_cache) { if (! *this_prologue_cache) @@ -1940,7 +1940,7 @@ mep_analyze_frame_prologue (struct frame_info *this_frame, /* Given the next frame and a prologue cache, return this frame's base. */ static CORE_ADDR -mep_frame_base (struct frame_info *this_frame, +mep_frame_base (frame_info_ptr this_frame, void **this_prologue_cache) { struct mep_prologue *p @@ -1968,7 +1968,7 @@ mep_frame_base (struct frame_info *this_frame, static void -mep_frame_this_id (struct frame_info *this_frame, +mep_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -1978,7 +1978,7 @@ mep_frame_this_id (struct frame_info *this_frame, static struct value * -mep_frame_prev_register (struct frame_info *this_frame, +mep_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct mep_prologue *p diff --git a/gdb/microblaze-linux-tdep.c b/gdb/microblaze-linux-tdep.c index daa7ddf7e4d..768889a7480 100644 --- a/gdb/microblaze-linux-tdep.c +++ b/gdb/microblaze-linux-tdep.c @@ -62,7 +62,7 @@ microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch, } static void -microblaze_linux_sigtramp_cache (struct frame_info *next_frame, +microblaze_linux_sigtramp_cache (frame_info_ptr next_frame, struct trad_frame_cache *this_cache, CORE_ADDR func, LONGEST offset, int bias) @@ -90,7 +90,7 @@ microblaze_linux_sigtramp_cache (struct frame_info *next_frame, static void microblaze_linux_sighandler_cache_init (const struct tramp_frame *self, - struct frame_info *next_frame, + frame_info_ptr next_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c index 3d5dd669341..479ea6899d7 100644 --- a/gdb/microblaze-tdep.c +++ b/gdb/microblaze-tdep.c @@ -368,7 +368,7 @@ microblaze_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, } static CORE_ADDR -microblaze_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) +microblaze_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) { gdb_byte buf[4]; CORE_ADDR pc; @@ -417,7 +417,7 @@ microblaze_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc) /* Normal frames. */ static struct microblaze_frame_cache * -microblaze_frame_cache (struct frame_info *next_frame, void **this_cache) +microblaze_frame_cache (frame_info_ptr next_frame, void **this_cache) { struct microblaze_frame_cache *cache; struct gdbarch *gdbarch = get_frame_arch (next_frame); @@ -443,7 +443,7 @@ microblaze_frame_cache (struct frame_info *next_frame, void **this_cache) } static void -microblaze_frame_this_id (struct frame_info *next_frame, void **this_cache, +microblaze_frame_this_id (frame_info_ptr next_frame, void **this_cache, struct frame_id *this_id) { struct microblaze_frame_cache *cache = @@ -457,7 +457,7 @@ microblaze_frame_this_id (struct frame_info *next_frame, void **this_cache, } static struct value * -microblaze_frame_prev_register (struct frame_info *this_frame, +microblaze_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct microblaze_frame_cache *cache = @@ -490,7 +490,7 @@ static const struct frame_unwind microblaze_frame_unwind = }; static CORE_ADDR -microblaze_frame_base_address (struct frame_info *next_frame, +microblaze_frame_base_address (frame_info_ptr next_frame, void **this_cache) { struct microblaze_frame_cache *cache = diff --git a/gdb/minsyms.c b/gdb/minsyms.c index c6abec81ce2..0da615564b6 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -1538,7 +1538,7 @@ lookup_solib_trampoline_symbol_by_pc (CORE_ADDR pc) a duplicate function in case this matters someday. */ CORE_ADDR -find_solib_trampoline_target (struct frame_info *frame, CORE_ADDR pc) +find_solib_trampoline_target (frame_info_ptr frame, CORE_ADDR pc) { struct minimal_symbol *tsymbol = lookup_solib_trampoline_symbol_by_pc (pc); diff --git a/gdb/mips-fbsd-tdep.c b/gdb/mips-fbsd-tdep.c index 05043d93e74..eae53108c03 100644 --- a/gdb/mips-fbsd-tdep.c +++ b/gdb/mips-fbsd-tdep.c @@ -275,7 +275,7 @@ mips_fbsd_iterate_over_regset_sections (struct gdbarch *gdbarch, static void mips_fbsd_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *cache, CORE_ADDR func) { @@ -367,7 +367,7 @@ static const struct tramp_frame mips_fbsd_sigframe = static void mips64_fbsd_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *cache, CORE_ADDR func) { diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c index ca313a28279..e7c1800a876 100644 --- a/gdb/mips-linux-tdep.c +++ b/gdb/mips-linux-tdep.c @@ -93,7 +93,7 @@ enum #define MIPS_LINUX_JB_PC 0 static int -mips_linux_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) +mips_linux_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) { CORE_ADDR jb_addr; struct gdbarch *gdbarch = get_frame_arch (frame); @@ -246,7 +246,7 @@ mips_fill_gregset_wrapper (const struct regset *regset, #define MIPS64_LINUX_JB_PC 0 static int -mips64_linux_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) +mips64_linux_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) { CORE_ADDR jb_addr; struct gdbarch *gdbarch = get_frame_arch (frame); @@ -713,21 +713,21 @@ mips_linux_skip_resolver (struct gdbarch *gdbarch, CORE_ADDR pc) efficient way, but simplest. First, declare all the unwinders. */ static void mips_linux_o32_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func); static void mips_linux_n32n64_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func); static int mips_linux_sigframe_validate (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, CORE_ADDR *pc); static int micromips_linux_sigframe_validate (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, CORE_ADDR *pc); #define MIPS_NR_LINUX 4000 @@ -958,7 +958,7 @@ static const struct tramp_frame micromips_linux_n64_rt_sigframe = { static void mips_linux_o32_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { @@ -1153,7 +1153,7 @@ mips_linux_o32_sigframe_init (const struct tramp_frame *self, static void mips_linux_n32n64_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { @@ -1238,7 +1238,7 @@ mips_linux_n32n64_sigframe_init (const struct tramp_frame *self, static int mips_linux_sigframe_validate (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, CORE_ADDR *pc) { return mips_pc_is_mips (*pc); @@ -1248,7 +1248,7 @@ mips_linux_sigframe_validate (const struct tramp_frame *self, static int micromips_linux_sigframe_validate (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, CORE_ADDR *pc) { if (mips_pc_is_micromips (get_frame_arch (this_frame), *pc)) @@ -1293,7 +1293,7 @@ mips_linux_restart_reg_p (struct gdbarch *gdbarch) instruction to be executed. */ static CORE_ADDR -mips_linux_syscall_next_pc (struct frame_info *frame) +mips_linux_syscall_next_pc (frame_info_ptr frame) { CORE_ADDR pc = get_frame_pc (frame); ULONGEST v0 = get_frame_register_unsigned (frame, MIPS_V0_REGNUM); diff --git a/gdb/mips-netbsd-tdep.c b/gdb/mips-netbsd-tdep.c index 2179ca0bf5a..c13e1fd0802 100644 --- a/gdb/mips-netbsd-tdep.c +++ b/gdb/mips-netbsd-tdep.c @@ -254,7 +254,7 @@ static const unsigned char sigtramp_retcode_mipseb[RETCODE_SIZE] = NBSD_MIPS_JB_ELEMENT_SIZE (gdbarch)) static int -mipsnbsd_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) +mipsnbsd_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) { struct gdbarch *gdbarch = get_frame_arch (frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/mips-sde-tdep.c b/gdb/mips-sde-tdep.c index de8e726d64f..7d69effd704 100644 --- a/gdb/mips-sde-tdep.c +++ b/gdb/mips-sde-tdep.c @@ -34,7 +34,7 @@ in the SDE frame unwinder. */ static struct trad_frame_cache * -mips_sde_frame_cache (struct frame_info *this_frame, void **this_cache) +mips_sde_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); const struct mips_regnum *regs = mips_regnum (gdbarch); @@ -122,7 +122,7 @@ mips_sde_frame_cache (struct frame_info *this_frame, void **this_cache) /* Implement the this_id function for the SDE frame unwinder. */ static void -mips_sde_frame_this_id (struct frame_info *this_frame, void **this_cache, +mips_sde_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct trad_frame_cache *this_trad_cache @@ -134,7 +134,7 @@ mips_sde_frame_this_id (struct frame_info *this_frame, void **this_cache, /* Implement the prev_register function for the SDE frame unwinder. */ static struct value * -mips_sde_frame_prev_register (struct frame_info *this_frame, +mips_sde_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int prev_regnum) { @@ -148,7 +148,7 @@ mips_sde_frame_prev_register (struct frame_info *this_frame, static int mips_sde_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { CORE_ADDR pc = get_frame_pc (this_frame); @@ -177,7 +177,7 @@ static const struct frame_unwind mips_sde_frame_unwind = for the normal unwinder. */ static CORE_ADDR -mips_sde_frame_base_address (struct frame_info *this_frame, void **this_cache) +mips_sde_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct trad_frame_cache *this_trad_cache = mips_sde_frame_cache (this_frame, this_cache); @@ -194,7 +194,7 @@ static const struct frame_base mips_sde_frame_base = }; static const struct frame_base * -mips_sde_frame_base_sniffer (struct frame_info *this_frame) +mips_sde_frame_base_sniffer (frame_info_ptr this_frame) { if (mips_sde_frame_sniffer (&mips_sde_frame_unwind, this_frame, NULL)) return &mips_sde_frame_base; diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 98270268584..a7ae5ef45ca 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -74,7 +74,7 @@ static int mips16_insn_at_pc_has_delay_slot (struct gdbarch *gdbarch, CORE_ADDR addr, int mustbe32); static void mips_print_float_info (struct gdbarch *, struct ui_file *, - struct frame_info *, const char *); + frame_info_ptr , const char *); /* A useful bit in the CP0 status register (MIPS_PS_REGNUM). */ /* This bit is set if we are emulating 32-bit FPRs on a 64-bit chip. */ @@ -560,7 +560,7 @@ mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache, physical 64-bit registers, but should treat them as 32-bit registers. */ static int -mips2_fp_compat (struct frame_info *frame) +mips2_fp_compat (frame_info_ptr frame) { struct gdbarch *gdbarch = get_frame_arch (frame); /* MIPS1 and MIPS2 have only 32 bit FPRs, and the FR bit is not @@ -942,7 +942,7 @@ mips_convert_register_p (struct gdbarch *gdbarch, } static int -mips_register_to_value (struct frame_info *frame, int regnum, +mips_register_to_value (frame_info_ptr frame, int regnum, struct type *type, gdb_byte *to, int *optimizedp, int *unavailablep) { @@ -984,7 +984,7 @@ mips_register_to_value (struct frame_info *frame, int regnum, } static void -mips_value_to_register (struct frame_info *frame, int regnum, +mips_value_to_register (frame_info_ptr frame, int regnum, struct type *type, const gdb_byte *from) { struct gdbarch *gdbarch = get_frame_arch (frame); @@ -1407,7 +1407,7 @@ mips_read_pc (readable_regcache *regcache) } static CORE_ADDR -mips_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) +mips_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) { CORE_ADDR pc; @@ -1429,7 +1429,7 @@ mips_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) } static CORE_ADDR -mips_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame) +mips_unwind_sp (struct gdbarch *gdbarch, frame_info_ptr next_frame) { return frame_unwind_register_signed (next_frame, gdbarch_num_regs (gdbarch) + MIPS_SP_REGNUM); @@ -1441,7 +1441,7 @@ mips_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame) breakpoint. */ static struct frame_id -mips_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) +mips_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) { return frame_id_build (get_frame_register_signed (this_frame, @@ -2524,7 +2524,7 @@ mips16_get_imm (unsigned short prev_inst, /* previous instruction */ static CORE_ADDR mips16_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc, CORE_ADDR limit_pc, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct mips_frame_cache *this_cache) { int prev_non_prologue_insn = 0; @@ -2860,7 +2860,7 @@ mips16_scan_prologue (struct gdbarch *gdbarch, mips_insn32 unwinder. */ static struct mips_frame_cache * -mips_insn16_frame_cache (struct frame_info *this_frame, void **this_cache) +mips_insn16_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); struct mips_frame_cache *cache; @@ -2896,7 +2896,7 @@ mips_insn16_frame_cache (struct frame_info *this_frame, void **this_cache) } static void -mips_insn16_frame_this_id (struct frame_info *this_frame, void **this_cache, +mips_insn16_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct mips_frame_cache *info = mips_insn16_frame_cache (this_frame, @@ -2908,7 +2908,7 @@ mips_insn16_frame_this_id (struct frame_info *this_frame, void **this_cache, } static struct value * -mips_insn16_frame_prev_register (struct frame_info *this_frame, +mips_insn16_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct mips_frame_cache *info = mips_insn16_frame_cache (this_frame, @@ -2918,7 +2918,7 @@ mips_insn16_frame_prev_register (struct frame_info *this_frame, static int mips_insn16_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, void **this_cache) + frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); CORE_ADDR pc = get_frame_pc (this_frame); @@ -2939,7 +2939,7 @@ static const struct frame_unwind mips_insn16_frame_unwind = }; static CORE_ADDR -mips_insn16_frame_base_address (struct frame_info *this_frame, +mips_insn16_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct mips_frame_cache *info = mips_insn16_frame_cache (this_frame, @@ -2956,7 +2956,7 @@ static const struct frame_base mips_insn16_frame_base = }; static const struct frame_base * -mips_insn16_frame_base_sniffer (struct frame_info *this_frame) +mips_insn16_frame_base_sniffer (frame_info_ptr this_frame) { struct gdbarch *gdbarch = get_frame_arch (this_frame); CORE_ADDR pc = get_frame_pc (this_frame); @@ -2985,7 +2985,7 @@ micromips_decode_imm9 (int imm) static CORE_ADDR micromips_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc, CORE_ADDR limit_pc, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct mips_frame_cache *this_cache) { CORE_ADDR end_prologue_addr; @@ -3294,7 +3294,7 @@ micromips_scan_prologue (struct gdbarch *gdbarch, mips_insn32 unwinder. Likewise MIPS16 and the mips_insn16 unwinder. */ static struct mips_frame_cache * -mips_micro_frame_cache (struct frame_info *this_frame, void **this_cache) +mips_micro_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); struct mips_frame_cache *cache; @@ -3331,7 +3331,7 @@ mips_micro_frame_cache (struct frame_info *this_frame, void **this_cache) } static void -mips_micro_frame_this_id (struct frame_info *this_frame, void **this_cache, +mips_micro_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct mips_frame_cache *info = mips_micro_frame_cache (this_frame, @@ -3343,7 +3343,7 @@ mips_micro_frame_this_id (struct frame_info *this_frame, void **this_cache, } static struct value * -mips_micro_frame_prev_register (struct frame_info *this_frame, +mips_micro_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct mips_frame_cache *info = mips_micro_frame_cache (this_frame, @@ -3353,7 +3353,7 @@ mips_micro_frame_prev_register (struct frame_info *this_frame, static int mips_micro_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, void **this_cache) + frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); CORE_ADDR pc = get_frame_pc (this_frame); @@ -3375,7 +3375,7 @@ static const struct frame_unwind mips_micro_frame_unwind = }; static CORE_ADDR -mips_micro_frame_base_address (struct frame_info *this_frame, +mips_micro_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct mips_frame_cache *info = mips_micro_frame_cache (this_frame, @@ -3392,7 +3392,7 @@ static const struct frame_base mips_micro_frame_base = }; static const struct frame_base * -mips_micro_frame_base_sniffer (struct frame_info *this_frame) +mips_micro_frame_base_sniffer (frame_info_ptr this_frame) { struct gdbarch *gdbarch = get_frame_arch (this_frame); CORE_ADDR pc = get_frame_pc (this_frame); @@ -3430,7 +3430,7 @@ reset_saved_regs (struct gdbarch *gdbarch, struct mips_frame_cache *this_cache) static CORE_ADDR mips32_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc, CORE_ADDR limit_pc, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct mips_frame_cache *this_cache) { int prev_non_prologue_insn; @@ -3675,7 +3675,7 @@ mips32_scan_prologue (struct gdbarch *gdbarch, unwinder. Likewise microMIPS and the mips_micro unwinder. */ static struct mips_frame_cache * -mips_insn32_frame_cache (struct frame_info *this_frame, void **this_cache) +mips_insn32_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); struct mips_frame_cache *cache; @@ -3712,7 +3712,7 @@ mips_insn32_frame_cache (struct frame_info *this_frame, void **this_cache) } static void -mips_insn32_frame_this_id (struct frame_info *this_frame, void **this_cache, +mips_insn32_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct mips_frame_cache *info = mips_insn32_frame_cache (this_frame, @@ -3724,7 +3724,7 @@ mips_insn32_frame_this_id (struct frame_info *this_frame, void **this_cache, } static struct value * -mips_insn32_frame_prev_register (struct frame_info *this_frame, +mips_insn32_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct mips_frame_cache *info = mips_insn32_frame_cache (this_frame, @@ -3734,7 +3734,7 @@ mips_insn32_frame_prev_register (struct frame_info *this_frame, static int mips_insn32_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, void **this_cache) + frame_info_ptr this_frame, void **this_cache) { CORE_ADDR pc = get_frame_pc (this_frame); if (mips_pc_is_mips (pc)) @@ -3754,7 +3754,7 @@ static const struct frame_unwind mips_insn32_frame_unwind = }; static CORE_ADDR -mips_insn32_frame_base_address (struct frame_info *this_frame, +mips_insn32_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct mips_frame_cache *info = mips_insn32_frame_cache (this_frame, @@ -3771,7 +3771,7 @@ static const struct frame_base mips_insn32_frame_base = }; static const struct frame_base * -mips_insn32_frame_base_sniffer (struct frame_info *this_frame) +mips_insn32_frame_base_sniffer (frame_info_ptr this_frame) { CORE_ADDR pc = get_frame_pc (this_frame); if (mips_pc_is_mips (pc)) @@ -3781,7 +3781,7 @@ mips_insn32_frame_base_sniffer (struct frame_info *this_frame) } static struct trad_frame_cache * -mips_stub_frame_cache (struct frame_info *this_frame, void **this_cache) +mips_stub_frame_cache (frame_info_ptr this_frame, void **this_cache) { CORE_ADDR pc; CORE_ADDR start_addr; @@ -3816,7 +3816,7 @@ mips_stub_frame_cache (struct frame_info *this_frame, void **this_cache) } static void -mips_stub_frame_this_id (struct frame_info *this_frame, void **this_cache, +mips_stub_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct trad_frame_cache *this_trad_cache @@ -3825,7 +3825,7 @@ mips_stub_frame_this_id (struct frame_info *this_frame, void **this_cache, } static struct value * -mips_stub_frame_prev_register (struct frame_info *this_frame, +mips_stub_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct trad_frame_cache *this_trad_cache @@ -3835,7 +3835,7 @@ mips_stub_frame_prev_register (struct frame_info *this_frame, static int mips_stub_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, void **this_cache) + frame_info_ptr this_frame, void **this_cache) { gdb_byte dummy[4]; CORE_ADDR pc = get_frame_address_in_block (this_frame); @@ -3871,7 +3871,7 @@ static const struct frame_unwind mips_stub_frame_unwind = }; static CORE_ADDR -mips_stub_frame_base_address (struct frame_info *this_frame, +mips_stub_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct trad_frame_cache *this_trad_cache @@ -3888,7 +3888,7 @@ static const struct frame_base mips_stub_frame_base = }; static const struct frame_base * -mips_stub_frame_base_sniffer (struct frame_info *this_frame) +mips_stub_frame_base_sniffer (frame_info_ptr this_frame) { if (mips_stub_frame_sniffer (&mips_stub_frame_unwind, this_frame, NULL)) return &mips_stub_frame_base; @@ -6252,7 +6252,7 @@ mips_o64_return_value (struct gdbarch *gdbarch, struct value *function, into rare_buffer. */ static void -mips_read_fp_register_single (struct frame_info *frame, int regno, +mips_read_fp_register_single (frame_info_ptr frame, int regno, gdb_byte *rare_buffer) { struct gdbarch *gdbarch = get_frame_arch (frame); @@ -6286,7 +6286,7 @@ mips_read_fp_register_single (struct frame_info *frame, int regno, register. */ static void -mips_read_fp_register_double (struct frame_info *frame, int regno, +mips_read_fp_register_double (frame_info_ptr frame, int regno, gdb_byte *rare_buffer) { struct gdbarch *gdbarch = get_frame_arch (frame); @@ -6325,7 +6325,7 @@ mips_read_fp_register_double (struct frame_info *frame, int regno, } static void -mips_print_fp_register (struct ui_file *file, struct frame_info *frame, +mips_print_fp_register (struct ui_file *file, frame_info_ptr frame, int regnum) { /* Do values for FP (float) regs. */ struct gdbarch *gdbarch = get_frame_arch (frame); @@ -6390,7 +6390,7 @@ mips_print_fp_register (struct ui_file *file, struct frame_info *frame, } static void -mips_print_register (struct ui_file *file, struct frame_info *frame, +mips_print_register (struct ui_file *file, frame_info_ptr frame, int regnum) { struct gdbarch *gdbarch = get_frame_arch (frame); @@ -6445,7 +6445,7 @@ print_fpu_flags (struct ui_file *file, int flags) static void mips_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, - struct frame_info *frame, const char *args) + frame_info_ptr frame, const char *args) { int fcsr = mips_regnum (gdbarch)->fp_control_status; enum mips_fpu_type type = mips_get_fpu_type (gdbarch); @@ -6512,7 +6512,7 @@ mips_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, Print regs in pretty columns. */ static int -print_fp_register_row (struct ui_file *file, struct frame_info *frame, +print_fp_register_row (struct ui_file *file, frame_info_ptr frame, int regnum) { gdb_printf (file, " "); @@ -6525,7 +6525,7 @@ print_fp_register_row (struct ui_file *file, struct frame_info *frame, /* Print a row's worth of GP (int) registers, with name labels above. */ static int -print_gp_register_row (struct ui_file *file, struct frame_info *frame, +print_gp_register_row (struct ui_file *file, frame_info_ptr frame, int start_regnum) { struct gdbarch *gdbarch = get_frame_arch (frame); @@ -6628,7 +6628,7 @@ print_gp_register_row (struct ui_file *file, struct frame_info *frame, static void mips_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, - struct frame_info *frame, int regnum, int all) + frame_info_ptr frame, int regnum, int all) { if (regnum != -1) /* Do one specified register. */ { @@ -6660,7 +6660,7 @@ mips_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, static int mips_single_step_through_delay (struct gdbarch *gdbarch, - struct frame_info *frame) + frame_info_ptr frame) { CORE_ADDR pc = get_frame_pc (frame); enum mips_isa isa; @@ -7565,7 +7565,7 @@ mips_is_stub_mode (const char *mode) The limit on the search is arbitrarily set to 20 instructions. FIXME. */ static CORE_ADDR -mips_get_mips16_fn_stub_pc (struct frame_info *frame, CORE_ADDR pc) +mips_get_mips16_fn_stub_pc (frame_info_ptr frame, CORE_ADDR pc) { struct gdbarch *gdbarch = get_frame_arch (frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -7688,7 +7688,7 @@ mips_get_mips16_fn_stub_pc (struct frame_info *frame, CORE_ADDR pc) gory details. */ static CORE_ADDR -mips_skip_mips16_trampoline_code (struct frame_info *frame, CORE_ADDR pc) +mips_skip_mips16_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) { struct gdbarch *gdbarch = get_frame_arch (frame); CORE_ADDR start_addr; @@ -7816,7 +7816,7 @@ mips_in_return_stub (struct gdbarch *gdbarch, CORE_ADDR pc, const char *name) so that $t9 has the correct value at function entry. */ static CORE_ADDR -mips_skip_pic_trampoline_code (struct frame_info *frame, CORE_ADDR pc) +mips_skip_pic_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) { struct gdbarch *gdbarch = get_frame_arch (frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -7869,7 +7869,7 @@ mips_skip_pic_trampoline_code (struct frame_info *frame, CORE_ADDR pc) } static CORE_ADDR -mips_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc) +mips_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) { CORE_ADDR requested_pc = pc; CORE_ADDR target_pc; @@ -8073,7 +8073,7 @@ mips_register_g_packet_guesses (struct gdbarch *gdbarch) } static struct value * -value_of_mips_user_reg (struct frame_info *frame, const void *baton) +value_of_mips_user_reg (frame_info_ptr frame, const void *baton) { const int *reg_p = (const int *) baton; return value_of_register (*reg_p, frame); diff --git a/gdb/mips-tdep.h b/gdb/mips-tdep.h index 24ed678a521..5d9a52490c4 100644 --- a/gdb/mips-tdep.h +++ b/gdb/mips-tdep.h @@ -125,7 +125,7 @@ struct mips_gdbarch_tdep : gdbarch_tdep_base /* Return the expected next PC if FRAME is stopped at a syscall instruction. */ - CORE_ADDR (*syscall_next_pc) (struct frame_info *frame) = nullptr; + CORE_ADDR (*syscall_next_pc) (frame_info_ptr frame) = nullptr; }; /* Register numbers of various important registers. */ diff --git a/gdb/mips64-obsd-tdep.c b/gdb/mips64-obsd-tdep.c index 8fe2834f23a..450e302f004 100644 --- a/gdb/mips64-obsd-tdep.c +++ b/gdb/mips64-obsd-tdep.c @@ -77,7 +77,7 @@ mips64obsd_iterate_over_regset_sections (struct gdbarch *gdbarch, static void mips64obsd_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *cache, CORE_ADDR func) { diff --git a/gdb/mn10300-linux-tdep.c b/gdb/mn10300-linux-tdep.c index 4fb59123b58..b6111d431b7 100644 --- a/gdb/mn10300-linux-tdep.c +++ b/gdb/mn10300-linux-tdep.c @@ -464,7 +464,7 @@ am33_iterate_over_regset_sections (struct gdbarch *gdbarch, static void am33_linux_sigframe_cache_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func); @@ -607,7 +607,7 @@ struct sigcontext { static void am33_linux_sigframe_cache_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c index 22511d894d4..e00697310d9 100644 --- a/gdb/mn10300-tdep.c +++ b/gdb/mn10300-tdep.c @@ -1046,7 +1046,7 @@ mn10300_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) use the current frame PC as the limit, then invoke mn10300_analyze_prologue and return its result. */ static struct mn10300_prologue * -mn10300_analyze_frame_prologue (struct frame_info *this_frame, +mn10300_analyze_frame_prologue (frame_info_ptr this_frame, void **this_prologue_cache) { if (!*this_prologue_cache) @@ -1075,7 +1075,7 @@ mn10300_analyze_frame_prologue (struct frame_info *this_frame, /* Given the next frame and a prologue cache, return this frame's base. */ static CORE_ADDR -mn10300_frame_base (struct frame_info *this_frame, void **this_prologue_cache) +mn10300_frame_base (frame_info_ptr this_frame, void **this_prologue_cache) { struct mn10300_prologue *p = mn10300_analyze_frame_prologue (this_frame, this_prologue_cache); @@ -1099,7 +1099,7 @@ mn10300_frame_base (struct frame_info *this_frame, void **this_prologue_cache) } static void -mn10300_frame_this_id (struct frame_info *this_frame, +mn10300_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -1110,7 +1110,7 @@ mn10300_frame_this_id (struct frame_info *this_frame, } static struct value * -mn10300_frame_prev_register (struct frame_info *this_frame, +mn10300_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct mn10300_prologue *p diff --git a/gdb/moxie-tdep.c b/gdb/moxie-tdep.c index f5cf501cea0..c5ce6913353 100644 --- a/gdb/moxie-tdep.c +++ b/gdb/moxie-tdep.c @@ -516,7 +516,7 @@ moxie_alloc_frame_cache (void) /* Populate a moxie_frame_cache object for this_frame. */ static struct moxie_frame_cache * -moxie_frame_cache (struct frame_info *this_frame, void **this_cache) +moxie_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct moxie_frame_cache *cache; CORE_ADDR current_pc; @@ -553,7 +553,7 @@ moxie_frame_cache (struct frame_info *this_frame, void **this_cache) frame. This will be used to create a new GDB frame struct. */ static void -moxie_frame_this_id (struct frame_info *this_frame, +moxie_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { struct moxie_frame_cache *cache = moxie_frame_cache (this_frame, @@ -569,7 +569,7 @@ moxie_frame_this_id (struct frame_info *this_frame, /* Get the value of register regnum in the previous stack frame. */ static struct value * -moxie_frame_prev_register (struct frame_info *this_frame, +moxie_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct moxie_frame_cache *cache = moxie_frame_cache (this_frame, @@ -600,7 +600,7 @@ static const struct frame_unwind moxie_frame_unwind = { /* Return the base address of this_frame. */ static CORE_ADDR -moxie_frame_base_address (struct frame_info *this_frame, void **this_cache) +moxie_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct moxie_frame_cache *cache = moxie_frame_cache (this_frame, this_cache); diff --git a/gdb/msp430-tdep.c b/gdb/msp430-tdep.c index cf4106d1a34..d04fbf70c10 100644 --- a/gdb/msp430-tdep.c +++ b/gdb/msp430-tdep.c @@ -455,7 +455,7 @@ msp430_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) return that struct as the value of this function. */ static struct msp430_prologue * -msp430_analyze_frame_prologue (struct frame_info *this_frame, +msp430_analyze_frame_prologue (frame_info_ptr this_frame, void **this_prologue_cache) { if (!*this_prologue_cache) @@ -483,7 +483,7 @@ msp430_analyze_frame_prologue (struct frame_info *this_frame, /* Given a frame and a prologue cache, return this frame's base. */ static CORE_ADDR -msp430_frame_base (struct frame_info *this_frame, void **this_prologue_cache) +msp430_frame_base (frame_info_ptr this_frame, void **this_prologue_cache) { struct msp430_prologue *p = msp430_analyze_frame_prologue (this_frame, this_prologue_cache); @@ -495,7 +495,7 @@ msp430_frame_base (struct frame_info *this_frame, void **this_prologue_cache) /* Implement the "frame_this_id" method for unwinding frames. */ static void -msp430_this_id (struct frame_info *this_frame, +msp430_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { *this_id = frame_id_build (msp430_frame_base (this_frame, @@ -506,7 +506,7 @@ msp430_this_id (struct frame_info *this_frame, /* Implement the "frame_prev_register" method for unwinding frames. */ static struct value * -msp430_prev_register (struct frame_info *this_frame, +msp430_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct msp430_prologue *p @@ -802,7 +802,7 @@ msp430_in_return_stub (struct gdbarch *gdbarch, CORE_ADDR pc, /* Implement the "skip_trampoline_code" gdbarch method. */ static CORE_ADDR -msp430_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc) +msp430_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) { struct bound_minimal_symbol bms; const char *stub_name; diff --git a/gdb/nds32-tdep.c b/gdb/nds32-tdep.c index 11bfd2d1f54..82e68cd09c5 100644 --- a/gdb/nds32-tdep.c +++ b/gdb/nds32-tdep.c @@ -265,7 +265,7 @@ static const struct register. */ static struct value * -value_of_nds32_reg (struct frame_info *frame, const void *baton) +value_of_nds32_reg (frame_info_ptr frame, const void *baton) { return value_of_register ((int) (intptr_t) baton, frame); } @@ -901,7 +901,7 @@ nds32_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) a pointer to the current nds32_frame_cache in *THIS_CACHE. */ static struct nds32_frame_cache * -nds32_frame_cache (struct frame_info *this_frame, void **this_cache) +nds32_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); struct nds32_frame_cache *cache; @@ -952,7 +952,7 @@ nds32_frame_cache (struct frame_info *this_frame, void **this_cache) PC and the caller's SP when we were called. */ static void -nds32_frame_this_id (struct frame_info *this_frame, +nds32_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct nds32_frame_cache *cache = nds32_frame_cache (this_frame, this_cache); @@ -967,7 +967,7 @@ nds32_frame_this_id (struct frame_info *this_frame, /* Implement the "prev_register" frame_unwind method. */ static struct value * -nds32_frame_prev_register (struct frame_info *this_frame, void **this_cache, +nds32_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct nds32_frame_cache *cache = nds32_frame_cache (this_frame, this_cache); @@ -1001,7 +1001,7 @@ static const struct frame_unwind nds32_frame_unwind = /* Return the frame base address of *THIS_FRAME. */ static CORE_ADDR -nds32_frame_base_address (struct frame_info *this_frame, void **this_cache) +nds32_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct nds32_frame_cache *cache = nds32_frame_cache (this_frame, this_cache); @@ -1287,7 +1287,7 @@ nds32_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR addr) static int nds32_epilogue_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, void **this_cache) + frame_info_ptr this_frame, void **this_cache) { if (frame_relative_level (this_frame) == 0) return nds32_stack_frame_destroyed_p (get_frame_arch (this_frame), @@ -1302,7 +1302,7 @@ nds32_epilogue_frame_sniffer (const struct frame_unwind *self, *THIS_CACHE. */ static struct nds32_frame_cache * -nds32_epilogue_frame_cache (struct frame_info *this_frame, void **this_cache) +nds32_epilogue_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); struct nds32_frame_cache *cache; @@ -1334,7 +1334,7 @@ nds32_epilogue_frame_cache (struct frame_info *this_frame, void **this_cache) /* Implement the "this_id" frame_unwind method. */ static void -nds32_epilogue_frame_this_id (struct frame_info *this_frame, +nds32_epilogue_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct nds32_frame_cache *cache @@ -1350,7 +1350,7 @@ nds32_epilogue_frame_this_id (struct frame_info *this_frame, /* Implement the "prev_register" frame_unwind method. */ static struct value * -nds32_epilogue_frame_prev_register (struct frame_info *this_frame, +nds32_epilogue_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct nds32_frame_cache *cache @@ -1827,7 +1827,7 @@ nds32_return_value (struct gdbarch *gdbarch, struct value *func_type, /* Implement the "get_longjmp_target" gdbarch method. */ static int -nds32_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) +nds32_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) { gdb_byte buf[4]; CORE_ADDR jb_addr; diff --git a/gdb/nios2-linux-tdep.c b/gdb/nios2-linux-tdep.c index da69638b20b..5a03cbc1773 100644 --- a/gdb/nios2-linux-tdep.c +++ b/gdb/nios2-linux-tdep.c @@ -134,7 +134,7 @@ nios2_iterate_over_regset_sections (struct gdbarch *gdbarch, static void nios2_linux_rt_sigreturn_init (const struct tramp_frame *self, - struct frame_info *next_frame, + frame_info_ptr next_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { @@ -187,7 +187,7 @@ static struct tramp_frame nios2_r2_linux_rt_sigreturn_tramp_frame = instruction to be executed. */ static CORE_ADDR -nios2_linux_syscall_next_pc (struct frame_info *frame, +nios2_linux_syscall_next_pc (frame_info_ptr frame, const struct nios2_opcode *op) { CORE_ADDR pc = get_frame_pc (frame); diff --git a/gdb/nios2-tdep.c b/gdb/nios2-tdep.c index 0bad229b44a..b1e76779fe4 100644 --- a/gdb/nios2-tdep.c +++ b/gdb/nios2-tdep.c @@ -1189,7 +1189,7 @@ static CORE_ADDR nios2_analyze_prologue (struct gdbarch *gdbarch, const CORE_ADDR start_pc, const CORE_ADDR current_pc, struct nios2_unwind_cache *cache, - struct frame_info *this_frame) + frame_info_ptr this_frame) { /* Maximum number of possibly-prologue instructions to check. Note that this number should not be too large, else we can @@ -1880,7 +1880,7 @@ nios2_push_dummy_call (struct gdbarch *gdbarch, struct value *function, /* Implement the unwind_pc gdbarch method. */ static CORE_ADDR -nios2_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) +nios2_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) { gdb_byte buf[4]; @@ -1893,7 +1893,7 @@ nios2_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) *THIS_PROLOGUE_CACHE first. */ static struct nios2_unwind_cache * -nios2_frame_unwind_cache (struct frame_info *this_frame, +nios2_frame_unwind_cache (frame_info_ptr this_frame, void **this_prologue_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -1920,7 +1920,7 @@ nios2_frame_unwind_cache (struct frame_info *this_frame, /* Implement the this_id function for the normal unwinder. */ static void -nios2_frame_this_id (struct frame_info *this_frame, void **this_cache, +nios2_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct nios2_unwind_cache *cache = @@ -1936,7 +1936,7 @@ nios2_frame_this_id (struct frame_info *this_frame, void **this_cache, /* Implement the prev_register function for the normal unwinder. */ static struct value * -nios2_frame_prev_register (struct frame_info *this_frame, void **this_cache, +nios2_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct nios2_unwind_cache *cache = @@ -1966,7 +1966,7 @@ nios2_frame_prev_register (struct frame_info *this_frame, void **this_cache, for the normal unwinder. */ static CORE_ADDR -nios2_frame_base_address (struct frame_info *this_frame, void **this_cache) +nios2_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct nios2_unwind_cache *info = nios2_frame_unwind_cache (this_frame, this_cache); @@ -2000,7 +2000,7 @@ static const struct frame_base nios2_frame_base = in the stub unwinder. */ static struct trad_frame_cache * -nios2_stub_frame_cache (struct frame_info *this_frame, void **this_cache) +nios2_stub_frame_cache (frame_info_ptr this_frame, void **this_cache) { CORE_ADDR pc; CORE_ADDR start_addr; @@ -2033,7 +2033,7 @@ nios2_stub_frame_cache (struct frame_info *this_frame, void **this_cache) /* Implement the this_id function for the stub unwinder. */ static void -nios2_stub_frame_this_id (struct frame_info *this_frame, void **this_cache, +nios2_stub_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct trad_frame_cache *this_trad_cache @@ -2045,7 +2045,7 @@ nios2_stub_frame_this_id (struct frame_info *this_frame, void **this_cache, /* Implement the prev_register function for the stub unwinder. */ static struct value * -nios2_stub_frame_prev_register (struct frame_info *this_frame, +nios2_stub_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct trad_frame_cache *this_trad_cache @@ -2061,7 +2061,7 @@ nios2_stub_frame_prev_register (struct frame_info *this_frame, static int nios2_stub_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, void **cache) + frame_info_ptr this_frame, void **cache) { gdb_byte dummy[4]; CORE_ADDR pc = get_frame_address_in_block (this_frame); @@ -2218,7 +2218,7 @@ nios2_software_single_step (struct regcache *regcache) /* Implement the get_longjump_target gdbarch method. */ static int -nios2_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) +nios2_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) { struct gdbarch *gdbarch = get_frame_arch (frame); nios2_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); diff --git a/gdb/nios2-tdep.h b/gdb/nios2-tdep.h index cbf2599f5c0..e9aa4129eb9 100644 --- a/gdb/nios2-tdep.h +++ b/gdb/nios2-tdep.h @@ -73,7 +73,7 @@ struct nios2_gdbarch_tdep : gdbarch_tdep_base { /* Assumes FRAME is stopped at a syscall (trap) instruction; returns the expected next PC. */ - CORE_ADDR (*syscall_next_pc) (struct frame_info *frame, + CORE_ADDR (*syscall_next_pc) (frame_info_ptr frame, const struct nios2_opcode *op) = nullptr; /* Returns true if PC points to a kernel helper function. */ diff --git a/gdb/objc-lang.c b/gdb/objc-lang.c index 4429d4a7d44..1a1d6215475 100644 --- a/gdb/objc-lang.c +++ b/gdb/objc-lang.c @@ -275,7 +275,7 @@ class objc_language : public language_defn /* See language.h. */ - CORE_ADDR skip_trampoline (struct frame_info *frame, + CORE_ADDR skip_trampoline (frame_info_ptr frame, CORE_ADDR stop_pc) const override { struct gdbarch *gdbarch = get_frame_arch (frame); @@ -1458,7 +1458,7 @@ find_implementation (struct gdbarch *gdbarch, static int resolve_msgsend (CORE_ADDR pc, CORE_ADDR *new_pc) { - struct frame_info *frame = get_current_frame (); + frame_info_ptr frame = get_current_frame (); struct gdbarch *gdbarch = get_frame_arch (frame); struct type *ptr_type = builtin_type (gdbarch)->builtin_func_ptr; @@ -1480,7 +1480,7 @@ resolve_msgsend (CORE_ADDR pc, CORE_ADDR *new_pc) static int resolve_msgsend_stret (CORE_ADDR pc, CORE_ADDR *new_pc) { - struct frame_info *frame = get_current_frame (); + frame_info_ptr frame = get_current_frame (); struct gdbarch *gdbarch = get_frame_arch (frame); struct type *ptr_type = builtin_type (gdbarch)->builtin_func_ptr; @@ -1502,7 +1502,7 @@ resolve_msgsend_stret (CORE_ADDR pc, CORE_ADDR *new_pc) static int resolve_msgsend_super (CORE_ADDR pc, CORE_ADDR *new_pc) { - struct frame_info *frame = get_current_frame (); + frame_info_ptr frame = get_current_frame (); struct gdbarch *gdbarch = get_frame_arch (frame); struct type *ptr_type = builtin_type (gdbarch)->builtin_func_ptr; @@ -1530,7 +1530,7 @@ resolve_msgsend_super (CORE_ADDR pc, CORE_ADDR *new_pc) static int resolve_msgsend_super_stret (CORE_ADDR pc, CORE_ADDR *new_pc) { - struct frame_info *frame = get_current_frame (); + frame_info_ptr frame = get_current_frame (); struct gdbarch *gdbarch = get_frame_arch (frame); struct type *ptr_type = builtin_type (gdbarch)->builtin_func_ptr; diff --git a/gdb/observable.h b/gdb/observable.h index 796bf2a43c6..1103c5c98a6 100644 --- a/gdb/observable.h +++ b/gdb/observable.h @@ -233,7 +233,7 @@ extern observable inferior_call_post; /* A register in the inferior has been modified by the gdb user. */ -extern observable +extern observable register_changed; /* The user-selected inferior, thread and/or frame has changed. The diff --git a/gdb/or1k-linux-tdep.c b/gdb/or1k-linux-tdep.c index 10f76680d8c..750b3d84288 100644 --- a/gdb/or1k-linux-tdep.c +++ b/gdb/or1k-linux-tdep.c @@ -62,7 +62,7 @@ or1k_linux_iterate_over_regset_sections (struct gdbarch *gdbarch, /* Signal trampoline support. */ static void or1k_linux_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func); @@ -116,7 +116,7 @@ static const struct tramp_frame or1k_linux_sigframe = { static void or1k_linux_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/or1k-tdep.c b/gdb/or1k-tdep.c index 360a7cb36c1..5f55c4e007e 100644 --- a/gdb/or1k-tdep.c +++ b/gdb/or1k-tdep.c @@ -379,7 +379,7 @@ or1k_delay_slot_p (struct gdbarch *gdbarch, CORE_ADDR pc) static int or1k_single_step_through_delay (struct gdbarch *gdbarch, - struct frame_info *this_frame) + frame_info_ptr this_frame) { ULONGEST val; CORE_ADDR ppc; @@ -559,7 +559,7 @@ or1k_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp) /* Implement the unwind_pc gdbarch method. */ static CORE_ADDR -or1k_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) +or1k_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) { CORE_ADDR pc; @@ -579,7 +579,7 @@ or1k_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) /* Implement the unwind_sp gdbarch method. */ static CORE_ADDR -or1k_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame) +or1k_unwind_sp (struct gdbarch *gdbarch, frame_info_ptr next_frame) { CORE_ADDR sp; @@ -890,7 +890,7 @@ or1k_push_dummy_call (struct gdbarch *gdbarch, struct value *function, Reportedly, this is only valid for frames less than 0x7fff in size. */ static struct trad_frame_cache * -or1k_frame_cache (struct frame_info *this_frame, void **prologue_cache) +or1k_frame_cache (frame_info_ptr this_frame, void **prologue_cache) { struct gdbarch *gdbarch; struct trad_frame_cache *info; @@ -1103,7 +1103,7 @@ or1k_frame_cache (struct frame_info *this_frame, void **prologue_cache) /* Implement the this_id function for the stub unwinder. */ static void -or1k_frame_this_id (struct frame_info *this_frame, +or1k_frame_this_id (frame_info_ptr this_frame, void **prologue_cache, struct frame_id *this_id) { struct trad_frame_cache *info = or1k_frame_cache (this_frame, @@ -1115,7 +1115,7 @@ or1k_frame_this_id (struct frame_info *this_frame, /* Implement the prev_register function for the stub unwinder. */ static struct value * -or1k_frame_prev_register (struct frame_info *this_frame, +or1k_frame_prev_register (frame_info_ptr this_frame, void **prologue_cache, int regnum) { struct trad_frame_cache *info = or1k_frame_cache (this_frame, diff --git a/gdb/ppc-fbsd-tdep.c b/gdb/ppc-fbsd-tdep.c index f5b482921a7..497d82810a7 100644 --- a/gdb/ppc-fbsd-tdep.c +++ b/gdb/ppc-fbsd-tdep.c @@ -150,7 +150,7 @@ static const int ppcfbsd_sigreturn_offset[] = { static int ppcfbsd_sigtramp_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -197,7 +197,7 @@ ppcfbsd_sigtramp_frame_sniffer (const struct frame_unwind *self, } static struct trad_frame_cache * -ppcfbsd_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache) +ppcfbsd_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); ppc_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -243,7 +243,7 @@ ppcfbsd_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache) } static void -ppcfbsd_sigtramp_frame_this_id (struct frame_info *this_frame, +ppcfbsd_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct trad_frame_cache *cache = @@ -253,7 +253,7 @@ ppcfbsd_sigtramp_frame_this_id (struct frame_info *this_frame, } static struct value * -ppcfbsd_sigtramp_frame_prev_register (struct frame_info *this_frame, +ppcfbsd_sigtramp_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct trad_frame_cache *cache = diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index beef4bd393c..bbb3e6fd1a6 100644 --- a/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c @@ -328,7 +328,7 @@ powerpc_linux_in_dynsym_resolve_code (CORE_ADDR pc) stub sequence. */ static CORE_ADDR -ppc_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc) +ppc_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) { unsigned int insnbuf[POWERPC32_PLT_CHECK_LEN]; struct gdbarch *gdbarch = get_frame_arch (frame); @@ -1159,7 +1159,7 @@ ppc_linux_iterate_over_regset_sections (struct gdbarch *gdbarch, } static void -ppc_linux_sigtramp_cache (struct frame_info *this_frame, +ppc_linux_sigtramp_cache (frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func, LONGEST offset, int bias) @@ -1231,7 +1231,7 @@ ppc_linux_sigtramp_cache (struct frame_info *this_frame, static void ppc32_linux_sigaction_cache_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { @@ -1243,7 +1243,7 @@ ppc32_linux_sigaction_cache_init (const struct tramp_frame *self, static void ppc64_linux_sigaction_cache_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { @@ -1255,7 +1255,7 @@ ppc64_linux_sigaction_cache_init (const struct tramp_frame *self, static void ppc32_linux_sighandler_cache_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { @@ -1267,7 +1267,7 @@ ppc32_linux_sighandler_cache_init (const struct tramp_frame *self, static void ppc64_linux_sighandler_cache_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/ppc-netbsd-tdep.c b/gdb/ppc-netbsd-tdep.c index d8dc494979a..e9fb660fee2 100644 --- a/gdb/ppc-netbsd-tdep.c +++ b/gdb/ppc-netbsd-tdep.c @@ -97,7 +97,7 @@ extern const struct tramp_frame ppcnbsd2_sigtramp; static void ppcnbsd_sigtramp_cache_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/ppc-obsd-tdep.c b/gdb/ppc-obsd-tdep.c index 90fb5e3a399..7436532d846 100644 --- a/gdb/ppc-obsd-tdep.c +++ b/gdb/ppc-obsd-tdep.c @@ -117,7 +117,7 @@ static const int ppcobsd_sigreturn_offset[] = { static int ppcobsd_sigtramp_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -158,7 +158,7 @@ ppcobsd_sigtramp_frame_sniffer (const struct frame_unwind *self, } static struct trad_frame_cache * -ppcobsd_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache) +ppcobsd_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); ppc_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -212,7 +212,7 @@ ppcobsd_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache) } static void -ppcobsd_sigtramp_frame_this_id (struct frame_info *this_frame, +ppcobsd_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct trad_frame_cache *cache = @@ -222,7 +222,7 @@ ppcobsd_sigtramp_frame_this_id (struct frame_info *this_frame, } static struct value * -ppcobsd_sigtramp_frame_prev_register (struct frame_info *this_frame, +ppcobsd_sigtramp_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct trad_frame_cache *cache = diff --git a/gdb/ppc-tdep.h b/gdb/ppc-tdep.h index 44f63b145c6..34b250849b9 100644 --- a/gdb/ppc-tdep.h +++ b/gdb/ppc-tdep.h @@ -23,7 +23,7 @@ #include "gdbarch.h" struct gdbarch; -struct frame_info; +class frame_info_ptr; struct value; struct regcache; struct type; @@ -420,7 +420,7 @@ struct ppc_insn_pattern int optional; /* If non-zero, this insn may be absent. */ }; -extern int ppc_insns_match_pattern (struct frame_info *frame, CORE_ADDR pc, +extern int ppc_insns_match_pattern (frame_info_ptr frame, CORE_ADDR pc, const struct ppc_insn_pattern *pattern, unsigned int *insns); extern CORE_ADDR ppc_insn_d_field (unsigned int insn); diff --git a/gdb/ppc64-tdep.c b/gdb/ppc64-tdep.c index 0437ca7e3f3..b3ae2329e7b 100644 --- a/gdb/ppc64-tdep.c +++ b/gdb/ppc64-tdep.c @@ -85,7 +85,7 @@ Return the function's entry point. */ static CORE_ADDR -ppc64_plt_entry_point (struct frame_info *frame, CORE_ADDR plt_off) +ppc64_plt_entry_point (frame_info_ptr frame, CORE_ADDR plt_off) { struct gdbarch *gdbarch = get_frame_arch (frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -108,7 +108,7 @@ ppc64_plt_entry_point (struct frame_info *frame, CORE_ADDR plt_off) } static CORE_ADDR -ppc64_plt_pcrel_entry_point (struct frame_info *frame, CORE_ADDR plt_off, +ppc64_plt_pcrel_entry_point (frame_info_ptr frame, CORE_ADDR plt_off, CORE_ADDR pc) { struct gdbarch *gdbarch = get_frame_arch (frame); @@ -546,7 +546,7 @@ static const struct ppc_insn_pattern ppc64_standard_linkage12[] = dynamic linker lazy symbol resolution stubs.) */ static CORE_ADDR -ppc64_standard_linkage1_target (struct frame_info *frame, unsigned int *insn) +ppc64_standard_linkage1_target (frame_info_ptr frame, unsigned int *insn) { CORE_ADDR plt_off = ((ppc_insn_d_field (insn[0]) << 16) + ppc_insn_ds_field (insn[2])); @@ -555,7 +555,7 @@ ppc64_standard_linkage1_target (struct frame_info *frame, unsigned int *insn) } static CORE_ADDR -ppc64_standard_linkage2_target (struct frame_info *frame, unsigned int *insn) +ppc64_standard_linkage2_target (frame_info_ptr frame, unsigned int *insn) { CORE_ADDR plt_off = ((ppc_insn_d_field (insn[1]) << 16) + ppc_insn_ds_field (insn[3])); @@ -564,7 +564,7 @@ ppc64_standard_linkage2_target (struct frame_info *frame, unsigned int *insn) } static CORE_ADDR -ppc64_standard_linkage3_target (struct frame_info *frame, unsigned int *insn) +ppc64_standard_linkage3_target (frame_info_ptr frame, unsigned int *insn) { CORE_ADDR plt_off = ppc_insn_ds_field (insn[1]); @@ -572,7 +572,7 @@ ppc64_standard_linkage3_target (struct frame_info *frame, unsigned int *insn) } static CORE_ADDR -ppc64_standard_linkage4_target (struct frame_info *frame, unsigned int *insn) +ppc64_standard_linkage4_target (frame_info_ptr frame, unsigned int *insn) { CORE_ADDR plt_off = ((ppc_insn_d_field (insn[1]) << 16) + ppc_insn_ds_field (insn[2])); @@ -581,7 +581,7 @@ ppc64_standard_linkage4_target (struct frame_info *frame, unsigned int *insn) } static CORE_ADDR -ppc64_pcrel_linkage1_target (struct frame_info *frame, unsigned int *insn, +ppc64_pcrel_linkage1_target (frame_info_ptr frame, unsigned int *insn, CORE_ADDR pc) { /* insn[0] is for the std instruction. */ @@ -591,7 +591,7 @@ ppc64_pcrel_linkage1_target (struct frame_info *frame, unsigned int *insn, } static CORE_ADDR -ppc64_pcrel_linkage2_target (struct frame_info *frame, unsigned int *insn, +ppc64_pcrel_linkage2_target (frame_info_ptr frame, unsigned int *insn, CORE_ADDR pc) { CORE_ADDR plt_off; @@ -611,7 +611,7 @@ ppc64_pcrel_linkage2_target (struct frame_info *frame, unsigned int *insn, check whether we are in the middle of a PLT stub. */ static CORE_ADDR -ppc64_skip_trampoline_code_1 (struct frame_info *frame, CORE_ADDR pc) +ppc64_skip_trampoline_code_1 (frame_info_ptr frame, CORE_ADDR pc) { #define MAX(a,b) ((a) > (b) ? (a) : (b)) unsigned int insns[MAX (MAX (MAX (ARRAY_SIZE (ppc64_standard_linkage1), @@ -707,7 +707,7 @@ ppc64_skip_trampoline_code_1 (struct frame_info *frame, CORE_ADDR pc) ppc_elfv2_skip_entrypoint. */ CORE_ADDR -ppc64_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc) +ppc64_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) { struct gdbarch *gdbarch = get_frame_arch (frame); diff --git a/gdb/ppc64-tdep.h b/gdb/ppc64-tdep.h index 943d5fbc194..f519fe63463 100644 --- a/gdb/ppc64-tdep.h +++ b/gdb/ppc64-tdep.h @@ -21,10 +21,10 @@ #define PPC64_TDEP_H struct gdbarch; -struct frame_info; +class frame_info_ptr; struct target_ops; -extern CORE_ADDR ppc64_skip_trampoline_code (struct frame_info *frame, +extern CORE_ADDR ppc64_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc); extern CORE_ADDR ppc64_convert_from_func_ptr_addr (struct gdbarch *gdbarch, diff --git a/gdb/printcmd.c b/gdb/printcmd.c index ce3dd3882d9..66b43b4c8e0 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -749,7 +749,7 @@ pc_prefix (CORE_ADDR addr) { if (has_stack_frames ()) { - struct frame_info *frame; + frame_info_ptr frame; CORE_ADDR pc; frame = get_selected_frame (NULL); @@ -2380,7 +2380,7 @@ clear_dangling_display_expressions (struct objfile *objfile) void print_variable_and_value (const char *name, struct symbol *var, - struct frame_info *frame, + frame_info_ptr frame, struct ui_file *stream, int indent) { diff --git a/gdb/probe.c b/gdb/probe.c index ad7af77f722..ec8845219fa 100644 --- a/gdb/probe.c +++ b/gdb/probe.c @@ -683,7 +683,7 @@ disable_probes_command (const char *arg, int from_tty) /* See comments in probe.h. */ struct value * -probe_safe_evaluate_at_pc (struct frame_info *frame, unsigned n) +probe_safe_evaluate_at_pc (frame_info_ptr frame, unsigned n) { struct bound_probe probe; unsigned n_args; @@ -801,7 +801,7 @@ static struct value * compute_probe_arg (struct gdbarch *arch, struct internalvar *ivar, void *data) { - struct frame_info *frame = get_selected_frame (_("No frame selected")); + frame_info_ptr frame = get_selected_frame (_("No frame selected")); CORE_ADDR pc = get_frame_pc (frame); int sel = (int) (uintptr_t) data; struct bound_probe pc_probe; diff --git a/gdb/probe.h b/gdb/probe.h index fe933154663..598f43a238e 100644 --- a/gdb/probe.h +++ b/gdb/probe.h @@ -143,7 +143,7 @@ class probe corresponding to it. The argument number is represented N. This function can throw an exception. */ virtual struct value *evaluate_argument (unsigned n, - struct frame_info *frame) = 0; + frame_info_ptr frame) = 0; /* Compile the Nth argument of the probe to an agent expression. The argument number is represented by N. */ @@ -301,7 +301,7 @@ extern struct cmd_list_element **info_probes_cmdlist_get (void); probe at that location, or if the probe does not have enough arguments, this returns NULL. */ -extern struct value *probe_safe_evaluate_at_pc (struct frame_info *frame, +extern struct value *probe_safe_evaluate_at_pc (frame_info_ptr frame, unsigned n); #endif /* !defined (PROBE_H) */ diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c index bc1411ecb3f..c0679a35f92 100644 --- a/gdb/record-btrace.c +++ b/gdb/record-btrace.c @@ -1605,7 +1605,7 @@ struct btrace_frame_cache struct thread_info *tp; /* The frame info. */ - struct frame_info *frame; + frame_info *frame; /* The branch trace function segment. */ const struct btrace_function *bfun; @@ -1642,13 +1642,13 @@ bfcache_eq (const void *arg1, const void *arg2) /* Create a new btrace frame cache. */ static struct btrace_frame_cache * -bfcache_new (struct frame_info *frame) +bfcache_new (frame_info_ptr frame) { struct btrace_frame_cache *cache; void **slot; cache = FRAME_OBSTACK_ZALLOC (struct btrace_frame_cache); - cache->frame = frame; + cache->frame = frame.get (); slot = htab_find_slot (bfcache, cache, INSERT); gdb_assert (*slot == NULL); @@ -1660,13 +1660,13 @@ bfcache_new (struct frame_info *frame) /* Extract the branch trace function from a branch trace frame. */ static const struct btrace_function * -btrace_get_frame_function (struct frame_info *frame) +btrace_get_frame_function (frame_info_ptr frame) { const struct btrace_frame_cache *cache; struct btrace_frame_cache pattern; void **slot; - pattern.frame = frame; + pattern.frame = frame.get (); slot = htab_find_slot (bfcache, &pattern, NO_INSERT); if (slot == NULL) @@ -1679,7 +1679,7 @@ btrace_get_frame_function (struct frame_info *frame) /* Implement stop_reason method for record_btrace_frame_unwind. */ static enum unwind_stop_reason -record_btrace_frame_unwind_stop_reason (struct frame_info *this_frame, +record_btrace_frame_unwind_stop_reason (frame_info_ptr this_frame, void **this_cache) { const struct btrace_frame_cache *cache; @@ -1698,7 +1698,7 @@ record_btrace_frame_unwind_stop_reason (struct frame_info *this_frame, /* Implement this_id method for record_btrace_frame_unwind. */ static void -record_btrace_frame_this_id (struct frame_info *this_frame, void **this_cache, +record_btrace_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { const struct btrace_frame_cache *cache; @@ -1728,7 +1728,7 @@ record_btrace_frame_this_id (struct frame_info *this_frame, void **this_cache, /* Implement prev_register method for record_btrace_frame_unwind. */ static struct value * -record_btrace_frame_prev_register (struct frame_info *this_frame, +record_btrace_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { @@ -1774,13 +1774,13 @@ record_btrace_frame_prev_register (struct frame_info *this_frame, static int record_btrace_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { const struct btrace_function *bfun; struct btrace_frame_cache *cache; struct thread_info *tp; - struct frame_info *next; + frame_info_ptr next; /* THIS_FRAME does not contain a reference to its thread. */ tp = inferior_thread (); @@ -1829,13 +1829,13 @@ record_btrace_frame_sniffer (const struct frame_unwind *self, static int record_btrace_tailcall_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { const struct btrace_function *bfun, *callee; struct btrace_frame_cache *cache; struct btrace_call_iterator it; - struct frame_info *next; + frame_info_ptr next; struct thread_info *tinfo; next = get_next_frame (this_frame); @@ -1868,7 +1868,7 @@ record_btrace_tailcall_frame_sniffer (const struct frame_unwind *self, } static void -record_btrace_frame_dealloc_cache (struct frame_info *self, void *this_cache) +record_btrace_frame_dealloc_cache (frame_info *self, void *this_cache) { struct btrace_frame_cache *cache; void **slot; diff --git a/gdb/riscv-fbsd-tdep.c b/gdb/riscv-fbsd-tdep.c index 7efd833a94b..5b66a9c582e 100644 --- a/gdb/riscv-fbsd-tdep.c +++ b/gdb/riscv-fbsd-tdep.c @@ -108,7 +108,7 @@ riscv_fbsd_iterate_over_regset_sections (struct gdbarch *gdbarch, static void riscv_fbsd_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/riscv-linux-tdep.c b/gdb/riscv-linux-tdep.c index 5bda2e5c824..e736e3b9b26 100644 --- a/gdb/riscv-linux-tdep.c +++ b/gdb/riscv-linux-tdep.c @@ -86,7 +86,7 @@ riscv_linux_iterate_over_regset_sections (struct gdbarch *gdbarch, /* Signal trampoline support. */ static void riscv_linux_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func); @@ -125,7 +125,7 @@ static const struct tramp_frame riscv_linux_sigframe = { static void riscv_linux_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { @@ -163,7 +163,7 @@ riscv_linux_sigframe_init (const struct tramp_frame *self, instruction to be executed. */ static CORE_ADDR -riscv_linux_syscall_next_pc (struct frame_info *frame) +riscv_linux_syscall_next_pc (frame_info_ptr frame) { const CORE_ADDR pc = get_frame_pc (frame); const ULONGEST a7 = get_frame_register_unsigned (frame, RISCV_A7_REGNUM); diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c index 2d41be96b20..7ce54ac2bef 100644 --- a/gdb/riscv-tdep.c +++ b/gdb/riscv-tdep.c @@ -134,7 +134,7 @@ static const reggroup *csr_reggroup = nullptr; /* Callback function for user_reg_add. */ static struct value * -value_of_riscv_user_reg (struct frame_info *frame, const void *baton) +value_of_riscv_user_reg (frame_info_ptr frame, const void *baton) { const int *reg_p = (const int *) baton; return value_of_register (*reg_p, frame); @@ -1028,7 +1028,7 @@ riscv_register_type (struct gdbarch *gdbarch, int regnum) static void riscv_print_one_register_info (struct gdbarch *gdbarch, struct ui_file *file, - struct frame_info *frame, + frame_info_ptr frame, int regnum) { const char *name = gdbarch_register_name (gdbarch, regnum); @@ -1356,7 +1356,7 @@ riscv_register_reggroup_p (struct gdbarch *gdbarch, int regnum, static void riscv_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, - struct frame_info *frame, + frame_info_ptr frame, int regnum, int print_all) { if (regnum != -1) @@ -3320,7 +3320,7 @@ riscv_frame_align (struct gdbarch *gdbarch, CORE_ADDR addr) unwinder. */ static struct riscv_unwind_cache * -riscv_frame_cache (struct frame_info *this_frame, void **this_cache) +riscv_frame_cache (frame_info_ptr this_frame, void **this_cache) { CORE_ADDR pc, start_addr; struct riscv_unwind_cache *cache; @@ -3381,7 +3381,7 @@ riscv_frame_cache (struct frame_info *this_frame, void **this_cache) /* Implement the this_id callback for RiscV frame unwinder. */ static void -riscv_frame_this_id (struct frame_info *this_frame, +riscv_frame_this_id (frame_info_ptr this_frame, void **prologue_cache, struct frame_id *this_id) { @@ -3402,7 +3402,7 @@ riscv_frame_this_id (struct frame_info *this_frame, /* Implement the prev_register callback for RiscV frame unwinder. */ static struct value * -riscv_frame_prev_register (struct frame_info *this_frame, +riscv_frame_prev_register (frame_info_ptr this_frame, void **prologue_cache, int regnum) { diff --git a/gdb/riscv-tdep.h b/gdb/riscv-tdep.h index 826a002ef92..95f1ea68c68 100644 --- a/gdb/riscv-tdep.h +++ b/gdb/riscv-tdep.h @@ -106,7 +106,7 @@ struct riscv_gdbarch_tdep : gdbarch_tdep_base /* Return the expected next PC assuming FRAME is stopped at a syscall instruction. */ - CORE_ADDR (*syscall_next_pc) (struct frame_info *frame) = nullptr; + CORE_ADDR (*syscall_next_pc) (frame_info_ptr frame) = nullptr; }; diff --git a/gdb/rl78-tdep.c b/gdb/rl78-tdep.c index be668bfa6fe..0b27a311203 100644 --- a/gdb/rl78-tdep.c +++ b/gdb/rl78-tdep.c @@ -1078,7 +1078,7 @@ rl78_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) /* Implement the "unwind_pc" gdbarch method. */ static CORE_ADDR -rl78_unwind_pc (struct gdbarch *arch, struct frame_info *next_frame) +rl78_unwind_pc (struct gdbarch *arch, frame_info_ptr next_frame) { return rl78_addr_bits_remove (arch, frame_unwind_register_unsigned (next_frame, @@ -1091,7 +1091,7 @@ rl78_unwind_pc (struct gdbarch *arch, struct frame_info *next_frame) return that struct as the value of this function. */ static struct rl78_prologue * -rl78_analyze_frame_prologue (struct frame_info *this_frame, +rl78_analyze_frame_prologue (frame_info_ptr this_frame, void **this_prologue_cache) { if (!*this_prologue_cache) @@ -1118,7 +1118,7 @@ rl78_analyze_frame_prologue (struct frame_info *this_frame, /* Given a frame and a prologue cache, return this frame's base. */ static CORE_ADDR -rl78_frame_base (struct frame_info *this_frame, void **this_prologue_cache) +rl78_frame_base (frame_info_ptr this_frame, void **this_prologue_cache) { struct rl78_prologue *p = rl78_analyze_frame_prologue (this_frame, this_prologue_cache); @@ -1130,7 +1130,7 @@ rl78_frame_base (struct frame_info *this_frame, void **this_prologue_cache) /* Implement the "frame_this_id" method for unwinding frames. */ static void -rl78_this_id (struct frame_info *this_frame, +rl78_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { *this_id = frame_id_build (rl78_frame_base (this_frame, @@ -1141,7 +1141,7 @@ rl78_this_id (struct frame_info *this_frame, /* Implement the "frame_prev_register" method for unwinding frames. */ static struct value * -rl78_prev_register (struct frame_info *this_frame, +rl78_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct rl78_prologue *p @@ -1315,7 +1315,7 @@ rl78_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp) /* Implement the "dummy_id" gdbarch method. */ static struct frame_id -rl78_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) +rl78_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) { return frame_id_build (rl78_make_data_address diff --git a/gdb/rs6000-aix-tdep.c b/gdb/rs6000-aix-tdep.c index 41384993c26..d322e83263f 100644 --- a/gdb/rs6000-aix-tdep.c +++ b/gdb/rs6000-aix-tdep.c @@ -69,7 +69,7 @@ #define AIX_TEXT_SEGMENT_BASE 0x10000000 static struct trad_frame_cache * -aix_sighandle_frame_cache (struct frame_info *this_frame, +aix_sighandle_frame_cache (frame_info_ptr this_frame, void **this_cache) { LONGEST backchain; @@ -125,7 +125,7 @@ aix_sighandle_frame_cache (struct frame_info *this_frame, } static void -aix_sighandle_frame_this_id (struct frame_info *this_frame, +aix_sighandle_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) { @@ -135,7 +135,7 @@ aix_sighandle_frame_this_id (struct frame_info *this_frame, } static struct value * -aix_sighandle_frame_prev_register (struct frame_info *this_frame, +aix_sighandle_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct trad_frame_cache *this_trad_cache @@ -145,7 +145,7 @@ aix_sighandle_frame_prev_register (struct frame_info *this_frame, static int aix_sighandle_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { CORE_ADDR pc = get_frame_pc (this_frame); @@ -744,7 +744,7 @@ branch_dest (struct regcache *regcache, int opcode, int instr, execution will return to the saved PC in the frame. */ if (dest < AIX_TEXT_SEGMENT_BASE) { - struct frame_info *frame = get_current_frame (); + frame_info_ptr frame = get_current_frame (); dest = read_memory_unsigned_integer (get_frame_base (frame) + SIG_FRAME_PC_OFFSET, diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index cccc8872da9..decd5628899 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -743,7 +743,7 @@ insn_changes_sp_or_jumps (unsigned long insn) limit for the size of an epilogue. */ static int -rs6000_in_function_epilogue_frame_p (struct frame_info *curfrm, +rs6000_in_function_epilogue_frame_p (frame_info_ptr curfrm, struct gdbarch *gdbarch, CORE_ADDR pc) { ppc_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -816,7 +816,7 @@ rs6000_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc) /* Get the ith function argument for the current function. */ static CORE_ADDR -rs6000_fetch_pointer_argument (struct frame_info *frame, int argi, +rs6000_fetch_pointer_argument (frame_info_ptr frame, int argi, struct type *type) { return get_frame_register_unsigned (frame, 3 + argi); @@ -2307,7 +2307,7 @@ rs6000_in_solib_return_trampoline (struct gdbarch *gdbarch, code that should be skipped. */ static CORE_ADDR -rs6000_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc) +rs6000_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) { struct gdbarch *gdbarch = get_frame_arch (frame); ppc_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -2670,7 +2670,7 @@ rs6000_convert_register_p (struct gdbarch *gdbarch, int regnum, } static int -rs6000_register_to_value (struct frame_info *frame, +rs6000_register_to_value (frame_info_ptr frame, int regnum, struct type *type, gdb_byte *to, @@ -2695,7 +2695,7 @@ rs6000_register_to_value (struct frame_info *frame, } static void -rs6000_value_to_register (struct frame_info *frame, +rs6000_value_to_register (frame_info_ptr frame, int regnum, struct type *type, const gdb_byte *from) @@ -3557,7 +3557,7 @@ struct rs6000_frame_cache }; static struct rs6000_frame_cache * -rs6000_frame_cache (struct frame_info *this_frame, void **this_cache) +rs6000_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct rs6000_frame_cache *cache; struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -3750,7 +3750,7 @@ rs6000_frame_cache (struct frame_info *this_frame, void **this_cache) } static void -rs6000_frame_this_id (struct frame_info *this_frame, void **this_cache, +rs6000_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct rs6000_frame_cache *info = rs6000_frame_cache (this_frame, @@ -3770,7 +3770,7 @@ rs6000_frame_this_id (struct frame_info *this_frame, void **this_cache, } static struct value * -rs6000_frame_prev_register (struct frame_info *this_frame, +rs6000_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct rs6000_frame_cache *info = rs6000_frame_cache (this_frame, @@ -3793,7 +3793,7 @@ static const struct frame_unwind rs6000_frame_unwind = SP is restored and prev-PC is stored in LR. */ static struct rs6000_frame_cache * -rs6000_epilogue_frame_cache (struct frame_info *this_frame, void **this_cache) +rs6000_epilogue_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct rs6000_frame_cache *cache; struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -3833,7 +3833,7 @@ rs6000_epilogue_frame_cache (struct frame_info *this_frame, void **this_cache) Return the frame ID of an epilogue frame. */ static void -rs6000_epilogue_frame_this_id (struct frame_info *this_frame, +rs6000_epilogue_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { CORE_ADDR pc; @@ -3851,7 +3851,7 @@ rs6000_epilogue_frame_this_id (struct frame_info *this_frame, Return the register value of REGNUM in previous frame. */ static struct value * -rs6000_epilogue_frame_prev_register (struct frame_info *this_frame, +rs6000_epilogue_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct rs6000_frame_cache *info = @@ -3864,7 +3864,7 @@ rs6000_epilogue_frame_prev_register (struct frame_info *this_frame, static int rs6000_epilogue_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { if (frame_relative_level (this_frame) == 0) @@ -3890,7 +3890,7 @@ static const struct frame_unwind rs6000_epilogue_frame_unwind = static CORE_ADDR -rs6000_frame_base_address (struct frame_info *this_frame, void **this_cache) +rs6000_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct rs6000_frame_cache *info = rs6000_frame_cache (this_frame, this_cache); @@ -3905,7 +3905,7 @@ static const struct frame_base rs6000_frame_base = { }; static const struct frame_base * -rs6000_frame_base_sniffer (struct frame_info *this_frame) +rs6000_frame_base_sniffer (frame_info_ptr this_frame) { return &rs6000_frame_base; } @@ -3916,7 +3916,7 @@ rs6000_frame_base_sniffer (struct frame_info *this_frame) static void ppc_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, struct dwarf2_frame_state_reg *reg, - struct frame_info *this_frame) + frame_info_ptr this_frame) { ppc_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -8510,7 +8510,7 @@ show_powerpc_exact_watchpoints (struct ui_file *file, int from_tty, /* Read a PPC instruction from memory. */ static unsigned int -read_insn (struct frame_info *frame, CORE_ADDR pc) +read_insn (frame_info_ptr frame, CORE_ADDR pc) { struct gdbarch *gdbarch = get_frame_arch (frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -8532,7 +8532,7 @@ read_insn (struct frame_info *frame, CORE_ADDR pc) necessarily the i'th instruction in memory. */ int -ppc_insns_match_pattern (struct frame_info *frame, CORE_ADDR pc, +ppc_insns_match_pattern (frame_info_ptr frame, CORE_ADDR pc, const struct ppc_insn_pattern *pattern, unsigned int *insns) { diff --git a/gdb/rx-tdep.c b/gdb/rx-tdep.c index 989d90096bd..7367325c8d3 100644 --- a/gdb/rx-tdep.c +++ b/gdb/rx-tdep.c @@ -382,7 +382,7 @@ rx_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) return that struct as the value of this function. */ static struct rx_prologue * -rx_analyze_frame_prologue (struct frame_info *this_frame, +rx_analyze_frame_prologue (frame_info_ptr this_frame, enum rx_frame_type frame_type, void **this_prologue_cache) { @@ -411,7 +411,7 @@ rx_analyze_frame_prologue (struct frame_info *this_frame, instruction. */ static enum rx_frame_type -rx_frame_type (struct frame_info *this_frame, void **this_cache) +rx_frame_type (frame_info_ptr this_frame, void **this_cache) { const char *name; CORE_ADDR pc, start_pc, lim_pc; @@ -465,7 +465,7 @@ rx_frame_type (struct frame_info *this_frame, void **this_cache) base. */ static CORE_ADDR -rx_frame_base (struct frame_info *this_frame, void **this_cache) +rx_frame_base (frame_info_ptr this_frame, void **this_cache) { enum rx_frame_type frame_type = rx_frame_type (this_frame, this_cache); struct rx_prologue *p @@ -492,7 +492,7 @@ rx_frame_base (struct frame_info *this_frame, void **this_cache) /* Implement the "frame_this_id" method for unwinding frames. */ static void -rx_frame_this_id (struct frame_info *this_frame, void **this_cache, +rx_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { *this_id = frame_id_build (rx_frame_base (this_frame, this_cache), @@ -502,7 +502,7 @@ rx_frame_this_id (struct frame_info *this_frame, void **this_cache, /* Implement the "frame_prev_register" method for unwinding frames. */ static struct value * -rx_frame_prev_register (struct frame_info *this_frame, void **this_cache, +rx_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { enum rx_frame_type frame_type = rx_frame_type (this_frame, this_cache); @@ -576,7 +576,7 @@ exception_frame_p (enum rx_frame_type frame_type) static int rx_frame_sniffer_common (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache, int (*sniff_p)(enum rx_frame_type) ) { @@ -609,7 +609,7 @@ rx_frame_sniffer_common (const struct frame_unwind *self, static int rx_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { return rx_frame_sniffer_common (self, this_frame, this_cache, @@ -620,7 +620,7 @@ rx_frame_sniffer (const struct frame_unwind *self, static int rx_exception_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { return rx_frame_sniffer_common (self, this_frame, this_cache, diff --git a/gdb/tic6x-linux-tdep.c b/gdb/tic6x-linux-tdep.c index b2422d1ccc0..0452da1eb21 100644 --- a/gdb/tic6x-linux-tdep.c +++ b/gdb/tic6x-linux-tdep.c @@ -78,7 +78,7 @@ tic6x_register_sigcontext_offset (unsigned int regnum, struct gdbarch *gdbarch) static void tic6x_linux_rt_sigreturn_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { @@ -148,7 +148,7 @@ static struct tramp_frame tic6x_linux_rt_sigreturn_tramp_frame = instruction to be executed. */ static CORE_ADDR -tic6x_linux_syscall_next_pc (struct frame_info *frame) +tic6x_linux_syscall_next_pc (frame_info_ptr frame) { ULONGEST syscall_number = get_frame_register_unsigned (frame, TIC6X_B0_REGNUM); diff --git a/gdb/tic6x-tdep.c b/gdb/tic6x-tdep.c index b7efcf18576..b6798f2b0a1 100644 --- a/gdb/tic6x-tdep.c +++ b/gdb/tic6x-tdep.c @@ -145,7 +145,7 @@ static CORE_ADDR tic6x_analyze_prologue (struct gdbarch *gdbarch, const CORE_ADDR start_pc, const CORE_ADDR current_pc, struct tic6x_unwind_cache *cache, - struct frame_info *this_frame) + frame_info_ptr this_frame) { unsigned int src_reg, base_reg, dst_reg; int i; @@ -343,7 +343,7 @@ tic6x_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size) static void tic6x_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, struct dwarf2_frame_state_reg *reg, - struct frame_info *this_frame) + frame_info_ptr this_frame) { /* Mark the PC as the destination for the return address. */ if (regnum == gdbarch_pc_regnum (gdbarch)) @@ -368,7 +368,7 @@ tic6x_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, /* This is the implementation of gdbarch method unwind_pc. */ static CORE_ADDR -tic6x_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) +tic6x_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) { gdb_byte buf[8]; @@ -379,7 +379,7 @@ tic6x_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) /* Frame base handling. */ static struct tic6x_unwind_cache* -tic6x_frame_unwind_cache (struct frame_info *this_frame, +tic6x_frame_unwind_cache (frame_info_ptr this_frame, void **this_prologue_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -407,7 +407,7 @@ tic6x_frame_unwind_cache (struct frame_info *this_frame, } static void -tic6x_frame_this_id (struct frame_info *this_frame, void **this_cache, +tic6x_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct tic6x_unwind_cache *cache = @@ -421,7 +421,7 @@ tic6x_frame_this_id (struct frame_info *this_frame, void **this_cache, } static struct value * -tic6x_frame_prev_register (struct frame_info *this_frame, void **this_cache, +tic6x_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct tic6x_unwind_cache *cache = @@ -448,7 +448,7 @@ tic6x_frame_prev_register (struct frame_info *this_frame, void **this_cache, } static CORE_ADDR -tic6x_frame_base_address (struct frame_info *this_frame, void **this_cache) +tic6x_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct tic6x_unwind_cache *info = tic6x_frame_unwind_cache (this_frame, this_cache); @@ -476,7 +476,7 @@ static const struct frame_base tic6x_frame_base = static struct tic6x_unwind_cache * -tic6x_make_stub_cache (struct frame_info *this_frame) +tic6x_make_stub_cache (frame_info_ptr this_frame) { struct tic6x_unwind_cache *cache; @@ -492,7 +492,7 @@ tic6x_make_stub_cache (struct frame_info *this_frame) } static void -tic6x_stub_this_id (struct frame_info *this_frame, void **this_cache, +tic6x_stub_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct tic6x_unwind_cache *cache; @@ -506,7 +506,7 @@ tic6x_stub_this_id (struct frame_info *this_frame, void **this_cache, static int tic6x_stub_unwind_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_prologue_cache) { CORE_ADDR addr_in_block; @@ -1108,7 +1108,7 @@ tic6x_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc) /* This is the implementation of gdbarch method get_longjmp_target. */ static int -tic6x_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) +tic6x_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) { struct gdbarch *gdbarch = get_frame_arch (frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/tic6x-tdep.h b/gdb/tic6x-tdep.h index ebfd6e686fa..d50715e24da 100644 --- a/gdb/tic6x-tdep.h +++ b/gdb/tic6x-tdep.h @@ -50,7 +50,7 @@ struct tic6x_gdbarch_tdep : gdbarch_tdep_base { /* Return the expected next PC if FRAME is stopped at a syscall instruction. */ - CORE_ADDR (*syscall_next_pc) (struct frame_info *frame) = nullptr; + CORE_ADDR (*syscall_next_pc) (frame_info_ptr frame) = nullptr; const gdb_byte *breakpoint = nullptr; /* Breakpoint instruction. */ diff --git a/gdb/tilegx-linux-tdep.c b/gdb/tilegx-linux-tdep.c index 0bb2366925a..ef38436801f 100644 --- a/gdb/tilegx-linux-tdep.c +++ b/gdb/tilegx-linux-tdep.c @@ -34,7 +34,7 @@ static void tilegx_linux_sigframe_init (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func) { diff --git a/gdb/tilegx-tdep.c b/gdb/tilegx-tdep.c index 9668aa80b53..c66df75cb54 100644 --- a/gdb/tilegx-tdep.c +++ b/gdb/tilegx-tdep.c @@ -366,7 +366,7 @@ static CORE_ADDR tilegx_analyze_prologue (struct gdbarch* gdbarch, CORE_ADDR start_addr, CORE_ADDR end_addr, struct tilegx_frame_cache *cache, - struct frame_info *next_frame) + frame_info_ptr next_frame) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR next_addr; @@ -778,7 +778,7 @@ tilegx_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc) /* This is the implementation of gdbarch method get_longjmp_target. */ static int -tilegx_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) +tilegx_get_longjmp_target (frame_info_ptr frame, CORE_ADDR *pc) { struct gdbarch *gdbarch = get_frame_arch (frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -837,7 +837,7 @@ typedef BP_MANIPULATION (tilegx_break_insn) tilegx_breakpoint; /* Normal frames. */ static struct tilegx_frame_cache * -tilegx_frame_cache (struct frame_info *this_frame, void **this_cache) +tilegx_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); struct tilegx_frame_cache *cache; @@ -868,7 +868,7 @@ tilegx_frame_cache (struct frame_info *this_frame, void **this_cache) /* Retrieve the value of REGNUM in FRAME. */ static struct value* -tilegx_frame_prev_register (struct frame_info *this_frame, +tilegx_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { @@ -882,7 +882,7 @@ tilegx_frame_prev_register (struct frame_info *this_frame, /* Build frame id. */ static void -tilegx_frame_this_id (struct frame_info *this_frame, void **this_cache, +tilegx_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct tilegx_frame_cache *info = @@ -896,7 +896,7 @@ tilegx_frame_this_id (struct frame_info *this_frame, void **this_cache, } static CORE_ADDR -tilegx_frame_base_address (struct frame_info *this_frame, void **this_cache) +tilegx_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct tilegx_frame_cache *cache = tilegx_frame_cache (this_frame, this_cache); diff --git a/gdb/top.c b/gdb/top.c index 453fa236db1..c54b6cbda0c 100644 --- a/gdb/top.c +++ b/gdb/top.c @@ -498,7 +498,7 @@ void check_frame_language_change (void) { static int warned = 0; - struct frame_info *frame; + frame_info_ptr frame; /* First make sure that a new frame has been selected, in case the command or the hooks changed the program state. */ diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index 98f1563a89a..76c077a018a 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -206,7 +206,7 @@ set_tracepoint_num (int num) the traceframe context (line, function, file). */ static void -set_traceframe_context (struct frame_info *trace_frame) +set_traceframe_context (frame_info_ptr trace_frame) { CORE_ADDR trace_pc; struct symbol *traceframe_fun; diff --git a/gdb/trad-frame.c b/gdb/trad-frame.c index 9d4f23a851f..82d910942e6 100644 --- a/gdb/trad-frame.c +++ b/gdb/trad-frame.c @@ -29,14 +29,14 @@ struct trad_frame_cache { - struct frame_info *this_frame; + frame_info_ptr this_frame; CORE_ADDR this_base; trad_frame_saved_reg *prev_regs; struct frame_id this_id; }; struct trad_frame_cache * -trad_frame_cache_zalloc (struct frame_info *this_frame) +trad_frame_cache_zalloc (frame_info_ptr this_frame) { struct trad_frame_cache *this_trad_cache; @@ -83,7 +83,7 @@ trad_frame_alloc_saved_regs (struct gdbarch *gdbarch) for all potential instruction sequences). */ trad_frame_saved_reg * -trad_frame_alloc_saved_regs (struct frame_info *this_frame) +trad_frame_alloc_saved_regs (frame_info_ptr this_frame) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -184,7 +184,7 @@ trad_frame_set_reg_value_bytes (struct trad_frame_cache *this_trad_cache, struct value * -trad_frame_get_prev_register (struct frame_info *this_frame, +trad_frame_get_prev_register (frame_info_ptr this_frame, trad_frame_saved_reg this_saved_regs[], int regnum) { @@ -209,7 +209,7 @@ trad_frame_get_prev_register (struct frame_info *this_frame, struct value * trad_frame_get_register (struct trad_frame_cache *this_trad_cache, - struct frame_info *this_frame, + frame_info_ptr this_frame, int regnum) { return trad_frame_get_prev_register (this_frame, this_trad_cache->prev_regs, diff --git a/gdb/trad-frame.h b/gdb/trad-frame.h index 09a8133d362..190f4098b5d 100644 --- a/gdb/trad-frame.h +++ b/gdb/trad-frame.h @@ -22,7 +22,7 @@ #include "frame.h" /* For "struct frame_id". */ -struct frame_info; +class frame_info_ptr; struct regcache_map_entry; struct trad_frame_cache; @@ -31,7 +31,7 @@ struct trad_frame_cache; The entire cache is populated in a single pass and then generic routines are used to extract the various cache values. */ -struct trad_frame_cache *trad_frame_cache_zalloc (struct frame_info *); +struct trad_frame_cache *trad_frame_cache_zalloc (frame_info_ptr ); /* This frame's ID. */ void trad_frame_set_id (struct trad_frame_cache *this_trad_cache, @@ -59,7 +59,7 @@ void trad_frame_set_reg_value_bytes (struct trad_frame_cache *this_trad_cache, gdb::array_view bytes); struct value *trad_frame_get_register (struct trad_frame_cache *this_trad_cache, - struct frame_info *this_frame, + frame_info_ptr this_frame, int regnum); /* Describes the kind of encoding a stored register has. */ @@ -194,12 +194,12 @@ void trad_frame_reset_saved_regs (struct gdbarch *gdbarch, trad_frame_saved_reg *regs); /* Return a freshly allocated (and initialized) trad_frame array. */ -trad_frame_saved_reg *trad_frame_alloc_saved_regs (struct frame_info *); +trad_frame_saved_reg *trad_frame_alloc_saved_regs (frame_info_ptr ); trad_frame_saved_reg *trad_frame_alloc_saved_regs (struct gdbarch *); /* Given the trad_frame info, return the location of the specified register. */ -struct value *trad_frame_get_prev_register (struct frame_info *this_frame, +struct value *trad_frame_get_prev_register (frame_info_ptr this_frame, trad_frame_saved_reg this_saved_regs[], int regnum); diff --git a/gdb/tramp-frame.c b/gdb/tramp-frame.c index 04f81804624..f5926dc1ee7 100644 --- a/gdb/tramp-frame.c +++ b/gdb/tramp-frame.c @@ -40,7 +40,7 @@ struct tramp_frame_cache }; static struct trad_frame_cache * -tramp_frame_cache (struct frame_info *this_frame, +tramp_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct tramp_frame_cache *tramp_cache @@ -58,7 +58,7 @@ tramp_frame_cache (struct frame_info *this_frame, } static void -tramp_frame_this_id (struct frame_info *this_frame, +tramp_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { @@ -69,7 +69,7 @@ tramp_frame_this_id (struct frame_info *this_frame, } static struct value * -tramp_frame_prev_register (struct frame_info *this_frame, +tramp_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int prev_regnum) { @@ -81,7 +81,7 @@ tramp_frame_prev_register (struct frame_info *this_frame, static CORE_ADDR tramp_frame_start (const struct tramp_frame *tramp, - struct frame_info *this_frame, CORE_ADDR pc) + frame_info_ptr this_frame, CORE_ADDR pc) { struct gdbarch *gdbarch = get_frame_arch (this_frame); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -121,7 +121,7 @@ tramp_frame_start (const struct tramp_frame *tramp, static int tramp_frame_sniffer (const struct frame_unwind *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, void **this_cache) { const struct tramp_frame *tramp = self->unwind_data->tramp_frame; diff --git a/gdb/tramp-frame.h b/gdb/tramp-frame.h index 94af6f2db0e..4e7dcb68eaa 100644 --- a/gdb/tramp-frame.h +++ b/gdb/tramp-frame.h @@ -23,7 +23,7 @@ #include "frame.h" /* For "enum frame_type". */ struct trad_frame; -struct frame_info; +class frame_info_ptr; struct trad_frame_cache; /* A trampoline consists of a small sequence of instructions placed at @@ -66,7 +66,7 @@ struct tramp_frame /* Initialize a trad-frame cache corresponding to the tramp-frame. FUNC is the address of the instruction TRAMP[0] in memory. */ void (*init) (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func); /* Return non-zero if the tramp-frame is valid for the PC requested. @@ -74,7 +74,7 @@ struct tramp_frame sequence against if required. If this is NULL, then the tramp-frame is valid for any PC. */ int (*validate) (const struct tramp_frame *self, - struct frame_info *this_frame, + frame_info_ptr this_frame, CORE_ADDR *pc); }; diff --git a/gdb/user-regs.c b/gdb/user-regs.c index 05bb04ef2ed..e3b4f78d6a0 100644 --- a/gdb/user-regs.c +++ b/gdb/user-regs.c @@ -44,7 +44,7 @@ struct user_reg /* Avoid the "read" symbol name as it conflicts with a preprocessor symbol in the NetBSD header for Stack Smashing Protection, that wraps the read(2) syscall. */ - struct value *(*xread) (struct frame_info * frame, const void *baton); + struct value *(*xread) (frame_info_ptr frame, const void *baton); const void *baton; struct user_reg *next; }; @@ -207,7 +207,7 @@ user_reg_map_regnum_to_name (struct gdbarch *gdbarch, int regnum) } struct value * -value_of_user_reg (int regnum, struct frame_info *frame) +value_of_user_reg (int regnum, frame_info_ptr frame) { struct gdbarch *gdbarch = get_frame_arch (frame); int maxregs = gdbarch_num_cooked_regs (gdbarch); diff --git a/gdb/user-regs.h b/gdb/user-regs.h index 2b393ab917a..10eaf59e197 100644 --- a/gdb/user-regs.h +++ b/gdb/user-regs.h @@ -38,7 +38,7 @@ of assumed to be read-only. Should it, for instance, return a register descriptor that contains all the relevant access methods. */ -struct frame_info; +class frame_info_ptr; struct gdbarch; /* Given an architecture, map a user visible register name onto its @@ -56,9 +56,9 @@ extern const char *user_reg_map_regnum_to_name (struct gdbarch *gdbarch, bytes as, at the time the register is being added, the type needed to describe the register has not bee initialized. */ -typedef struct value *(user_reg_read_ftype) (struct frame_info *frame, +typedef struct value *(user_reg_read_ftype) (frame_info_ptr frame, const void *baton); -extern struct value *value_of_user_reg (int regnum, struct frame_info *frame); +extern struct value *value_of_user_reg (int regnum, frame_info_ptr frame); /* Add a builtin register (present in all architectures). */ extern void user_reg_add_builtin (const char *name, diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c index c0fe5dab1cb..4296902305e 100644 --- a/gdb/xstormy16-tdep.c +++ b/gdb/xstormy16-tdep.c @@ -311,7 +311,7 @@ static CORE_ADDR xstormy16_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR start_addr, CORE_ADDR end_addr, struct xstormy16_frame_cache *cache, - struct frame_info *this_frame) + frame_info_ptr this_frame) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR next_addr; @@ -588,7 +588,7 @@ xstormy16_find_jmp_table_entry (struct gdbarch *gdbarch, CORE_ADDR faddr) } static CORE_ADDR -xstormy16_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc) +xstormy16_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) { struct gdbarch *gdbarch = get_frame_arch (frame); CORE_ADDR tmp = xstormy16_resolve_jmp_table_entry (gdbarch, pc); @@ -660,7 +660,7 @@ xstormy16_alloc_frame_cache (void) } static struct xstormy16_frame_cache * -xstormy16_frame_cache (struct frame_info *this_frame, void **this_cache) +xstormy16_frame_cache (frame_info_ptr this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); struct xstormy16_frame_cache *cache; @@ -696,7 +696,7 @@ xstormy16_frame_cache (struct frame_info *this_frame, void **this_cache) } static struct value * -xstormy16_frame_prev_register (struct frame_info *this_frame, +xstormy16_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { struct xstormy16_frame_cache *cache = xstormy16_frame_cache (this_frame, @@ -714,7 +714,7 @@ xstormy16_frame_prev_register (struct frame_info *this_frame, } static void -xstormy16_frame_this_id (struct frame_info *this_frame, void **this_cache, +xstormy16_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct xstormy16_frame_cache *cache = xstormy16_frame_cache (this_frame, @@ -728,7 +728,7 @@ xstormy16_frame_this_id (struct frame_info *this_frame, void **this_cache, } static CORE_ADDR -xstormy16_frame_base_address (struct frame_info *this_frame, void **this_cache) +xstormy16_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct xstormy16_frame_cache *cache = xstormy16_frame_cache (this_frame, this_cache); diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c index f881870e244..08675973ab7 100644 --- a/gdb/xtensa-tdep.c +++ b/gdb/xtensa-tdep.c @@ -1029,13 +1029,13 @@ xtensa_frame_align (struct gdbarch *gdbarch, CORE_ADDR address) static CORE_ADDR -xtensa_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) +xtensa_unwind_pc (struct gdbarch *gdbarch, frame_info_ptr next_frame) { gdb_byte buf[8]; CORE_ADDR pc; DEBUGTRACE ("xtensa_unwind_pc (next_frame = %s)\n", - host_address_to_string (next_frame)); + host_address_to_string (next_frame.get ())); frame_unwind_register (next_frame, gdbarch_pc_regnum (gdbarch), buf); pc = extract_typed_address (buf, builtin_type (gdbarch)->builtin_func_ptr); @@ -1047,7 +1047,7 @@ xtensa_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) static struct frame_id -xtensa_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) +xtensa_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) { CORE_ADDR pc, fp; xtensa_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -1220,16 +1220,16 @@ xtensa_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR current_pc) cache->prev_sp = SP of the previous frame. */ static void -call0_frame_cache (struct frame_info *this_frame, +call0_frame_cache (frame_info_ptr this_frame, xtensa_frame_cache_t *cache, CORE_ADDR pc); static void -xtensa_window_interrupt_frame_cache (struct frame_info *this_frame, +xtensa_window_interrupt_frame_cache (frame_info_ptr this_frame, xtensa_frame_cache_t *cache, CORE_ADDR pc); static struct xtensa_frame_cache * -xtensa_frame_cache (struct frame_info *this_frame, void **this_cache) +xtensa_frame_cache (frame_info_ptr this_frame, void **this_cache) { xtensa_frame_cache_t *cache; CORE_ADDR ra, wb, ws, pc, sp, ps; @@ -1395,7 +1395,7 @@ This message will not be repeated in this session.\n")); static void -xtensa_frame_this_id (struct frame_info *this_frame, +xtensa_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { @@ -1409,7 +1409,7 @@ xtensa_frame_this_id (struct frame_info *this_frame, } static struct value * -xtensa_frame_prev_register (struct frame_info *this_frame, +xtensa_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) { @@ -1512,7 +1512,7 @@ xtensa_unwind = }; static CORE_ADDR -xtensa_frame_base_address (struct frame_info *this_frame, void **this_cache) +xtensa_frame_base_address (frame_info_ptr this_frame, void **this_cache) { struct xtensa_frame_cache *cache = xtensa_frame_cache (this_frame, this_cache); @@ -2548,7 +2548,7 @@ call0_analyze_prologue (struct gdbarch *gdbarch, /* Initialize frame cache for the current frame in CALL0 ABI. */ static void -call0_frame_cache (struct frame_info *this_frame, +call0_frame_cache (frame_info_ptr this_frame, xtensa_frame_cache_t *cache, CORE_ADDR pc) { struct gdbarch *gdbarch = get_frame_arch (this_frame); @@ -2897,7 +2897,7 @@ execute_code (struct gdbarch *gdbarch, CORE_ADDR current_pc, CORE_ADDR wb) /* Handle Window Overflow / Underflow exception frames. */ static void -xtensa_window_interrupt_frame_cache (struct frame_info *this_frame, +xtensa_window_interrupt_frame_cache (frame_info_ptr this_frame, xtensa_frame_cache_t *cache, CORE_ADDR pc) { diff --git a/gdb/z80-tdep.c b/gdb/z80-tdep.c index 1ab375c5014..fb456e5192b 100644 --- a/gdb/z80-tdep.c +++ b/gdb/z80-tdep.c @@ -555,7 +555,7 @@ z80_return_value (struct gdbarch *gdbarch, struct value *function, /* function unwinds current stack frame and returns next one */ static struct z80_unwind_cache * -z80_frame_unwind_cache (struct frame_info *this_frame, +z80_frame_unwind_cache (frame_info_ptr this_frame, void **this_prologue_cache) { CORE_ADDR start_pc, current_pc; @@ -658,7 +658,7 @@ z80_frame_unwind_cache (struct frame_info *this_frame, /* Given a GDB frame, determine the address of the calling function's frame. This will be used to create a new GDB frame struct. */ static void -z80_frame_this_id (struct frame_info *this_frame, void **this_cache, +z80_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) { struct frame_id id; @@ -682,7 +682,7 @@ z80_frame_this_id (struct frame_info *this_frame, void **this_cache, } static struct value * -z80_frame_prev_register (struct frame_info *this_frame, +z80_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) { struct z80_unwind_cache *info -- 2.37.2