DWARF_ADD_AT_CONST_VALUE_STRING(3)

DWARF_ADD_AT_CONST_VALUE_STRING(3) | Library Functions Manual | DWARF_ADD_AT_CONST_VALUE_STRING(3)

# NAME

dwarf_add_AT_const_value_signedint, dwarf_add_AT_const_value_string, dwarf_add_AT_const_value_unsignedint — create and attach a DW_AT_const_value attribute

# LIBRARY

DWARF Access Library (libdwarf, -ldwarf)

# SYNOPSIS

#include <libdwarf.h>

Dwarf_P_Attribute
dwarf_add_AT_const_value_signedint(Dwarf_P_Die die, Dwarf_Signed value, Dwarf_Error *err);

Dwarf_P_Attribute
dwarf_add_AT_const_value_string(Dwarf_P_Die die, char *str, Dwarf_Error *err);

Dwarf_P_Attribute
dwarf_add_AT_const_value_unsignedint(Dwarf_P_Die die, Dwarf_Unsigned value, Dwarf_Error *err);

# DESCRIPTION

These functions create a DW_AT_const_value attribute descriptor and attach it to the debugging information entry referenced by argument die.

Argument die should reference a debugging information entry allocated using dwarf_new_die(3).

Function dwarf_add_AT_const_value_signedint() creates a DW_AT_const_value attribute descriptor containing the signed value specified by argument value. The created attribute descriptor will have DWARF form DW_FORM_sdata.

Function dwarf_add_AT_const_value_unsignedint() creates a DW_AT_const_value attribute descriptor containing the unsigned value specified by argument value. The created attribute descriptor will have DWARF form DW_FORM_udata.

Function dwarf_add_AT_const_value_string() creates a DW_AT_const_value attribute descriptor containing the string pointed to by the NUL-terminated argument str. The created attribute descriptor will have DWARF form DW_FORM_strp.

If argument err is not NULL, it will be used by these functions to store error information in case of an error.

# RETURN VALUES

On success, these functions return the created attribute descriptor. In case of an error, these functions return DW_DLV_BADADDR and set the argument err.

# ERRORS

These functions can fail with:

[DW_DLE_ARGUMENT]
  Either of the arguments die or str was NULL.
[DW_DLE_MEMORY]
  An out of memory condition was encountered during execution.

# SEE ALSO

dwarf(3), dwarf_add_AT_name(3), dwarf_add_AT_signed_const(3), dwarf_add_AT_string(3), dwarf_add_AT_unsigned_const(3), dwarf_new_die(3)

September 4, 2011 | NetBSD 7.1