aboutsummaryrefslogtreecommitdiff
path: root/gdb/tramp-frame.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/tramp-frame.c')
-rw-r--r--gdb/tramp-frame.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/tramp-frame.c b/gdb/tramp-frame.c
index 0fd6ddc..a0e3eb5 100644
--- a/gdb/tramp-frame.c
+++ b/gdb/tramp-frame.c
@@ -86,6 +86,10 @@ tramp_frame_start (const struct tramp_frame *tramp,
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int ti;
+ /* Check if we can use this trampoline. */
+ if (tramp->validate && !tramp->validate (tramp, this_frame, &pc))
+ return 0;
+
/* Search through the trampoline for one that matches the
instruction sequence around PC. */
for (ti = 0; tramp->insn[ti].bytes != TRAMP_SENTINEL_INSN; ti++)