Overview of a DWARF-6 change: Locations on the stack
- Track: GCC (GNU Toolchain)
- Room: UD6.215
- Day: Saturday
- Start: 11:05
- End: 11:30
- Video only: ud6215
- Chat: Join the conversation!
Version 6 of the DWARF debugging information format is still a work in progress, with many changes already accepted. This talk will focus on one fundamental change that has been accepted recently: "Issue 230524.1", also known as "Location Descriptions on the DWARF Stack".
The compiler can emit small programs in a bytecode known as DWARF expressions that a consumer (usually a debugger) can evaluate in order to compute an object's location; where in memory or registers it has been placed. Up until DWARF-5, the execution model of such DWARF expressions was not expressive enough to describe how objects are placed on GPUs, or even on CPUs in some cases too. DWARF 6 addresses this by making DWARF locations regular stack elements on the DWARF expression evaluation stack, which has many interesting cascading consequences, including enabling expressiveness, factorization, and more.
In this presentation, we will discuss the execution model of DWARF expressions, the proposed changes and follow-up extensions this change enables.
Speakers
| Lancelot SIX |