dwarf_add_AT_signed_const,
dwarf_add_AT_unsigned_const —
create and attach constant class attributes
DWARF Access Library (libdwarf, -ldwarf)
#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);
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.
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.
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.
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)