From a154d838a70e96d888620c072e2d6ea8bdf044ca Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Tue, 29 Jun 2021 12:05:03 -0400 Subject: 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 3cda054..db55c09 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,12 @@ 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. * frame.c: Use frame_debug_printf throughout when printing frame debug messages. diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c index dea16e7..4b5af46 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 a062ad9..52d0bf0 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 90ff813..7538c56 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 cdb09d0..070f196 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 3afac3c..c028e1b 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 5442e52..fe8a3a0 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 3afbf42..b793a18 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 09b38e5..e4e7aec 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 5853e69..6ef73d5 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 e3d6eee..bdf8ab9 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 a29cd90..e520d5d 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 01ef160..a0ff594 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 609b684..5940429 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 68a6937..ed2c778 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 d27211e..f112b4e 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 f8612c9..8d24559 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 b19e95d..0fef2c1 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 da0b4bc..e46c7ff 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 098df17..1f38215 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 f5edfc7..ead4488 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 2d8ffea..ff03acb 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 2afe970..7d4495f 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 cea6768..4bdaa1d 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 ffb3394..db26195 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 387863f..3f5606d 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 973085e..e436437 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 895808a..aa47b21 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 5ee94af..c98af18 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 7ec1469..69bc758 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 1de785b..b3c52c0 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 6fed696..123a1a9 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 1095514..550a63d 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 1d42a0a..24807de 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 e504f37..b5839be 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 4a1d077..c141711 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 c72f485..7543a35 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 76cc38b..7397e62 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 0dcfa48..89fde0a 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 5419dd3..0c3316d 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 f08dff4..63cac48 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 2aee4f1..f16cdaa 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 cefd547..2961f2a 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 9af37d6..c48f9f7 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 7fa4475..06a468c 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 e30a016..36f4979 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 8fd3695..b090680 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 db6c41b..91f2157 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 d03df96..f41c8bb 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 b92f11c..98b3e40 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 18ea243..3d87a19 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 00affb8..bf899eb 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 d942b05..19e2616 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 c9394b2..1c4829f 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 02d492b..3717f2b 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 a629450..826f026 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 4aaff4e..6715e73 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 13615f0..faf63c4 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 4a39681..04a4ff8 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 4905bca..2579ee8 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 531b308..91d79f4 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 8016d06..42ef722 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 4dd5d9f..bfb220a 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 c2de5b5..e34405c 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 e198e97..1215bdd 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 ce92e7b..f214449 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 a6df0fc..1b42068 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 6f906d5..6dad813 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 7fa0c1a..0438093 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 cf3138a..033779e 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 c4293c9..6aea8bd 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 4157594..3464411 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 01dd86c..fb18b79 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 73ed1d8..9451ff5 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 5114c1b..8f25198 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 5e6c65a..249b0bf 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 834c8f0..0d348bf 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 2469212..6862a03 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, -- cgit v1.1