Failure after gdb-12-branchpoint-2153-gbd2b40ac129: Change GDB to use frame_info_ptr: Results changed to -10 # true: 0 # build_abe binutils: 1 # build_abe gcc: 2 # build_abe linux: 4 # build_abe glibc: 5 # build_abe gdb: # FAILED # First few build errors in logs: # 00:01:28 ../../../../../../gdb/gdb/guile/scm-frame.c:137:11: error: ‘frame_id_eq’ was not declared in this scope; did you mean ‘frame_id_p’? # 00:01:28 ../../../../../../gdb/gdb/guile/scm-frame.c:248:46: error: could not convert ‘frame’ from ‘frame_info*’ to ‘frame_info_ptr’ # 00:01:28 ../../../../../../gdb/gdb/guile/scm-frame.c:259:27: error: could not convert ‘frame’ from ‘frame_info*’ to ‘frame_info_ptr’ # 00:01:28 ../../../../../../gdb/gdb/guile/scm-frame.c:260:37: error: could not convert ‘frame’ from ‘frame_info*’ to ‘frame_info_ptr’ # 00:01:28 ../../../../../../gdb/gdb/guile/scm-frame.c:261:23: error: could not convert ‘frame’ from ‘frame_info*’ to ‘frame_info_ptr’ # 00:01:28 ../../../../../../gdb/gdb/guile/scm-frame.c:263:45: error: could not convert ‘frame’ from ‘frame_info*’ to ‘frame_info_ptr’ # 00:01:28 ../../../../../../gdb/gdb/guile/scm-frame.c:268:29: error: could not convert ‘frame’ from ‘frame_info*’ to ‘frame_info_ptr’ # 00:01:28 ../../../../../../gdb/gdb/guile/scm-frame.c:271:33: error: could not convert ‘frame’ from ‘frame_info*’ to ‘frame_info_ptr’ # 00:01:28 ../../../../../../gdb/gdb/guile/scm-frame.c:367:28: error: cannot convert ‘frame_info_ptr’ to ‘frame_info*’ in assignment # 00:01:28 ../../../../../../gdb/gdb/guile/scm-frame.c:372:29: error: could not convert ‘frame’ from ‘frame_info*’ to ‘frame_info_ptr’ from -10 # true: 0 # build_abe binutils: 1 # build_abe gcc: 2 # build_abe linux: 4 # build_abe glibc: 5 # build_abe gdb: 6 THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. For latest status see comments in https://linaro.atlassian.net/browse/GNU-692 . Status of gdb-12-branchpoint-2153-gbd2b40ac129 commit for tcwg_gnu_native_build: commit bd2b40ac129b167f1a709589dee9c009a04a6e21 Author: Tom Tromey Date: Mon Jul 25 14:06:35 2022 -0300 Change GDB to use frame_info_ptr 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/\ Approved-by: Tom Tomey * master-aarch64 ** Failure after gdb-12-branchpoint-2153-gbd2b40ac129: Change GDB to use frame_info_ptr: ** https://ci.linaro.org/job/tcwg_gnu_native_build-build-master-aarch64/485/ Bad build: https://ci.linaro.org/job/tcwg_gnu_native_build-build-master-aarch64/485/artifact/artifacts Good build: https://ci.linaro.org/job/tcwg_gnu_native_build-build-master-aarch64/484/artifact/artifacts Reproduce current build: mkdir -p investigate-gdb-bd2b40ac129b167f1a709589dee9c009a04a6e21 cd investigate-gdb-bd2b40ac129b167f1a709589dee9c009a04a6e21 # Fetch scripts git clone https://git.linaro.org/toolchain/jenkins-scripts # Fetch manifests for bad and good builds mkdir -p bad/artifacts good/artifacts curl -o bad/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_gnu_native_build-build-master-aarch64/485/artifact/artifacts/manifest.sh --fail curl -o good/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_gnu_native_build-build-master-aarch64/484/artifact/artifacts/manifest.sh --fail # Reproduce bad build (cd bad; ../jenkins-scripts/tcwg_gnu-build.sh ^^ true %%rr[top_artifacts] artifacts) # Reproduce good build (cd good; ../jenkins-scripts/tcwg_gnu-build.sh ^^ true %%rr[top_artifacts] artifacts) Full commit (up to 1000 lines): commit bd2b40ac129b167f1a709589dee9c009a04a6e21 Author: Tom Tromey Date: Mon Jul 25 14:06:35 2022 -0300 Change GDB to use frame_info_ptr 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/\ Approved-by: Tom Tomey --- 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 | 64 ++++---- 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/cli/cli-cmds.c | 2 +- gdb/compile/compile-c-symbols.c | 2 +- gdb/compile/compile-cplus-symbols.c | 2 +- gdb/compile/compile-loc2c.c | 2 +- gdb/cp-abi.c | 2 +- gdb/cp-abi.h | 6 +- gdb/cris-tdep.c | 36 ++--- gdb/csky-linux-tdep.c | 4 +- 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/dwarf2/expr.c | 20 +-- gdb/dwarf2/expr.h | 6 +- gdb/dwarf2/frame-tailcall.c | 41 ++--- gdb/dwarf2/frame-tailcall.h | 6 +- gdb/dwarf2/frame.c | 39 ++--- gdb/dwarf2/frame.h | 12 +- gdb/dwarf2/loc.c | 38 ++--- gdb/dwarf2/loc.h | 8 +- gdb/elfread.c | 2 +- gdb/eval.c | 2 +- gdb/extension-priv.h | 2 +- gdb/extension.c | 2 +- gdb/extension.h | 4 +- gdb/f-valprint.c | 2 +- gdb/findvar.c | 26 ++-- gdb/frame-base.c | 8 +- gdb/frame-base.h | 12 +- gdb/frame-unwind.c | 24 +-- gdb/frame-unwind.h | 36 ++--- gdb/frame.c | 292 ++++++++++++++++++------------------ gdb/frame.h | 152 +++++++++---------- gdb/frv-linux-tdep.c | 10 +- gdb/frv-tdep.c | 10 +- gdb/ft32-tdep.c | 8 +- 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/guile/scm-frame.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/i386-bsd-tdep.c | 2 +- gdb/i386-darwin-tdep.c | 4 +- gdb/i386-darwin-tdep.h | 2 +- gdb/i386-fbsd-tdep.c | 2 +- gdb/i386-gnu-tdep.c | 6 +- gdb/i386-linux-tdep.c | 10 +- gdb/i386-netbsd-tdep.c | 4 +- gdb/i386-nto-tdep.c | 4 +- gdb/i386-obsd-tdep.c | 10 +- gdb/i386-sol2-tdep.c | 2 +- gdb/i386-tdep.c | 54 +++---- gdb/i386-tdep.h | 10 +- gdb/i386-windows-tdep.c | 2 +- gdb/i387-tdep.c | 6 +- gdb/i387-tdep.h | 8 +- gdb/ia64-libunwind-tdep.c | 12 +- gdb/ia64-libunwind-tdep.h | 12 +- gdb/ia64-tdep.c | 50 +++--- gdb/ia64-tdep.h | 4 +- gdb/infcall.c | 4 +- gdb/infcmd.c | 28 ++-- gdb/inferior.h | 6 +- gdb/infrun.c | 32 ++-- gdb/infrun.h | 4 +- gdb/inline-frame.c | 14 +- gdb/inline-frame.h | 4 +- gdb/iq2000-tdep.c | 10 +- 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/mi/mi-cmd-stack.c | 22 +-- gdb/mi/mi-main.c | 10 +- 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/python/py-event.h | 2 +- gdb/python/py-finishbreakpoint.c | 4 +- gdb/python/py-frame.c | 42 +++--- gdb/python/py-framefilter.c | 22 +-- gdb/python/py-inferior.c | 2 +- gdb/python/py-infevents.c | 4 +- gdb/python/py-symbol.c | 6 +- gdb/python/py-unwind.c | 12 +- gdb/python/python-internal.h | 6 +- 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/s12z-tdep.c | 10 +- gdb/s390-linux-tdep.c | 8 +- gdb/s390-tdep.c | 38 ++--- gdb/s390-tdep.h | 2 +- gdb/sentinel-frame.c | 6 +- gdb/sh-linux-tdep.c | 6 +- gdb/sh-tdep.c | 16 +- gdb/skip.c | 2 +- gdb/sol2-tdep.c | 2 +- gdb/sol2-tdep.h | 2 +- gdb/solib-svr4.c | 4 +- gdb/sparc-linux-tdep.c | 6 +- gdb/sparc-netbsd-tdep.c | 12 +- gdb/sparc-obsd-tdep.c | 8 +- gdb/sparc-sol2-tdep.c | 8 +- gdb/sparc-tdep.c | 20 +-- gdb/sparc-tdep.h | 12 +- gdb/sparc64-fbsd-tdep.c | 8 +- gdb/sparc64-linux-tdep.c | 8 +- gdb/sparc64-netbsd-tdep.c | 10 +- gdb/sparc64-obsd-tdep.c | 16 +- gdb/sparc64-sol2-tdep.c | 8 +- gdb/sparc64-tdep.c | 10 +- gdb/sparc64-tdep.h | 4 +- gdb/stack.c | 104 ++++++------- gdb/stack.h | 4 +- gdb/stap-probe.c | 4 +- gdb/std-regs.c | 8 +- gdb/symfile.h | 2 +- gdb/symtab.h | 10 +- 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/tui/tui-disasm.c | 2 +- gdb/tui/tui-disasm.h | 2 +- gdb/tui/tui-hooks.c | 6 +- gdb/tui/tui-regs.c | 8 +- gdb/tui/tui-regs.h | 4 +- gdb/tui/tui-source.c | 4 +- gdb/tui/tui-source.h | 2 +- gdb/tui/tui-stack.c | 4 +- gdb/tui/tui-stack.h | 4 +- gdb/tui/tui-winsource.c | 4 +- gdb/tui/tui-winsource.h | 2 +- gdb/user-regs.c | 4 +- gdb/user-regs.h | 6 +- gdb/v850-tdep.c | 10 +- gdb/valops.c | 10 +- gdb/value.c | 4 +- gdb/value.h | 16 +- gdb/varobj.c | 8 +- gdb/vax-tdep.c | 14 +- gdb/xstormy16-tdep.c | 12 +- gdb/xtensa-tdep.c | 22 +-- gdb/z80-tdep.c | 6 +- 249 files changed, 1527 insertions(+), 1522 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 78bf1225e97..32e85794ca5 100644 --- a/gdb/aarch64-tdep.c +++ b/gdb/aarch64-tdep.c @@ -216,7 +216,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, @@ -236,7 +236,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"; @@ -927,7 +927,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); @@ -981,7 +981,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; @@ -1016,7 +1016,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; @@ -1043,7 +1043,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 @@ -1069,7 +1069,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 @@ -1084,7 +1084,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 @@ -1150,7 +1150,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; @@ -1180,7 +1180,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 @@ -1195,7 +1195,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 @@ -1211,7 +1211,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; @@ -1242,7 +1242,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); @@ -1263,7 +1263,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); @@ -1291,7 +1291,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); @@ -2491,7 +2491,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]; @@ -2921,7 +2921,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 ac23eb5938c..0e3f0daa416 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -11840,7 +11840,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; @@ -11899,7 +11899,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)) { @@ -11933,7 +11933,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 @@ -13048,7 +13048,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); @@ -13477,7 +13477,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 9b3dbca8cde..646d4270636 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -234,7 +234,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) { @@ -261,7 +261,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]; @@ -844,7 +844,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); @@ -875,7 +875,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; @@ -916,7 +916,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) { @@ -958,7 +958,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 @@ -983,7 +983,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); @@ -1225,7 +1225,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) { @@ -1402,7 +1402,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) { @@ -1415,7 +1415,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 @@ -1442,7 +1442,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 718bf4996e5..86819cf148f 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 ea2b3b1ecc3..ccdceeef0e5 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,