From e0c9811a9097ab88de669ce1109f8d63c9732e0d Mon Sep 17 00:00:00 2001
From: Jim Wilson <wilson@tuliptree.org>
Date: Thu, 25 May 2000 02:00:14 +0000
Subject: IA-64 unwind info changes, fix errors, add missing pieces, and some
 cleanup. 	* config/tc-ia64.c (dot_restorereg_p): New function. 
 (md_pseudo_table): Add restorereg.p. 	...

---
 gas/config/tc-ia64.h | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

(limited to 'gas/config/tc-ia64.h')

diff --git a/gas/config/tc-ia64.h b/gas/config/tc-ia64.h
index db8d7a4d10c..5d15b22776f 100644
--- a/gas/config/tc-ia64.h
+++ b/gas/config/tc-ia64.h
@@ -1,5 +1,5 @@
 /* tc-ia64.h -- Header file for tc-ia64.c.
-   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
    This file is part of GAS, the GNU Assembler.
@@ -157,7 +157,7 @@ typedef enum
   bspstore_gr, bspstore_psprel, bspstore_sprel, rnat_when, rnat_gr,
   rnat_psprel, rnat_sprel, epilogue, label_state, copy_state,
   spill_psprel, spill_sprel, spill_reg, spill_psprel_p, spill_sprel_p,
-  spill_reg_p
+  spill_reg_p, unwabi
 } unw_record_type;
 
 
@@ -167,8 +167,18 @@ typedef enum
 typedef struct unw_r_record
 {
   unsigned long rlen;
-  unsigned short mask;
+  unsigned short grmask;
   unsigned short grsave;
+  /* masks to represent the union of save.g, save.f, save.b, and
+     save.gf: */
+  unsigned long imask_size;
+  struct
+  {
+    unsigned char *i;
+    unsigned long fr_mem;
+    unsigned char gr_mem;
+    unsigned char br_mem;
+  } mask;
 } unw_r_record;
 
 typedef struct unw_p_record
@@ -184,6 +194,8 @@ typedef struct unw_p_record
   unsigned short grmask;
   unsigned long frmask;
   unsigned short brmask;
+  unsigned char abi;
+  unsigned char context;
 } unw_p_record;
 
 typedef struct unw_b_record
@@ -201,7 +213,8 @@ typedef struct unw_x_record
   unsigned short reg;
   unsigned short treg;
   unsigned short qp;
-  unsigned short xy;   /* Value of the XY field..  */
+  unsigned short ab;	/* Value of the AB field..  */
+  unsigned short xy;	/* Value of the XY field..  */
 } unw_x_record;
 
 /* This structure is used to determine the specific record type and 
-- 
cgit v1.2.1