diff options
Diffstat (limited to 'sysdeps/generic/gccframe.h')
-rw-r--r-- | sysdeps/generic/gccframe.h | 32 |
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; }; |