gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / tramp-frame.h
index 3f73e85c1c8ba8cddf45ab8e6e4372d2eaaf7498..f40e47bf62fc3eff73f9fd613187fcf8a897b47d 100644 (file)
@@ -1,6 +1,6 @@
 /* Signal trampoline unwinder.
 
-   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2004-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -34,14 +34,14 @@ struct trad_frame_cache;
    The only way to identify a trampoline is to perform a brute force
    examination of the instructions at and around the PC.
 
-   This module provides a convent interface for performing that
+   This module provides a convenient interface for performing that
    operation.  */
 
 /* A trampoline descriptor.  */
 
 /* Magic instruction that to mark the end of the signal trampoline
    instruction sequence.  */
-#define TRAMP_SENTINEL_INSN ((LONGEST) -1)
+#define TRAMP_SENTINEL_INSN ULONGEST_MAX
 
 struct tramp_frame
 {
@@ -69,6 +69,13 @@ struct tramp_frame
                struct frame_info *this_frame,
                struct trad_frame_cache *this_cache,
                CORE_ADDR func);
+  /* Return non-zero if the tramp-frame is valid for the PC requested.
+     Adjust the PC to point to the address to check the instruction
+     sequence against if required.  If this is NULL, then the tramp-frame
+     is valid for any PC.  */
+  int (*validate) (const struct tramp_frame *self,
+                  struct frame_info *this_frame,
+                  CORE_ADDR *pc);
 };
 
 void tramp_frame_prepend_unwinder (struct gdbarch *gdbarch,
This page took 0.02819 seconds and 4 git commands to generate.