summaryrefslogtreecommitdiff
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;
};