DWARF_ADD_AT_LOCATION_EXPR(3) | Library Functions Manual | DWARF_ADD_AT_LOCATION_EXPR(3) |
dwarf_add_AT_location_expr
—
#include <libdwarf.h>
Dwarf_P_Attribute
dwarf_add_AT_location_expr
(Dwarf_P_Debug
dbg, Dwarf_P_Die die, Dwarf_Half
attr, Dwarf_P_Expr loc_expr,
Dwarf_Error *err);
dwarf_add_AT_location_expr
() creates an
attribute descriptor for a location expression and attaches it to the
debugging information entry referenced by argument die.
Argument dbg should reference a DWARF producer instance allocated using dwarf_producer_init(3) or dwarf_producer_init_b(3).
Argument die should reference a debugging information entry allocated using dwarf_new_die(3).
Argument attr specifies the attribute code of the created attribute descriptor.
Argument loc_expr should reference a location expression descriptor allocated using dwarf_new_expr(3).
The attribute created by function
dwarf_add_AT_location_expr
() will have one of the
DWARF forms DW_FORM_block
,
DW_FORM_block1
,
DW_FORM_block2
or
DW_FORM_block4
, depending on the size of the byte
stream generated by the location expression descriptor referenced by
argument loc_expr.
If argument err is not NULL, it will be used by to store error information in case of an error.
dwarf_add_AT_location_expr
()
returns the created attribute descriptor. In case of an error, function
dwarf_add_AT_location_expr
() returns
DW_DLV_BADADDR
and sets the argument
err.
dwarf_add_AT_location_expr
() can fail with:
DW_DLE_ARGUMENT
]DW_DLE_MEMORY
]September 5, 2011 | NetBSD 9.2 |