summaryrefslogtreecommitdiff
path: root/elfutils/libdw/dwarf_frame_cfa.c
diff options
context:
space:
mode:
Diffstat (limited to 'elfutils/libdw/dwarf_frame_cfa.c')
-rw-r--r--elfutils/libdw/dwarf_frame_cfa.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/elfutils/libdw/dwarf_frame_cfa.c b/elfutils/libdw/dwarf_frame_cfa.c
index d1c57108..0ba26b2f 100644
--- a/elfutils/libdw/dwarf_frame_cfa.c
+++ b/elfutils/libdw/dwarf_frame_cfa.c
@@ -84,10 +84,15 @@ dwarf_frame_cfa (fs, ops, nops)
result = __libdw_intern_expression
(NULL, fs->cache->other_byte_order,
fs->cache->e_ident[EI_CLASS] == ELFCLASS32 ? 4 : 8,
- &fs->cache->expr_tree, &fs->cfa_data.expr, false,
+ &fs->cache->expr_tree, &fs->cfa_data.expr, false, false,
ops, nops, IDX_debug_frame);
break;
+ case cfa_invalid:
+ __libdw_seterrno (DWARF_E_INVALID_CFI);
+ result = -1;
+ break;
+
default:
abort ();
}