DWARF_FORMEXPRLOC(3) Library Functions Manual DWARF_FORMEXPRLOC(3)

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:
[]
One of arguments attr, retlen or retexpr was NULL.
[]
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)
July 25, 2010 NetBSD 9.0