Please ignore this patch for now - I only looked at one specific case where this changed the behavior to be in line with libunwind. Sadly, it breaks other previously working situations. I need to look at this in more detail. Cheers On Donnerstag, 1. November 2018 09:48:18 CET Milian Wolff wrote: > According to the DWARF v3 standard §6.4.3 3., all call frame > instructions up to L1 <= L2 should be interpreted for an FDE. > Elfutils currently only interprets L1 < L2, potentially missing > some instructions when L1 directly points at a DW_CFA_*_loc boundary. > > This patch changes the behavior and makes elfutils behave like > libunwind in that regard. > --- > libdw/cfi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libdw/cfi.c b/libdw/cfi.c > index 341e055b..332c6b8b 100644 > --- a/libdw/cfi.c > +++ b/libdw/cfi.c > @@ -125,7 +125,7 @@ execute_cfi (Dwarf_CFI *cache, > fs->regs[regno].value = (r_value); \ > } while (0) > > - while (program < end) > + while (program <= end) > { > uint8_t opcode = *program++; > Dwarf_Word regno; -- Milian Wolff | milian.wolff@kdab.com | Senior Software Engineer KDAB (Deutschland) GmbH, a KDAB Group company Tel: +49-30-521325470 KDAB - The Qt, C++ and OpenGL Experts