diff options
author | Stephen Roberts <43952910+stephen-roberts-work@users.noreply.github.com> | 2018-11-13 16:57:42 +0000 |
---|---|---|
committer | Dave Watson <davejwatson@fb.com> | 2018-11-13 08:57:42 -0800 |
commit | 748a2df11f0d10bd39fd5291d2b27b61392732da (patch) | |
tree | 6ad18852707f713cae689cd1734a7759863cdc92 /include | |
parent | f551e16213c52169af8bda554e4051b756a169cc (diff) | |
download | libunwind-748a2df11f0d10bd39fd5291d2b27b61392732da.tar.gz |
dwarf: Push correct CFA onto stack for dwarf expression evaluation. (#93)
dwarf: Push correct CFA onto stack for dwarf expression evaluation.
This change fixes a bug where stale CFAs were pushed onto the dwarf
expression stack before expression evaluation. Some optimising compilers
emit CFI which relies on this being correct.
Diffstat (limited to 'include')
-rw-r--r-- | include/dwarf.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/dwarf.h b/include/dwarf.h index fab93c61..764f6f20 100644 --- a/include/dwarf.h +++ b/include/dwarf.h @@ -419,7 +419,7 @@ extern int dwarf_find_unwind_table (struct elf_dyn_info *edi, unw_addr_space_t a unw_word_t ip); extern void dwarf_put_unwind_info (unw_addr_space_t as, unw_proc_info_t *pi, void *arg); -extern int dwarf_eval_expr (struct dwarf_cursor *c, unw_word_t *addr, +extern int dwarf_eval_expr (struct dwarf_cursor *c, unw_word_t stack_val, unw_word_t *addr, unw_word_t len, unw_word_t *valp, int *is_register); extern int |