LIEF: Library to Instrument Executable Formats Version 2.0.0
Loading...
Searching...
No Matches
LIEF::dwarf::CompositeLocation::Piece Struct Reference

A piece of a composite location. More...

#include <Location.hpp>

Public Types

enum class  KIND : uint8_t { BYTE = 0 , BIT }

Public Attributes

KIND kind = KIND::BYTE
 Whether this piece comes from DW_OP_piece or DW_OP_bit_piece.
uint64_t bit_size = 0
 Size of this piece in bits.
uint64_t bit_offset = 0
 Offset (in bits) of this piece within the whole value.
std::optional< uint64_t > source_bit_offset
 For a DW_OP_bit_piece, the offset (in bits) of this piece within its location (e.g. the register).
std::unique_ptr< Location > location
 Location of this piece or a nullptr if it can't be decoded.

Detailed Description

A piece of a composite location.

Member Enumeration Documentation

◆ KIND

enum class LIEF::dwarf::CompositeLocation::Piece::KIND : uint8_t
strong
Enumerator
BYTE 

DW_OP_piece

BIT 

DW_OP_bit_piece

Member Data Documentation

◆ bit_offset

uint64_t LIEF::dwarf::CompositeLocation::Piece::bit_offset = 0

Offset (in bits) of this piece within the whole value.

◆ bit_size

uint64_t LIEF::dwarf::CompositeLocation::Piece::bit_size = 0

Size of this piece in bits.

◆ kind

KIND LIEF::dwarf::CompositeLocation::Piece::kind = KIND::BYTE

Whether this piece comes from DW_OP_piece or DW_OP_bit_piece.

◆ location

std::unique_ptr<Location> LIEF::dwarf::CompositeLocation::Piece::location

Location of this piece or a nullptr if it can't be decoded.

◆ source_bit_offset

std::optional<uint64_t> LIEF::dwarf::CompositeLocation::Piece::source_bit_offset

For a DW_OP_bit_piece, the offset (in bits) of this piece within its location (e.g. the register).


The documentation for this struct was generated from the following file: