dwarf_formexprloc —
return information about a location
expression
DWARF Access Library (libdwarf, -ldwarf)
#include
<libdwarf.h>
int
dwarf_formexprloc(
Dwarf_Attribute
attr,
Dwarf_Unsigned *retlen,
Dwarf_Ptr *retexpr,
Dwarf_Error *err);
Function
dwarf_formexprloc() allows an application
to retrieve the length and the bytes of a DWARF location expression.
Argument
attr should reference a DWARF
attribute of the form
DW_FORM_exprloc
.
Argument
retlen should point to a location
that will be set to the length of the location expression. Argument
retexpr should point to a location that will
be set to a pointer to the content of the location expression itself.
If argument
err is not NULL, it will be used to
return an error descriptor in case of an error.
The application should not attempt to free the memory area referenced by the
pointer returned in argument
retexpr.
Function
dwarf_formexprloc() returns
DW_DLV_OK
on success. In case of an error,
it returns
DW_DLV_ERROR
and sets argument
err.
Function
dwarf_formexprloc() may fail with the
following errors:
-
-
- [
DW_DLE_ARGUMENT
]
- One of arguments attr,
retlen or
retexpr was NULL.
-
-
- [
DW_DLE_ATTR_FORM_BAD
]
- The attribute referenced by argument
attr was not of form
DW_FORM_exprloc
.
dwarf(3),
dwarf_attr(3),
dwarf_formblock(3),
dwarf_formflag(3),
dwarf_formref(3),
dwarf_formsdata(3),
dwarf_formsig8(3),
dwarf_formstring(3),
dwarf_formudata(3),
dwarf_hasattr(3)