| Main index | Section 3 | Options |
#include <libdwarf.h>
The application can use the functions dwarf_add_expr_gen(3) and dwarf_add_expr_addr_b(3) to add location expression operators to the created descriptor. When done, the application can call the function dwarf_expr_into_block(3) to retrieve the generated byte stream for the location expression, or call the function dwarf_add_AT_location_expr(3) to create an attribute with the location expression stream as its value.
Argument dbg should reference a DWARF producer instance allocated using dwarf_producer_init(3) or dwarf_producer_init_b(3).
If argument err is not NULL, it will be used to store error information in case of an error.
Dwarf_P_Debug dbg; Dwarf_Error de; Dwarf_P_Expr pe; Dwarf_Addr buf; Dwarf_Unsigned len;/* ...Assume that `dbg' refers to a DWARF producer instance... */
if ((pe = dwarf_new_expr(dbg, &de)) == DW_DLV_BADADDR) { warnx("dwarf_new_expr failed: %s", dwarf_errmsg(-1)); return; }
if (dwarf_add_expr_gen(pe, DW_OP_regx, 55, 0, &de) == DW_DLV_NOCOUNT) { warnx("dwarf_add_expr_gen failed: %s", dwarf_errmsg(-1)); return; }
if ((buf = dwarf_expr_into_block(pe, &len, &de)) == DW_DLV_BADADDR) { warnx("dwarf_expr_into_block failed: %s", dwarf_errmsg(-1)); return; }
| [DW_DLE_ARGUMENT] | Argument dbg was NULL. |
| [DW_DLE_MEMORY] | An out of memory condition was encountered during the execution of the function. |
| DWARF_NEW_EXPR (3) | September 8, 2011 |
| Main index | Section 3 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
| “ | "I liken starting one's computing career with Unix, say as an undergraduate, to being born in East Africa. It is intolerably hot, your body is covered with lice and flies, you are malnourished and you suffer from numerous curable diseases. But, as far as young East Africans can tell, this is simply the natural condition and they live within it. By the time they find out differently, it is too late. They already think that the writing of shell scripts is a natural act." | ” |
| — Ken Pier, Xerox PARC | ||