DWARF_ADD_AT_SIGNED_CONST(3) | Library Functions Manual | DWARF_ADD_AT_SIGNED_CONST(3)

# NAME

`dwarf_add_AT_signed_const`, `dwarf_add_AT_unsigned_const` — create and attach constant class attributes

# LIBRARY

DWARF Access Library (libdwarf, -ldwarf)

# SYNOPSIS

`#include <libdwarf.h>`

Dwarf_P_Attribute
`dwarf_add_AT_signed_const`(Dwarf_P_Debug dbg, Dwarf_P_Die die, Dwarf_Half attr, Dwarf_Signed value, Dwarf_Error *err);

Dwarf_P_Attribute
`dwarf_add_AT_unsigned_const`(Dwarf_P_Debug dbg, Dwarf_P_Die die, Dwarf_Half attr, Dwarf_Unsigned value, Dwarf_Error *err);

# DESCRIPTION

These functions create attribute descriptors belonging to the ‘constant’ class and attach them 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.

Function `dwarf_add_AT_signed_const`() creates an attribute descriptor with the signed value specified in argument value.

Function `dwarf_add_AT_unsigned_const`() creates an attribute descriptor with the unsigned value specified in argument value.

The attribute created by these function will have one of the DWARF forms `DW_FORM_data1`, `DW_FORM_data2`, `DW_FORM_data4` or `DW_FORM_data8`, depending on the size of the value specified in argument value.

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 dbg or die was `NULL`.
[`DW_DLE_MEMORY`]
  An out of memory condition was encountered during execution.

# SEE ALSO

dwarf(3), dwarf_add_AT_const_value_signedint(3), dwarf_add_AT_const_value_unsignedint(3), dwarf_add_AT_dataref(3), dwarf_add_AT_ref_address(3), dwarf_add_AT_targ_address_b(3), dwarf_new_die(3), dwarf_producer_init(3), dwarf_producer_init_b(3)

September 4, 2011 | NetBSD 11.0