DWARF_ADD_EXPR_GEN(3) | Library Functions Manual | DWARF_ADD_EXPR_GEN(3) |
dwarf_add_expr_gen
—
#include <libdwarf.h>
Dwarf_Unsigned
dwarf_add_expr_gen
(Dwarf_P_Expr
expr, Dwarf_Small opcode,
Dwarf_Unsigned val1, Dwarf_Unsigned
val2, Dwarf_Error *err);
dwarf_add_expr_gen
() adds a location expression
operator to the location expression descriptor referenced by argument
expr.
Argument expr should reference a location expression descriptor allocated using the function dwarf_new_expr(3).
Argument opcode specifies the operation code
of the location expression operator. Valid values for this argument are
those denoted by the DW_OP_
* constants defined in
<libdwarf.h>
.
To generate a DW_OP_addr
operation,
application code should instead use
dwarf_add_expr_addr_b(3).
Argument val1 specifies the first operand of the location expression operator.
Argument val2 specifies the second operand of the location expression operator.
If argument err is not
NULL
, it will be used to store error information in
case of an error.
dwarf_add_expr_gen
() returns the
size in bytes of the location expression byte stream generated. In case of an
error, function dwarf_add_expr_gen
() returns
DW_DLV_NOCOUNT
and sets the argument
err.
dwarf_add_expr_gen
() can fail with:
DW_DLE_ARGUMENT
]NULL
.DW_DLE_LOC_EXPR_BAD
]DW_DLE_MEMORY
]September 9, 2011 | NetBSD 10.1 |