[Dwarf-Discuss] Use of Location Description operations in DWARF Expressions?

2020-03-19 Thread David Stenberg via Dwarf-Discuss
Hi! This is something that has popped up in a number of LLVM patch reviews, and is something that we would like to get some help with clarifying. For DWARF[345], may a DWARF Expression (described in section 2.5) contain any of the operations listed under the Location Descriptions section (2.6)? F

Re: [Dwarf-Discuss] Location list entries for caller-saved registers at time of call

2018-12-07 Thread David Stenberg via Dwarf-Discuss
On tor, 2018-12-06 at 17:47 -0800, Cary Coutant via Dwarf-Discuss wrote: > But we're getting sidetracked from the OP's question: Does GCC in > fact > subtract one from the upper bound of a location list entry for a > variable contained in a caller-saved register? I can think of no > reason why it s

Re: [Dwarf-Discuss] Location list entries for caller-saved registers at time of call

2018-12-06 Thread David Stenberg via Dwarf-Discuss
On tor, 2018-12-06 at 16:32 +0100, Andreas Arnez via Dwarf-Discuss wrote: > If GDB uses caller-saved register values from the inner-most frame in > outer frames, then this is a bug.  Note that this could also be > caused > by bad CFI. Hmm, right. I'm not very familiar with the design philosophy of

[Dwarf-Discuss] Location list entries for caller-saved registers at time of call

2018-12-06 Thread David Stenberg via Dwarf-Discuss
Hi! When GDB and LLDB perform virtual unwinding, they subtract one byte from the return addresses of the outer frames. This is for example necessary when unwinding from a non-returning call that is placed last in the function, as the return address then can point to a different function. I assume