diff options
author | kan <kan@FreeBSD.org> | 2004-07-28 03:11:36 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2004-07-28 03:11:36 +0000 |
commit | 5e00ec74d8ce58f99801200d4d3d0412c7cc1b28 (patch) | |
tree | 052f4bb635f2bea2c5e350bd60c902be100a0d1e /contrib/gcc/unwind-dw2-fde.h | |
parent | 87b8398a7d9f9bf0e28bbcd54a4fc27db2125f38 (diff) | |
download | FreeBSD-src-5e00ec74d8ce58f99801200d4d3d0412c7cc1b28.zip FreeBSD-src-5e00ec74d8ce58f99801200d4d3d0412c7cc1b28.tar.gz |
Gcc 3.4.2 20040728.
Diffstat (limited to 'contrib/gcc/unwind-dw2-fde.h')
-rw-r--r-- | contrib/gcc/unwind-dw2-fde.h | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/contrib/gcc/unwind-dw2-fde.h b/contrib/gcc/unwind-dw2-fde.h index 7565c49..16ffa949 100644 --- a/contrib/gcc/unwind-dw2-fde.h +++ b/contrib/gcc/unwind-dw2-fde.h @@ -1,5 +1,5 @@ /* Subroutines needed for unwinding stack frames for exception handling. */ -/* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 +/* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc. Contributed by Jason Merrill <jason@cygnus.com>. @@ -29,12 +29,14 @@ along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifndef GCC_UNWIND_DW2_FDE_H +#define GCC_UNWIND_DW2_FDE_H struct fde_vector { - void *orig_data; + const void *orig_data; size_t count; - struct dwarf_fde *array[]; + const struct dwarf_fde *array[]; }; struct object @@ -43,7 +45,7 @@ struct object void *tbase; void *dbase; union { - struct dwarf_fde *single; + const struct dwarf_fde *single; struct dwarf_fde **array; struct fde_vector *sort; } u; @@ -90,16 +92,16 @@ struct dwarf_eh_bases }; -extern void __register_frame_info_bases (void *, struct object *, +extern void __register_frame_info_bases (const void *, struct object *, void *, void *); -extern void __register_frame_info (void *, struct object *); +extern void __register_frame_info (const void *, struct object *); extern void __register_frame (void *); extern void __register_frame_info_table_bases (void *, struct object *, void *, void *); extern void __register_frame_info_table (void *, struct object *); extern void __register_frame_table (void *); -extern void *__deregister_frame_info (void *); -extern void *__deregister_frame_info_bases (void *); +extern void *__deregister_frame_info (const void *); +extern void *__deregister_frame_info_bases (const void *); extern void __deregister_frame (void *); @@ -151,22 +153,22 @@ typedef struct dwarf_fde fde; /* Locate the CIE for a given FDE. */ -static inline struct dwarf_cie * -get_cie (struct dwarf_fde *f) +static inline const struct dwarf_cie * +get_cie (const struct dwarf_fde *f) { return (void *)&f->CIE_delta - f->CIE_delta; } -static inline fde * -next_fde (fde *f) +static inline const fde * +next_fde (const fde *f) { - return (fde *) ((char *) f + f->length + sizeof (f->length)); + return (const fde *) ((char *) f + f->length + sizeof (f->length)); } -extern fde * _Unwind_Find_FDE (void *, struct dwarf_eh_bases *); +extern const fde * _Unwind_Find_FDE (void *, struct dwarf_eh_bases *); static inline int -last_fde (struct object *obj __attribute__ ((__unused__)), fde *f) +last_fde (struct object *obj __attribute__ ((__unused__)), const fde *f) { #ifdef DWARF2_OBJECT_END_PTR_EXTENSION return (char *)f == obj->fde_end || f->length == 0; @@ -174,3 +176,5 @@ last_fde (struct object *obj __attribute__ ((__unused__)), fde *f) return f->length == 0; #endif } + +#endif /* unwind-dw2-fde.h */ |