Back to index

glibc  2.9
gccframe.h
Go to the documentation of this file.
00001 /* Definition of object in frame unwind info.  Generic version.
00002    Copyright (C) 2000, 2001 Free Software Foundation, Inc.
00003    This file is part of the GNU C Library.
00004 
00005    The GNU C Library is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Lesser General Public
00007    License as published by the Free Software Foundation; either
00008    version 2.1 of the License, or (at your option) any later version.
00009 
00010    The GNU C Library is distributed in the hope that it will be useful,
00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013    Lesser General Public License for more details.
00014 
00015    You should have received a copy of the GNU Lesser General Public
00016    License along with the GNU C Library; if not, write to the Free
00017    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00018    02111-1307 USA.  */
00019 
00020 #include <sys/types.h>
00021 
00022 struct dwarf_fde;
00023 struct fde_vector;
00024 
00025 struct object
00026 {
00027   void *pc_begin;
00028   void *tbase;
00029   void *dbase;
00030   union {
00031     struct dwarf_fde *single;
00032     struct dwarf_fde **array;
00033     struct fde_vector *sort;
00034   } u;
00035 
00036   union {
00037     struct {
00038       unsigned long sorted : 1;
00039       unsigned long from_array : 1;
00040       unsigned long mixed_encoding : 1;
00041       unsigned long encoding : 8;
00042       /* ??? Wish there was an easy way to detect a 64-bit host here;
00043         we've got 32 bits left to play with... */
00044       unsigned long count : 21;
00045     } b;
00046     size_t i;
00047   } s;
00048 
00049   struct object *next;
00050 };