diff --git a/libgcc/unwind-dw2-fde.h b/libgcc/unwind-dw2-fde.h index 88e802811..558315ed1 100644 --- a/libgcc/unwind-dw2-fde.h +++ b/libgcc/unwind-dw2-fde.h @@ -168,6 +168,9 @@ extern const fde * _Unwind_Find_FDE (void *, struct dwarf_eh_bases *); static inline int last_fde (struct object *obj __attribute__ ((__unused__)), const fde *f) { + if (f->length >= 0xfffffff0) /* special DWARF extension */ + return 1; + #ifdef DWARF2_OBJECT_END_PTR_EXTENSION return f == (const fde *) obj->fde_end || f->length == 0; #else