about summary refs log tree commit diff
path: root/sysdeps/generic/gccframe.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/generic/gccframe.h')
-rw-r--r--sysdeps/generic/gccframe.h32
1 files changed, 26 insertions, 6 deletions
diff --git a/sysdeps/generic/gccframe.h b/sysdeps/generic/gccframe.h
index c694877605..1df7d713c0 100644
--- a/sysdeps/generic/gccframe.h
+++ b/sysdeps/generic/gccframe.h
@@ -1,5 +1,5 @@
 /* Definition of object in frame unwind info.  Generic version.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -17,14 +17,34 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-/* This must match what's in frame.h in gcc. */
+#include <sys/types.h>
+
+struct dwarf_fde;
+struct fde_vector;
 
 struct object
 {
   void *pc_begin;
-  void *pc_end;
-  void *fde_begin;
-  void *fde_array;
-  __SIZE_TYPE__ count;
+  void *tbase;
+  void *dbase;
+  union {
+    struct dwarf_fde *single;
+    struct dwarf_fde **array;
+    struct fde_vector *sort;
+  } u;
+
+  union {
+    struct {
+      unsigned long sorted : 1;
+      unsigned long from_array : 1;
+      unsigned long mixed_encoding : 1;
+      unsigned long encoding : 8;
+      /* ??? Wish there was an easy way to detect a 64-bit host here;
+	 we've got 32 bits left to play with... */
+      unsigned long count : 21;
+    } b;
+    size_t i;
+  } s;
+
   struct object *next;
 };