libdw: Record ill-specified CFA rule and diagnose in dwarf_frame_cfa, not immediately at decode time.
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 50fba72..a6e8457 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,5 +1,10 @@
2010-04-26 Roland McGrath <roland@redhat.com>
+ * cfi.h (struct Dwarf_Frame_s): Add cfa_invalid alternative in cfa_rule.
+ * cfi.c (execute_cfi): Set that instead of doing cfi_assert for
+ DW_CFA_def_cfa_{offset*,register} when a non-offset rule is in force.
+ * dwarf_frame_cfa.c (dwarf_frame_cfa): Handle cfa_invalid.
+
* dwarf_getlocation.c (__libdw_intern_expression): Take new arg CFAP.
Prepend DW_OP_call_frame_cfa if true.
(getlocation): Update caller.