* s390-opc.c (INSTR_SS_L2RDRD): New.
[deliverable/binutils-gdb.git] / gdb / tramp-frame.h
index 26d4178e7be2e84a1ea18b7646c3b5359792d80a..68e743f7c4aab9570d2f3d6e79954407290f1b8b 100644 (file)
@@ -1,6 +1,6 @@
-/* Signal trampoline unwinder, for GDB the GNU Debugger.
+/* Signal trampoline unwinder.
 
-   Copyright 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 #ifndef TRAMP_FRAME_H
 #define TRAMP_FRAME_H
 
+#include "frame.h"             /* For "enum frame_type".  */
+
 struct trad_frame;
 struct frame_info;
 struct trad_frame_cache;
@@ -45,16 +47,24 @@ struct trad_frame_cache;
 
 struct tramp_frame
 {
-  /* The trampoline's entire instruction sequence.  Search for this in
-     the inferior at or around the frame's PC.  It is assumed that the
-     PC is INSN_SIZE aligned, and that each element of TRAMP contains
-     one INSN_SIZE instruction.  It is also assumed that TRAMP[0]
-     contains the first instruction of the trampoline and hence the
-     address of the instruction matching TRAMP[0] is the trampoline's
-     "func" address.  The instruction sequence shall be terminated by
+  /* The trampoline's type, some a signal trampolines, some are normal
+     call-frame trampolines (aka thunks).  */
+  enum frame_type frame_type;
+  /* The trampoline's entire instruction sequence.  It consists of a
+     bytes/mask pair.  Search for this in the inferior at or around
+     the frame's PC.  It is assumed that the PC is INSN_SIZE aligned,
+     and that each element of TRAMP contains one INSN_SIZE
+     instruction.  It is also assumed that INSN[0] contains the first
+     instruction of the trampoline and hence the address of the
+     instruction matching INSN[0] is the trampoline's "func" address.
+     The instruction sequence is terminated by
      TRAMP_SENTINEL_INSN.  */
   int insn_size;
-  ULONGEST insn[8];
+  struct
+  {
+    ULONGEST bytes;
+    ULONGEST mask;
+  } insn[16];
   /* Initialize a trad-frame cache corresponding to the tramp-frame.
      FUNC is the address of the instruction TRAMP[0] in memory.  */
   void (*init) (const struct tramp_frame *self,
This page took 0.02352 seconds and 4 git commands to generate.