From a154d838a70e96d888620c072e2d6ea8bdf044ca Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Tue, 29 Jun 2021 12:05:03 -0400 Subject: [PATCH] gdb: add names to unwinders, add debug messages when looking for unwinder I wrote this while debugging a problem where the expected unwinder for a frame wasn't used. It adds messages to show which unwinders are considered for a frame, why they are not selected (if an exception is thrown), and finally which unwinder is selected in the end. To be able to show a meaningful, human-readable name for the unwinders, add a "name" field to struct frame_unwind, and update all instances to include a name. Here's an example of the output: [frame] frame_unwind_find_by_frame: this_frame=0 [frame] frame_unwind_try_unwinder: trying unwinder "dummy" [frame] frame_unwind_try_unwinder: no [frame] frame_unwind_try_unwinder: trying unwinder "dwarf2 tailcall" [frame] frame_unwind_try_unwinder: no [frame] frame_unwind_try_unwinder: trying unwinder "inline" [frame] frame_unwind_try_unwinder: no [frame] frame_unwind_try_unwinder: trying unwinder "jit" [frame] frame_unwind_try_unwinder: no [frame] frame_unwind_try_unwinder: trying unwinder "python" [frame] frame_unwind_try_unwinder: no [frame] frame_unwind_try_unwinder: trying unwinder "amd64 epilogue" [frame] frame_unwind_try_unwinder: no [frame] frame_unwind_try_unwinder: trying unwinder "i386 epilogue" [frame] frame_unwind_try_unwinder: no [frame] frame_unwind_try_unwinder: trying unwinder "dwarf2" [frame] frame_unwind_try_unwinder: yes gdb/ChangeLog: * frame-unwind.h (struct frame_unwind) : New. Update instances everywhere to include this field. * frame-unwind.c (frame_unwind_try_unwinder, frame_unwind_find_by_frame): Add debug messages. Change-Id: I813f17777422425f0d08b22499817b23922e8ddb --- gdb/ChangeLog | 7 +++++++ gdb/aarch64-tdep.c | 2 ++ gdb/alpha-mdebug-tdep.c | 4 +++- gdb/alpha-tdep.c | 8 ++++++-- gdb/amd64-obsd-tdep.c | 4 +++- gdb/amd64-tdep.c | 3 +++ gdb/amd64-windows-tdep.c | 1 + gdb/arc-tdep.c | 2 ++ gdb/arm-tdep.c | 5 +++++ gdb/avr-tdep.c | 1 + gdb/bfin-tdep.c | 1 + gdb/bpf-tdep.c | 1 + gdb/cris-tdep.c | 2 ++ gdb/csky-tdep.c | 2 ++ gdb/dummy-frame.c | 1 + gdb/dwarf2/frame-tailcall.c | 1 + gdb/dwarf2/frame.c | 2 ++ gdb/frame-unwind.c | 11 ++++++++++- gdb/frame-unwind.h | 1 + gdb/frv-linux-tdep.c | 1 + gdb/frv-tdep.c | 1 + gdb/ft32-tdep.c | 1 + gdb/h8300-tdep.c | 1 + gdb/hppa-linux-tdep.c | 1 + gdb/hppa-tdep.c | 3 +++ gdb/i386-obsd-tdep.c | 1 + gdb/i386-tdep.c | 4 ++++ gdb/ia64-tdep.c | 4 ++++ gdb/inline-frame.c | 1 + gdb/iq2000-tdep.c | 1 + gdb/jit.c | 1 + gdb/lm32-tdep.c | 1 + gdb/m32c-tdep.c | 1 + gdb/m32r-linux-tdep.c | 1 + gdb/m32r-tdep.c | 1 + gdb/m68hc11-tdep.c | 1 + gdb/m68k-linux-tdep.c | 1 + gdb/m68k-tdep.c | 1 + gdb/mep-tdep.c | 1 + gdb/microblaze-tdep.c | 1 + gdb/mips-sde-tdep.c | 1 + gdb/mips-tdep.c | 4 ++++ gdb/mn10300-tdep.c | 1 + gdb/moxie-tdep.c | 1 + gdb/msp430-tdep.c | 1 + gdb/nds32-tdep.c | 2 ++ gdb/nios2-tdep.c | 2 ++ gdb/or1k-tdep.c | 1 + gdb/ppc-fbsd-tdep.c | 1 + gdb/ppc-obsd-tdep.c | 1 + gdb/python/py-unwind.c | 1 + gdb/record-btrace.c | 2 ++ gdb/riscv-tdep.c | 1 + gdb/rl78-tdep.c | 1 + gdb/rs6000-aix-tdep.c | 1 + gdb/rs6000-tdep.c | 2 ++ gdb/rx-tdep.c | 2 ++ gdb/s12z-tdep.c | 1 + gdb/s390-linux-tdep.c | 1 + gdb/s390-tdep.c | 2 ++ gdb/score-tdep.c | 1 + gdb/sentinel-frame.c | 1 + gdb/sh-tdep.c | 2 ++ gdb/sparc-netbsd-tdep.c | 1 + gdb/sparc-obsd-tdep.c | 1 + gdb/sparc-sol2-tdep.c | 1 + gdb/sparc-tdep.c | 1 + gdb/sparc64-fbsd-tdep.c | 1 + gdb/sparc64-netbsd-tdep.c | 1 + gdb/sparc64-obsd-tdep.c | 2 ++ gdb/sparc64-sol2-tdep.c | 1 + gdb/sparc64-tdep.c | 1 + gdb/tic6x-tdep.c | 2 ++ gdb/tilegx-tdep.c | 1 + gdb/v850-tdep.c | 1 + gdb/vax-tdep.c | 1 + gdb/xstormy16-tdep.c | 1 + gdb/xtensa-tdep.c | 1 + 78 files changed, 133 insertions(+), 5 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3cda05433ce..db55c09870b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2021-06-29 Simon Marchi + + * frame-unwind.h (struct frame_unwind) : New. Update + instances everywhere to include this field. + * frame-unwind.c (frame_unwind_try_unwinder, + frame_unwind_find_by_frame): Add debug messages. + 2021-06-29 Simon Marchi * frame.h (frame_debug_printf): New. diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c index dea16e729c0..4b5af4616af 100644 --- a/gdb/aarch64-tdep.c +++ b/gdb/aarch64-tdep.c @@ -1116,6 +1116,7 @@ aarch64_prologue_prev_register (struct frame_info *this_frame, /* AArch64 prologue unwinder. */ static frame_unwind aarch64_prologue_unwind = { + "aarch64 prologue", NORMAL_FRAME, aarch64_prologue_frame_unwind_stop_reason, aarch64_prologue_this_id, @@ -1210,6 +1211,7 @@ aarch64_stub_unwind_sniffer (const struct frame_unwind *self, /* AArch64 stub unwinder. */ static frame_unwind aarch64_stub_unwind = { + "aarch64 stub", NORMAL_FRAME, aarch64_stub_frame_unwind_stop_reason, aarch64_stub_this_id, diff --git a/gdb/alpha-mdebug-tdep.c b/gdb/alpha-mdebug-tdep.c index a062ad99a9f..52d0bf02813 100644 --- a/gdb/alpha-mdebug-tdep.c +++ b/gdb/alpha-mdebug-tdep.c @@ -333,7 +333,9 @@ alpha_mdebug_frame_sniffer (const struct frame_unwind *self, return 1; } -static const struct frame_unwind alpha_mdebug_frame_unwind = { +static const struct frame_unwind alpha_mdebug_frame_unwind = +{ + "alpha mdebug", NORMAL_FRAME, default_frame_unwind_stop_reason, alpha_mdebug_frame_this_id, diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index 90ff8131945..7538c5603bb 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -1012,7 +1012,9 @@ alpha_sigtramp_frame_sniffer (const struct frame_unwind *self, return 0; } -static const struct frame_unwind alpha_sigtramp_frame_unwind = { +static const struct frame_unwind alpha_sigtramp_frame_unwind = +{ + "alpha sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, alpha_sigtramp_frame_this_id, @@ -1429,7 +1431,9 @@ alpha_heuristic_frame_prev_register (struct frame_info *this_frame, return trad_frame_get_prev_register (this_frame, info->saved_regs, regnum); } -static const struct frame_unwind alpha_heuristic_frame_unwind = { +static const struct frame_unwind alpha_heuristic_frame_unwind = +{ + "alpha prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, alpha_heuristic_frame_this_id, diff --git a/gdb/amd64-obsd-tdep.c b/gdb/amd64-obsd-tdep.c index cdb09d0272b..070f19635aa 100644 --- a/gdb/amd64-obsd-tdep.c +++ b/gdb/amd64-obsd-tdep.c @@ -402,10 +402,12 @@ amd64obsd_trapframe_sniffer (const struct frame_unwind *self, || (startswith (name, "Xintr")))); } -static const struct frame_unwind amd64obsd_trapframe_unwind = { +static const struct frame_unwind amd64obsd_trapframe_unwind = +{ /* FIXME: kettenis/20051219: This really is more like an interrupt frame, but SIGTRAMP_FRAME would print , which really is not what we want here. */ + "amd64 openbsd trap", NORMAL_FRAME, default_frame_unwind_stop_reason, amd64obsd_trapframe_this_id, diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c index 3afac3c7e60..c028e1bd0f6 100644 --- a/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c @@ -2702,6 +2702,7 @@ amd64_frame_prev_register (struct frame_info *this_frame, void **this_cache, static const struct frame_unwind amd64_frame_unwind = { + "amd64 prologue", NORMAL_FRAME, amd64_frame_unwind_stop_reason, amd64_frame_this_id, @@ -2846,6 +2847,7 @@ amd64_sigtramp_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind amd64_sigtramp_frame_unwind = { + "amd64 sigtramp", SIGTRAMP_FRAME, amd64_sigtramp_frame_unwind_stop_reason, amd64_sigtramp_frame_this_id, @@ -2981,6 +2983,7 @@ amd64_epilogue_frame_this_id (struct frame_info *this_frame, static const struct frame_unwind amd64_epilogue_frame_unwind = { + "amd64 epilogue", NORMAL_FRAME, amd64_epilogue_frame_unwind_stop_reason, amd64_epilogue_frame_this_id, diff --git a/gdb/amd64-windows-tdep.c b/gdb/amd64-windows-tdep.c index 5442e527653..fe8a3a0b7ac 100644 --- a/gdb/amd64-windows-tdep.c +++ b/gdb/amd64-windows-tdep.c @@ -1178,6 +1178,7 @@ amd64_windows_frame_this_id (struct frame_info *this_frame, void **this_cache, static const struct frame_unwind amd64_windows_frame_unwind = { + "amd64 windows", NORMAL_FRAME, default_frame_unwind_stop_reason, &amd64_windows_frame_this_id, diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c index 3afbf4264fe..b793a18d8b9 100644 --- a/gdb/arc-tdep.c +++ b/gdb/arc-tdep.c @@ -1922,6 +1922,7 @@ arc_sigtramp_frame_sniffer (const struct frame_unwind *self, accepts the frame. */ static const struct frame_unwind arc_frame_unwind = { + "arc prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, arc_frame_this_id, @@ -1937,6 +1938,7 @@ static const struct frame_unwind arc_frame_unwind = { context. */ static const struct frame_unwind arc_sigtramp_frame_unwind = { + "arc sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, arc_sigtramp_frame_this_id, diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index 09b38e59e9e..e4e7aec4e1c 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -2027,6 +2027,7 @@ arm_prologue_prev_register (struct frame_info *this_frame, } static frame_unwind arm_prologue_unwind = { + "arm prologue", NORMAL_FRAME, arm_prologue_unwind_stop_reason, arm_prologue_this_id, @@ -2736,6 +2737,7 @@ arm_exidx_unwind_sniffer (const struct frame_unwind *self, } struct frame_unwind arm_exidx_unwind = { + "arm exidx", NORMAL_FRAME, default_frame_unwind_stop_reason, arm_prologue_this_id, @@ -2839,6 +2841,7 @@ arm_epilogue_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind arm_epilogue_frame_unwind = { + "arm epilogue", NORMAL_FRAME, default_frame_unwind_stop_reason, arm_epilogue_frame_this_id, @@ -2960,6 +2963,7 @@ arm_stub_unwind_sniffer (const struct frame_unwind *self, } struct frame_unwind arm_stub_unwind = { + "arm stub", NORMAL_FRAME, default_frame_unwind_stop_reason, arm_stub_this_id, @@ -3171,6 +3175,7 @@ arm_m_exception_unwind_sniffer (const struct frame_unwind *self, struct frame_unwind arm_m_exception_unwind = { + "arm m exception", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, arm_m_exception_this_id, diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index 5853e692ae4..6ef73d54549 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -1154,6 +1154,7 @@ avr_frame_prev_register (struct frame_info *this_frame, } static const struct frame_unwind avr_frame_unwind = { + "avr prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, avr_frame_this_id, diff --git a/gdb/bfin-tdep.c b/gdb/bfin-tdep.c index e3d6eee8832..bdf8ab90a22 100644 --- a/gdb/bfin-tdep.c +++ b/gdb/bfin-tdep.c @@ -374,6 +374,7 @@ bfin_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind bfin_frame_unwind = { + "bfin prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, bfin_frame_this_id, diff --git a/gdb/bpf-tdep.c b/gdb/bpf-tdep.c index a29cd90ba38..e520d5d3d49 100644 --- a/gdb/bpf-tdep.c +++ b/gdb/bpf-tdep.c @@ -184,6 +184,7 @@ bpf_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind bpf_frame_unwind = { + "bpf prologue", NORMAL_FRAME, bpf_frame_unwind_stop_reason, bpf_frame_this_id, diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c index 01ef1604bff..a0ff59487ed 100644 --- a/gdb/cris-tdep.c +++ b/gdb/cris-tdep.c @@ -437,6 +437,7 @@ cris_sigtramp_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind cris_sigtramp_frame_unwind = { + "cris sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, cris_sigtramp_frame_this_id, @@ -900,6 +901,7 @@ cris_push_dummy_call (struct gdbarch *gdbarch, struct value *function, static const struct frame_unwind cris_frame_unwind = { + "cris prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, cris_frame_this_id, diff --git a/gdb/csky-tdep.c b/gdb/csky-tdep.c index 609b684265f..5940429e192 100644 --- a/gdb/csky-tdep.c +++ b/gdb/csky-tdep.c @@ -1916,6 +1916,7 @@ csky_frame_prev_register (struct frame_info *this_frame, unwinder. */ static const struct frame_unwind csky_unwind_cache = { + "cski prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, csky_frame_this_id, @@ -1999,6 +2000,7 @@ csky_stub_prev_register (struct frame_info *this_frame, } static frame_unwind csky_stub_unwind = { + "csky stub", NORMAL_FRAME, default_frame_unwind_stop_reason, csky_stub_this_id, diff --git a/gdb/dummy-frame.c b/gdb/dummy-frame.c index 68a69379749..ed2c778be6c 100644 --- a/gdb/dummy-frame.c +++ b/gdb/dummy-frame.c @@ -378,6 +378,7 @@ dummy_frame_this_id (struct frame_info *this_frame, const struct frame_unwind dummy_frame_unwind = { + "dummy", DUMMY_FRAME, default_frame_unwind_stop_reason, dummy_frame_this_id, diff --git a/gdb/dwarf2/frame-tailcall.c b/gdb/dwarf2/frame-tailcall.c index d27211e9a88..f112b4ecca4 100644 --- a/gdb/dwarf2/frame-tailcall.c +++ b/gdb/dwarf2/frame-tailcall.c @@ -468,6 +468,7 @@ tailcall_frame_prev_arch (struct frame_info *this_frame, const struct frame_unwind dwarf2_tailcall_frame_unwind = { + "dwarf2 tailcall", TAILCALL_FRAME, default_frame_unwind_stop_reason, tailcall_frame_this_id, diff --git a/gdb/dwarf2/frame.c b/gdb/dwarf2/frame.c index f8612c96f27..8d24559bb4d 100644 --- a/gdb/dwarf2/frame.c +++ b/gdb/dwarf2/frame.c @@ -1380,6 +1380,7 @@ dwarf2_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind dwarf2_frame_unwind = { + "dwarf2", NORMAL_FRAME, dwarf2_frame_unwind_stop_reason, dwarf2_frame_this_id, @@ -1391,6 +1392,7 @@ static const struct frame_unwind dwarf2_frame_unwind = static const struct frame_unwind dwarf2_signal_frame_unwind = { + "dwarf2 signal", SIGTRAMP_FRAME, dwarf2_frame_unwind_stop_reason, dwarf2_frame_this_id, diff --git a/gdb/frame-unwind.c b/gdb/frame-unwind.c index b19e95d3509..0fef2c1540e 100644 --- a/gdb/frame-unwind.c +++ b/gdb/frame-unwind.c @@ -127,10 +127,13 @@ frame_unwind_try_unwinder (struct frame_info *this_frame, void **this_cache, try { + frame_debug_printf ("trying unwinder \"%s\"", unwinder->name); res = unwinder->sniffer (unwinder, this_frame, this_cache); } catch (const gdb_exception &ex) { + frame_debug_printf ("caught exception: %s", ex.message->c_str ()); + /* Catch all exceptions, caused by either interrupt or error. Reset *THIS_CACHE, unless something reinitialized the frame cache meanwhile, in which case THIS_FRAME/THIS_CACHE are now @@ -153,9 +156,13 @@ frame_unwind_try_unwinder (struct frame_info *this_frame, void **this_cache, } if (res) - return 1; + { + frame_debug_printf ("yes"); + return 1; + } else { + frame_debug_printf ("no"); /* Don't set *THIS_CACHE to NULL here, because sniffer has to do so. */ frame_cleanup_after_sniffer (this_frame); @@ -171,6 +178,8 @@ frame_unwind_try_unwinder (struct frame_info *this_frame, void **this_cache, void frame_unwind_find_by_frame (struct frame_info *this_frame, void **this_cache) { + frame_debug_printf ("this_frame=%d", frame_relative_level (this_frame)); + struct gdbarch *gdbarch = get_frame_arch (this_frame); struct frame_unwind_table *table = (struct frame_unwind_table *) gdbarch_data (gdbarch, frame_unwind_data); diff --git a/gdb/frame-unwind.h b/gdb/frame-unwind.h index da0b4bcbe30..e46c7ff018b 100644 --- a/gdb/frame-unwind.h +++ b/gdb/frame-unwind.h @@ -158,6 +158,7 @@ typedef struct gdbarch *(frame_prev_arch_ftype) (struct frame_info *this_frame, struct frame_unwind { + const char *name; /* The frame's type. Should this instead be a collection of predicates that test the frame for various attributes? */ enum frame_type type; diff --git a/gdb/frv-linux-tdep.c b/gdb/frv-linux-tdep.c index 098df173c08..1f382157ecf 100644 --- a/gdb/frv-linux-tdep.c +++ b/gdb/frv-linux-tdep.c @@ -334,6 +334,7 @@ frv_linux_sigtramp_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind frv_linux_sigtramp_frame_unwind = { + "frv linux sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, frv_linux_sigtramp_frame_this_id, diff --git a/gdb/frv-tdep.c b/gdb/frv-tdep.c index f5edfc72ce3..ead4488e146 100644 --- a/gdb/frv-tdep.c +++ b/gdb/frv-tdep.c @@ -1411,6 +1411,7 @@ frv_frame_prev_register (struct frame_info *this_frame, } static const struct frame_unwind frv_frame_unwind = { + "frv prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, frv_frame_this_id, diff --git a/gdb/ft32-tdep.c b/gdb/ft32-tdep.c index 2d8ffea3f84..ff03acb4cbb 100644 --- a/gdb/ft32-tdep.c +++ b/gdb/ft32-tdep.c @@ -525,6 +525,7 @@ ft32_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind ft32_frame_unwind = { + "ft32 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, ft32_frame_this_id, diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c index 2afe970d012..7d4495f6646 100644 --- a/gdb/h8300-tdep.c +++ b/gdb/h8300-tdep.c @@ -501,6 +501,7 @@ h8300_frame_prev_register (struct frame_info *this_frame, void **this_cache, } static const struct frame_unwind h8300_frame_unwind = { + "h8300 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, h8300_frame_this_id, diff --git a/gdb/hppa-linux-tdep.c b/gdb/hppa-linux-tdep.c index cea6768a1dd..4bdaa1dfaee 100644 --- a/gdb/hppa-linux-tdep.c +++ b/gdb/hppa-linux-tdep.c @@ -309,6 +309,7 @@ hppa_linux_sigtramp_frame_sniffer (const struct frame_unwind *self, } static const struct frame_unwind hppa_linux_sigtramp_frame_unwind = { + "hppa linux sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, hppa_linux_sigtramp_frame_this_id, diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index ffb3394f71d..db261956c60 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -2302,6 +2302,7 @@ hppa_frame_unwind_sniffer (const struct frame_unwind *self, static const struct frame_unwind hppa_frame_unwind = { + "hppa unwind table", NORMAL_FRAME, default_frame_unwind_stop_reason, hppa_frame_this_id, @@ -2414,6 +2415,7 @@ hppa_fallback_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind hppa_fallback_frame_unwind = { + "hppa prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, hppa_fallback_frame_this_id, @@ -2494,6 +2496,7 @@ hppa_stub_unwind_sniffer (const struct frame_unwind *self, } static const struct frame_unwind hppa_stub_frame_unwind = { + "hppa stub", NORMAL_FRAME, default_frame_unwind_stop_reason, hppa_stub_frame_this_id, diff --git a/gdb/i386-obsd-tdep.c b/gdb/i386-obsd-tdep.c index 387863f859a..3f5606df006 100644 --- a/gdb/i386-obsd-tdep.c +++ b/gdb/i386-obsd-tdep.c @@ -391,6 +391,7 @@ i386obsd_trapframe_sniffer (const struct frame_unwind *self, } static const struct frame_unwind i386obsd_trapframe_unwind = { + "i386 openbsd trap", /* FIXME: kettenis/20051219: This really is more like an interrupt frame, but SIGTRAMP_FRAME would print , which really is not what we want here. */ diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 973085ef337..e436437c683 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -2196,6 +2196,7 @@ i386_frame_prev_register (struct frame_info *this_frame, void **this_cache, static const struct frame_unwind i386_frame_unwind = { + "i386 prologue", NORMAL_FRAME, i386_frame_unwind_stop_reason, i386_frame_this_id, @@ -2317,6 +2318,7 @@ i386_epilogue_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind i386_epilogue_frame_unwind = { + "i386 epilogue", NORMAL_FRAME, i386_epilogue_frame_unwind_stop_reason, i386_epilogue_frame_this_id, @@ -2398,6 +2400,7 @@ i386_stack_tramp_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind i386_stack_tramp_frame_unwind = { + "i386 stack tramp", NORMAL_FRAME, i386_epilogue_frame_unwind_stop_reason, i386_epilogue_frame_this_id, @@ -2545,6 +2548,7 @@ i386_sigtramp_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind i386_sigtramp_frame_unwind = { + "i386 sigtramp", SIGTRAMP_FRAME, i386_sigtramp_frame_unwind_stop_reason, i386_sigtramp_frame_this_id, diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c index 895808ac08b..aa47b211db5 100644 --- a/gdb/ia64-tdep.c +++ b/gdb/ia64-tdep.c @@ -2161,6 +2161,7 @@ ia64_frame_prev_register (struct frame_info *this_frame, void **this_cache, static const struct frame_unwind ia64_frame_unwind = { + "ia64 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, &ia64_frame_this_id, @@ -2348,6 +2349,7 @@ ia64_sigtramp_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind ia64_sigtramp_frame_unwind = { + "ia64 sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, ia64_sigtramp_frame_this_id, @@ -3006,6 +3008,7 @@ ia64_libunwind_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind ia64_libunwind_frame_unwind = { + "ia64 libunwind", NORMAL_FRAME, default_frame_unwind_stop_reason, ia64_libunwind_frame_this_id, @@ -3094,6 +3097,7 @@ ia64_libunwind_sigtramp_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind ia64_libunwind_sigtramp_frame_unwind = { + "ia64 libunwind sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, ia64_libunwind_sigtramp_frame_this_id, diff --git a/gdb/inline-frame.c b/gdb/inline-frame.c index 5ee94af7143..c98af1842a6 100644 --- a/gdb/inline-frame.c +++ b/gdb/inline-frame.c @@ -263,6 +263,7 @@ inline_frame_sniffer (const struct frame_unwind *self, } const struct frame_unwind inline_frame_unwind = { + "inline", INLINE_FRAME, default_frame_unwind_stop_reason, inline_frame_this_id, diff --git a/gdb/iq2000-tdep.c b/gdb/iq2000-tdep.c index 7ec146993ab..69bc75860e4 100644 --- a/gdb/iq2000-tdep.c +++ b/gdb/iq2000-tdep.c @@ -426,6 +426,7 @@ iq2000_frame_this_id (struct frame_info *this_frame, void **this_cache, } static const struct frame_unwind iq2000_frame_unwind = { + "iq2000 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, iq2000_frame_this_id, diff --git a/gdb/jit.c b/gdb/jit.c index 1de785b8de0..b3c52c02eee 100644 --- a/gdb/jit.c +++ b/gdb/jit.c @@ -1048,6 +1048,7 @@ jit_frame_prev_register (struct frame_info *this_frame, void **cache, int reg) static const struct frame_unwind jit_frame_unwind = { + "jit", NORMAL_FRAME, default_frame_unwind_stop_reason, jit_frame_this_id, diff --git a/gdb/lm32-tdep.c b/gdb/lm32-tdep.c index 6fed6961025..123a1a9fa9a 100644 --- a/gdb/lm32-tdep.c +++ b/gdb/lm32-tdep.c @@ -455,6 +455,7 @@ lm32_frame_prev_register (struct frame_info *this_frame, } static const struct frame_unwind lm32_frame_unwind = { + "lm32 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, lm32_frame_this_id, diff --git a/gdb/m32c-tdep.c b/gdb/m32c-tdep.c index 10955145889..550a63da756 100644 --- a/gdb/m32c-tdep.c +++ b/gdb/m32c-tdep.c @@ -1935,6 +1935,7 @@ m32c_prev_register (struct frame_info *this_frame, static const struct frame_unwind m32c_unwind = { + "m32c prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, m32c_this_id, diff --git a/gdb/m32r-linux-tdep.c b/gdb/m32r-linux-tdep.c index 1d42a0a43fd..24807de0b2b 100644 --- a/gdb/m32r-linux-tdep.c +++ b/gdb/m32r-linux-tdep.c @@ -302,6 +302,7 @@ m32r_linux_sigtramp_frame_sniffer (const struct frame_unwind *self, } static const struct frame_unwind m32r_linux_sigtramp_frame_unwind = { + "m32r linux sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, m32r_linux_sigtramp_frame_this_id, diff --git a/gdb/m32r-tdep.c b/gdb/m32r-tdep.c index e504f371d75..b5839bebf96 100644 --- a/gdb/m32r-tdep.c +++ b/gdb/m32r-tdep.c @@ -835,6 +835,7 @@ m32r_frame_prev_register (struct frame_info *this_frame, } static const struct frame_unwind m32r_frame_unwind = { + "m32r prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, m32r_frame_this_id, diff --git a/gdb/m68hc11-tdep.c b/gdb/m68hc11-tdep.c index 4a1d077b7d8..c141711cc87 100644 --- a/gdb/m68hc11-tdep.c +++ b/gdb/m68hc11-tdep.c @@ -924,6 +924,7 @@ m68hc11_frame_prev_register (struct frame_info *this_frame, } static const struct frame_unwind m68hc11_frame_unwind = { + "m68hc11 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, m68hc11_frame_this_id, diff --git a/gdb/m68k-linux-tdep.c b/gdb/m68k-linux-tdep.c index c72f4851b4c..7543a35e611 100644 --- a/gdb/m68k-linux-tdep.c +++ b/gdb/m68k-linux-tdep.c @@ -316,6 +316,7 @@ m68k_linux_sigtramp_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind m68k_linux_sigtramp_frame_unwind = { + "m68k linux sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, m68k_linux_sigtramp_frame_this_id, diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c index 76cc38bd6ff..7397e622f4d 100644 --- a/gdb/m68k-tdep.c +++ b/gdb/m68k-tdep.c @@ -1003,6 +1003,7 @@ m68k_frame_prev_register (struct frame_info *this_frame, void **this_cache, static const struct frame_unwind m68k_frame_unwind = { + "m68k prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, m68k_frame_this_id, diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c index 0dcfa48d67c..89fde0abd7d 100644 --- a/gdb/mep-tdep.c +++ b/gdb/mep-tdep.c @@ -2053,6 +2053,7 @@ mep_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind mep_frame_unwind = { + "mep prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, mep_frame_this_id, diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c index 5419dd329c5..0c3316dece1 100644 --- a/gdb/microblaze-tdep.c +++ b/gdb/microblaze-tdep.c @@ -492,6 +492,7 @@ microblaze_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind microblaze_frame_unwind = { + "microblaze prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, microblaze_frame_this_id, diff --git a/gdb/mips-sde-tdep.c b/gdb/mips-sde-tdep.c index f08dff4b082..63cac483b09 100644 --- a/gdb/mips-sde-tdep.c +++ b/gdb/mips-sde-tdep.c @@ -164,6 +164,7 @@ mips_sde_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind mips_sde_frame_unwind = { + "mips sde sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, mips_sde_frame_this_id, diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 2aee4f10b31..f16cdaa14cc 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -2901,6 +2901,7 @@ mips_insn16_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind mips_insn16_frame_unwind = { + "mips insn16 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, mips_insn16_frame_this_id, @@ -3336,6 +3337,7 @@ mips_micro_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind mips_micro_frame_unwind = { + "mips micro prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, mips_micro_frame_this_id, @@ -3711,6 +3713,7 @@ mips_insn32_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind mips_insn32_frame_unwind = { + "mips insn32 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, mips_insn32_frame_this_id, @@ -3827,6 +3830,7 @@ mips_stub_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind mips_stub_frame_unwind = { + "mips stub", NORMAL_FRAME, default_frame_unwind_stop_reason, mips_stub_frame_this_id, diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c index cefd547af52..2961f2afde1 100644 --- a/gdb/mn10300-tdep.c +++ b/gdb/mn10300-tdep.c @@ -1132,6 +1132,7 @@ mn10300_frame_prev_register (struct frame_info *this_frame, } static const struct frame_unwind mn10300_frame_unwind = { + "mn10300 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, mn10300_frame_this_id, diff --git a/gdb/moxie-tdep.c b/gdb/moxie-tdep.c index 9af37d65cc5..c48f9f75eb4 100644 --- a/gdb/moxie-tdep.c +++ b/gdb/moxie-tdep.c @@ -587,6 +587,7 @@ moxie_frame_prev_register (struct frame_info *this_frame, } static const struct frame_unwind moxie_frame_unwind = { + "moxie prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, moxie_frame_this_id, diff --git a/gdb/msp430-tdep.c b/gdb/msp430-tdep.c index 7fa4475aa2c..06a468ca85c 100644 --- a/gdb/msp430-tdep.c +++ b/gdb/msp430-tdep.c @@ -538,6 +538,7 @@ msp430_prev_register (struct frame_info *this_frame, } static const struct frame_unwind msp430_unwind = { + "msp430 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, msp430_this_id, diff --git a/gdb/nds32-tdep.c b/gdb/nds32-tdep.c index e30a016c5e3..36f4979c042 100644 --- a/gdb/nds32-tdep.c +++ b/gdb/nds32-tdep.c @@ -997,6 +997,7 @@ nds32_frame_prev_register (struct frame_info *this_frame, void **this_cache, static const struct frame_unwind nds32_frame_unwind = { + "nds32 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, nds32_frame_this_id, @@ -1380,6 +1381,7 @@ nds32_epilogue_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind nds32_epilogue_frame_unwind = { + "nds32 epilogue", NORMAL_FRAME, default_frame_unwind_stop_reason, nds32_epilogue_frame_this_id, diff --git a/gdb/nios2-tdep.c b/gdb/nios2-tdep.c index 8fd3695da2d..b090680a7af 100644 --- a/gdb/nios2-tdep.c +++ b/gdb/nios2-tdep.c @@ -1979,6 +1979,7 @@ nios2_frame_base_address (struct frame_info *this_frame, void **this_cache) static const struct frame_unwind nios2_frame_unwind = { + "nios2 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, nios2_frame_this_id, @@ -2079,6 +2080,7 @@ nios2_stub_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind nios2_stub_frame_unwind = { + "nios2 stub", NORMAL_FRAME, default_frame_unwind_stop_reason, nios2_stub_frame_this_id, diff --git a/gdb/or1k-tdep.c b/gdb/or1k-tdep.c index db6c41b32f2..91f21576bd5 100644 --- a/gdb/or1k-tdep.c +++ b/gdb/or1k-tdep.c @@ -1096,6 +1096,7 @@ or1k_frame_prev_register (struct frame_info *this_frame, /* Data structures for the normal prologue-analysis-based unwinder. */ static const struct frame_unwind or1k_frame_unwind = { + "or1k prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, or1k_frame_this_id, diff --git a/gdb/ppc-fbsd-tdep.c b/gdb/ppc-fbsd-tdep.c index d03df9666fc..f41c8bb0be9 100644 --- a/gdb/ppc-fbsd-tdep.c +++ b/gdb/ppc-fbsd-tdep.c @@ -263,6 +263,7 @@ ppcfbsd_sigtramp_frame_prev_register (struct frame_info *this_frame, } static const struct frame_unwind ppcfbsd_sigtramp_frame_unwind = { + "ppc freebsd sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, ppcfbsd_sigtramp_frame_this_id, diff --git a/gdb/ppc-obsd-tdep.c b/gdb/ppc-obsd-tdep.c index b92f11c67ec..98b3e4013e9 100644 --- a/gdb/ppc-obsd-tdep.c +++ b/gdb/ppc-obsd-tdep.c @@ -232,6 +232,7 @@ ppcobsd_sigtramp_frame_prev_register (struct frame_info *this_frame, } static const struct frame_unwind ppcobsd_sigtramp_frame_unwind = { + "ppc openbsd sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, ppcobsd_sigtramp_frame_this_id, diff --git a/gdb/python/py-unwind.c b/gdb/python/py-unwind.c index 18ea2434f87..3d87a190846 100644 --- a/gdb/python/py-unwind.c +++ b/gdb/python/py-unwind.c @@ -680,6 +680,7 @@ pyuw_on_new_gdbarch (struct gdbarch *newarch) struct frame_unwind *unwinder = GDBARCH_OBSTACK_ZALLOC (newarch, struct frame_unwind); + unwinder->name = "python"; unwinder->type = NORMAL_FRAME; unwinder->stop_reason = default_frame_unwind_stop_reason; unwinder->this_id = pyuw_this_id; diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c index 00affb85d22..bf899ebeb24 100644 --- a/gdb/record-btrace.c +++ b/gdb/record-btrace.c @@ -1889,6 +1889,7 @@ record_btrace_frame_dealloc_cache (struct frame_info *self, void *this_cache) const struct frame_unwind record_btrace_frame_unwind = { + "record-btrace", NORMAL_FRAME, record_btrace_frame_unwind_stop_reason, record_btrace_frame_this_id, @@ -1900,6 +1901,7 @@ const struct frame_unwind record_btrace_frame_unwind = const struct frame_unwind record_btrace_tailcall_frame_unwind = { + "record-btrace tailcall", TAILCALL_FRAME, record_btrace_frame_unwind_stop_reason, record_btrace_frame_this_id, diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c index d942b059f55..19e2616c9c0 100644 --- a/gdb/riscv-tdep.c +++ b/gdb/riscv-tdep.c @@ -3320,6 +3320,7 @@ riscv_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind riscv_frame_unwind = { + /*.name =*/ "riscv prologue", /*.type =*/ NORMAL_FRAME, /*.stop_reason =*/ default_frame_unwind_stop_reason, /*.this_id =*/ riscv_frame_this_id, diff --git a/gdb/rl78-tdep.c b/gdb/rl78-tdep.c index c9394b235e9..1c4829f68df 100644 --- a/gdb/rl78-tdep.c +++ b/gdb/rl78-tdep.c @@ -1183,6 +1183,7 @@ rl78_prev_register (struct frame_info *this_frame, static const struct frame_unwind rl78_unwind = { + "rl78 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, rl78_this_id, diff --git a/gdb/rs6000-aix-tdep.c b/gdb/rs6000-aix-tdep.c index 02d492b3377..3717f2b4b2a 100644 --- a/gdb/rs6000-aix-tdep.c +++ b/gdb/rs6000-aix-tdep.c @@ -156,6 +156,7 @@ aix_sighandle_frame_sniffer (const struct frame_unwind *self, /* AIX signal handler frame unwinder */ static const struct frame_unwind aix_sighandle_frame_unwind = { + "rs6000 aix sighandle", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, aix_sighandle_frame_this_id, diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index a629450d746..826f0266ed8 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -3783,6 +3783,7 @@ rs6000_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind rs6000_frame_unwind = { + "rs6000 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, rs6000_frame_this_id, @@ -3882,6 +3883,7 @@ rs6000_epilogue_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind rs6000_epilogue_frame_unwind = { + "rs6000 epilogue", NORMAL_FRAME, default_frame_unwind_stop_reason, rs6000_epilogue_frame_this_id, rs6000_epilogue_frame_prev_register, diff --git a/gdb/rx-tdep.c b/gdb/rx-tdep.c index 4aaff4e3f5c..6715e73c3c7 100644 --- a/gdb/rx-tdep.c +++ b/gdb/rx-tdep.c @@ -630,6 +630,7 @@ rx_exception_sniffer (const struct frame_unwind *self, analyzer. */ static const struct frame_unwind rx_frame_unwind = { + "rx prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, rx_frame_this_id, @@ -642,6 +643,7 @@ static const struct frame_unwind rx_frame_unwind = { analyzer. */ static const struct frame_unwind rx_exception_unwind = { + "rx exception", /* SIGTRAMP_FRAME could be used here, but backtraces are less informative. */ NORMAL_FRAME, default_frame_unwind_stop_reason, diff --git a/gdb/s12z-tdep.c b/gdb/s12z-tdep.c index 13615f0abac..faf63c40305 100644 --- a/gdb/s12z-tdep.c +++ b/gdb/s12z-tdep.c @@ -467,6 +467,7 @@ s12z_frame_prev_register (struct frame_info *this_frame, /* Data structures for the normal prologue-analysis-based unwinder. */ static const struct frame_unwind s12z_frame_unwind = { + "s12z prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, s12z_frame_this_id, diff --git a/gdb/s390-linux-tdep.c b/gdb/s390-linux-tdep.c index 4a39681f43f..04a4ff8df34 100644 --- a/gdb/s390-linux-tdep.c +++ b/gdb/s390-linux-tdep.c @@ -542,6 +542,7 @@ s390_sigtramp_frame_sniffer (const struct frame_unwind *self, /* S390 sigtramp frame unwinder. */ static const struct frame_unwind s390_sigtramp_frame_unwind = { + "s390 linux sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, s390_sigtramp_frame_this_id, diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index 4905bcab36e..2579ee82b20 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -2634,6 +2634,7 @@ s390_frame_prev_register (struct frame_info *this_frame, /* Default S390 frame unwinder. */ static const struct frame_unwind s390_frame_unwind = { + "s390 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, s390_frame_this_id, @@ -2727,6 +2728,7 @@ s390_stub_frame_sniffer (const struct frame_unwind *self, /* S390 stub frame unwinder. */ static const struct frame_unwind s390_stub_frame_unwind = { + "s390 stub", NORMAL_FRAME, default_frame_unwind_stop_reason, s390_stub_frame_this_id, diff --git a/gdb/score-tdep.c b/gdb/score-tdep.c index 531b308749c..91d79f41064 100644 --- a/gdb/score-tdep.c +++ b/gdb/score-tdep.c @@ -1351,6 +1351,7 @@ score_prologue_prev_register (struct frame_info *this_frame, static const struct frame_unwind score_prologue_unwind = { + "score prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, score_prologue_this_id, diff --git a/gdb/sentinel-frame.c b/gdb/sentinel-frame.c index 8016d0658e3..42ef722f5c6 100644 --- a/gdb/sentinel-frame.c +++ b/gdb/sentinel-frame.c @@ -79,6 +79,7 @@ sentinel_frame_prev_arch (struct frame_info *this_frame, const struct frame_unwind sentinel_frame_unwind = { + "sentinel", SENTINEL_FRAME, default_frame_unwind_stop_reason, sentinel_frame_this_id, diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c index 4dd5d9fbb30..bfb220adf79 100644 --- a/gdb/sh-tdep.c +++ b/gdb/sh-tdep.c @@ -1968,6 +1968,7 @@ sh_frame_this_id (struct frame_info *this_frame, void **this_cache, } static const struct frame_unwind sh_frame_unwind = { + "sh prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, sh_frame_this_id, @@ -2034,6 +2035,7 @@ sh_stub_unwind_sniffer (const struct frame_unwind *self, static const struct frame_unwind sh_stub_unwind = { + "sh stub", NORMAL_FRAME, default_frame_unwind_stop_reason, sh_stub_this_id, diff --git a/gdb/sparc-netbsd-tdep.c b/gdb/sparc-netbsd-tdep.c index c2de5b544c2..e34405c849e 100644 --- a/gdb/sparc-netbsd-tdep.c +++ b/gdb/sparc-netbsd-tdep.c @@ -251,6 +251,7 @@ sparc32nbsd_sigcontext_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind sparc32nbsd_sigcontext_frame_unwind = { + "sparc32 netbsd sigcontext", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, sparc32nbsd_sigcontext_frame_this_id, diff --git a/gdb/sparc-obsd-tdep.c b/gdb/sparc-obsd-tdep.c index e198e9702cd..1215bdd3465 100644 --- a/gdb/sparc-obsd-tdep.c +++ b/gdb/sparc-obsd-tdep.c @@ -136,6 +136,7 @@ sparc32obsd_sigtramp_frame_sniffer (const struct frame_unwind *self, } static const struct frame_unwind sparc32obsd_sigtramp_frame_unwind = { + "sparc32 openbsd sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, sparc32obsd_sigtramp_frame_this_id, diff --git a/gdb/sparc-sol2-tdep.c b/gdb/sparc-sol2-tdep.c index ce92e7b22e3..f2144493738 100644 --- a/gdb/sparc-sol2-tdep.c +++ b/gdb/sparc-sol2-tdep.c @@ -182,6 +182,7 @@ sparc32_sol2_sigtramp_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind sparc32_sol2_sigtramp_frame_unwind = { + "sparc32 solaris sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, sparc32_sol2_sigtramp_frame_this_id, diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c index a6df0fcb58b..1b42068af19 100644 --- a/gdb/sparc-tdep.c +++ b/gdb/sparc-tdep.c @@ -1358,6 +1358,7 @@ sparc32_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind sparc32_frame_unwind = { + "sparc32 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, sparc32_frame_this_id, diff --git a/gdb/sparc64-fbsd-tdep.c b/gdb/sparc64-fbsd-tdep.c index 6f906d53173..6dad813c356 100644 --- a/gdb/sparc64-fbsd-tdep.c +++ b/gdb/sparc64-fbsd-tdep.c @@ -199,6 +199,7 @@ sparc64fbsd_sigtramp_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind sparc64fbsd_sigtramp_frame_unwind = { + "sparc64 freebsd sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, sparc64fbsd_sigtramp_frame_this_id, diff --git a/gdb/sparc64-netbsd-tdep.c b/gdb/sparc64-netbsd-tdep.c index 7fa0c1a29af..0438093563e 100644 --- a/gdb/sparc64-netbsd-tdep.c +++ b/gdb/sparc64-netbsd-tdep.c @@ -225,6 +225,7 @@ sparc64nbsd_sigtramp_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind sparc64nbsd_sigcontext_frame_unwind = { + "sparc64 netbsd sigcontext", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, sparc64nbsd_sigcontext_frame_this_id, diff --git a/gdb/sparc64-obsd-tdep.c b/gdb/sparc64-obsd-tdep.c index cf3138a7ab1..033779e273d 100644 --- a/gdb/sparc64-obsd-tdep.c +++ b/gdb/sparc64-obsd-tdep.c @@ -222,6 +222,7 @@ sparc64obsd_sigtramp_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind sparc64obsd_frame_unwind = { + "sparc64 openbsd sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, sparc64obsd_frame_this_id, @@ -305,6 +306,7 @@ sparc64obsd_trapframe_sniffer (const struct frame_unwind *self, static const struct frame_unwind sparc64obsd_trapframe_unwind = { + "sparc64 openbsd trap", NORMAL_FRAME, default_frame_unwind_stop_reason, sparc64obsd_trapframe_this_id, diff --git a/gdb/sparc64-sol2-tdep.c b/gdb/sparc64-sol2-tdep.c index c4293c938e7..6aea8bd56d7 100644 --- a/gdb/sparc64-sol2-tdep.c +++ b/gdb/sparc64-sol2-tdep.c @@ -185,6 +185,7 @@ sparc64_sol2_sigtramp_frame_sniffer (const struct frame_unwind *self, static const struct frame_unwind sparc64_sol2_sigtramp_frame_unwind = { + "sparc64 solaris sigtramp", SIGTRAMP_FRAME, default_frame_unwind_stop_reason, sparc64_sol2_sigtramp_frame_this_id, diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c index 4157594d153..3464411512e 100644 --- a/gdb/sparc64-tdep.c +++ b/gdb/sparc64-tdep.c @@ -1141,6 +1141,7 @@ sparc64_frame_prev_register (struct frame_info *this_frame, void **this_cache, static const struct frame_unwind sparc64_frame_unwind = { + "sparc64 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, sparc64_frame_this_id, diff --git a/gdb/tic6x-tdep.c b/gdb/tic6x-tdep.c index 01dd86c541c..fb18b798db2 100644 --- a/gdb/tic6x-tdep.c +++ b/gdb/tic6x-tdep.c @@ -457,6 +457,7 @@ tic6x_frame_base_address (struct frame_info *this_frame, void **this_cache) static const struct frame_unwind tic6x_frame_unwind = { + "tic6x prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, tic6x_frame_this_id, @@ -519,6 +520,7 @@ tic6x_stub_unwind_sniffer (const struct frame_unwind *self, static const struct frame_unwind tic6x_stub_unwind = { + "tic6x stub", NORMAL_FRAME, default_frame_unwind_stop_reason, tic6x_stub_this_id, diff --git a/gdb/tilegx-tdep.c b/gdb/tilegx-tdep.c index 73ed1d8d848..9451ff50844 100644 --- a/gdb/tilegx-tdep.c +++ b/gdb/tilegx-tdep.c @@ -905,6 +905,7 @@ tilegx_frame_base_address (struct frame_info *this_frame, void **this_cache) } static const struct frame_unwind tilegx_frame_unwind = { + "tilegx prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, tilegx_frame_this_id, diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c index 5114c1bd2d2..8f25198205e 100644 --- a/gdb/v850-tdep.c +++ b/gdb/v850-tdep.c @@ -1320,6 +1320,7 @@ v850_frame_this_id (struct frame_info *this_frame, void **this_cache, } static const struct frame_unwind v850_frame_unwind = { + "v850 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, v850_frame_this_id, diff --git a/gdb/vax-tdep.c b/gdb/vax-tdep.c index 5e6c65ae442..249b0bf6773 100644 --- a/gdb/vax-tdep.c +++ b/gdb/vax-tdep.c @@ -390,6 +390,7 @@ vax_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind vax_frame_unwind = { + "vax prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, vax_frame_this_id, diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c index 834c8f0c875..0d348bf2674 100644 --- a/gdb/xstormy16-tdep.c +++ b/gdb/xstormy16-tdep.c @@ -736,6 +736,7 @@ xstormy16_frame_base_address (struct frame_info *this_frame, void **this_cache) } static const struct frame_unwind xstormy16_frame_unwind = { + "xstormy16 prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, xstormy16_frame_this_id, diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c index 246921253d2..6862a03ea2b 100644 --- a/gdb/xtensa-tdep.c +++ b/gdb/xtensa-tdep.c @@ -1499,6 +1499,7 @@ xtensa_frame_prev_register (struct frame_info *this_frame, static const struct frame_unwind xtensa_unwind = { + "xtensa prologue", NORMAL_FRAME, default_frame_unwind_stop_reason, xtensa_frame_this_id, -- 2.30.2