diff options
Diffstat (limited to 'gcc/unwind-dw2-fde.h')
-rw-r--r-- | gcc/unwind-dw2-fde.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/unwind-dw2-fde.h b/gcc/unwind-dw2-fde.h index 23f6f7e6ca9..b7d96cfe992 100644 --- a/gcc/unwind-dw2-fde.h +++ b/gcc/unwind-dw2-fde.h @@ -61,6 +61,10 @@ struct object size_t i; } s; +#ifdef DWARF2_OBJECT_END_PTR_EXTENSION + char *fde_end; +#endif + struct object *next; }; @@ -160,3 +164,13 @@ next_fde (fde *f) } extern fde * _Unwind_Find_FDE (void *, struct dwarf_eh_bases *); + +static inline int +last_fde (struct object *obj, fde *f) +{ +#ifdef DWARF2_OBJECT_END_PTR_EXTENSION + return (char *)f == obj->fde_end || f->length == 0; +#else + return f->length == 0; +#endif +} |