dwarf_expr_into_block —
retrieve the byte stream for a location
expression
DWARF Access Library (libdwarf, -ldwarf)
#include
<libdwarf.h>
Dwarf_Addr
dwarf_expr_into_block(
Dwarf_P_Expr
expr,
Dwarf_Unsigned *length,
Dwarf_Error *err);
Function
dwarf_expr_into_block() retrieves the byte
stream representation of a location expression.
Argument
expr should reference a location
expression descriptor allocated using
dwarf_new_expr(3).
Argument
length should point to a location
which will hold the size in bytes of the retrieved byte stream.
If argument
err is not NULL, it will be used to
store error information in case of an error.
On success, function
dwarf_expr_into_block()
returns the address of the first byte of the generated byte stream. In case of
an error, function
dwarf_expr_into_block()
returns
DW_DLV_BADADDR
and sets the
argument
err.
Function
dwarf_expr_into_block() can fail with:
-
-
- [
DW_DLE_ARGUMENT
]
- One of the arguments expr
or length was NULL.
-
-
- [
DW_DLE_MEMORY
]
- An out of memory condition was encountered during the
execution of the function.
dwarf(3),
dwarf_add_AT_location_expr(3),
dwarf_add_expr_addr(3),
dwarf_add_expr_addr_b(3),
dwarf_add_expr_gen(3),
dwarf_expr_current_offset(3),
dwarf_new_expr(3)