binutils Newspaper
OCTOBER 6, 2026
binutils — Proposed

gdb, dwarf, ze: add DW_OP_INTEL_regval_bits

Adds support for the new DWARF expression DW_OP_INTEL_regval_bits, which allows accessing specific bit ranges within registers.

This patch adds support for a new DWARF opcode, DW_OP_INTEL_regval_bits, proposed by Intel. This opcode allows debuggers to read specific bit ranges from registers, extending the capabilities of DWARF expressions for more precise debugging information. The implementation involves changes in binutils (for DWARF decoding) and gdb (for expression evaluation), including functions to safely read and copy bit segments from registers.

In Details

This patch series introduces support for DW_OP_INTEL_regval_bits, an Intel-proposed extension to the DWARF expression language. It enables debuggers to precisely extract bit-fields from registers, which is crucial for debugging hardware-level features or specific bitwise manipulations. The changes span binutils' DWARF decoding logic and gdb's expression evaluation engine, including a new helper function read_reg in gdb to handle bitwise extraction from register contents.

For Context
DW_OP_INTEL_regval_bits
A proposed Intel extension to DWARF expressions that allows fetching a specific range of bits from a register.
DWARF
A debugging data format used by many compilers and debuggers to store information about compiled programs, enabling features like source-level debugging.
Expression
In DWARF, a sequence of operations that calculates a value, often used to describe the location or value of a variable or piece of data.
Register
A small, fast storage location within a CPU that holds data and instructions currently being processed.
ZE
Likely refers to 'Zero Extension' or a related concept within Intel's extensions, possibly related to how register bits are handled.
Filed Under: binutilsgdbdwarfdebuggingintel