libdwarf
Functions
Names DW_TAG_member etc as strings

Given a value you know is one of a particular name category in DWARF2 or later, call the appropriate function and on finding the name it returns DW_DLV_OK and sets the identifier for the value through a pointer. On success these functions return the string corresponding to dw_val_in passed in through the pointer dw_s_out and the value returned is DW_DLV_OK. More...

Functions

int dwarf_get_ACCESS_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_ACCESS_name
 
int dwarf_get_ADDR_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_ADDR_name
 
int dwarf_get_AT_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_AT_name
 
int dwarf_get_ATCF_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_AT_name
 
int dwarf_get_ATE_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_ATE_name
 
int dwarf_get_CC_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_CC_name
 
int dwarf_get_CFA_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_CFA_name
 
int dwarf_get_children_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_children_namea - historic misspelling.
 
int dwarf_get_CHILDREN_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_CHILDREN_name
 
int dwarf_get_DEFAULTED_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_DEFAULTED_name
 
int dwarf_get_DS_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_DS_name
 
int dwarf_get_DSC_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_DSC_name
 
int dwarf_get_GNUIKIND_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_GNUIKIND_name - libdwarf invention More...
 
int dwarf_get_EH_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_EH_name More...
 
int dwarf_get_END_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_END_name
 
int dwarf_get_FORM_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_FORM_name
 
int dwarf_get_FRAME_name (unsigned int dw_val_in, const char **dw_s_out)
 This is a set of register names. More...
 
int dwarf_get_GNUIVIS_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_GNUIVIS_name - a libdwarf invention More...
 
int dwarf_get_ID_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_ID_name
 
int dwarf_get_IDX_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_IDX_name
 
int dwarf_get_INL_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_INL_name
 
int dwarf_get_ISA_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_ISA_name
 
int dwarf_get_LANG_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_LANG_name
 
int dwarf_get_LLE_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_LLE_name
 
int dwarf_get_LLEX_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_LLEX_name - a GNU extension. More...
 
int dwarf_get_LNCT_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_LNCT_name
 
int dwarf_get_LNE_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_LNE_name
 
int dwarf_get_LNS_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_LNS_name
 
int dwarf_get_MACINFO_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_MACINFO_name More...
 
int dwarf_get_MACRO_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_MACRO_name More...
 
int dwarf_get_OP_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_OP_name
 
int dwarf_get_ORD_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_ORD_name
 
int dwarf_get_RLE_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_RLE_name
 
int dwarf_get_SECT_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_SECT_name
 
int dwarf_get_TAG_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_TAG_name
 
int dwarf_get_UT_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_UT_name
 
int dwarf_get_VIRTUALITY_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_VIRTUALITY_name
 
int dwarf_get_VIS_name (unsigned int dw_val_in, const char **dw_s_out)
 dwarf_get_VIS_name
 
int dwarf_get_FORM_CLASS_name (enum Dwarf_Form_Class dw_fc, const char **dw_s_out)
 dwarf_get_FORM_CLASS_name is for a libdwarf extension. Not defined by the DWARF standard though the concept is defined in the standard. It seemed essential to invent it for libdwarf to report correctly. More...
 

Detailed Description

Given a value you know is one of a particular name category in DWARF2 or later, call the appropriate function and on finding the name it returns DW_DLV_OK and sets the identifier for the value through a pointer. On success these functions return the string corresponding to dw_val_in passed in through the pointer dw_s_out and the value returned is DW_DLV_OK.

The strings are in static storage and must not be freed.

If DW_DLV_NO_ENTRY is returned the dw_val_in is not known and *s_out is not set. This is unusual.

DW_DLV_ERROR is never returned.

See also
Example getting tag,attribute,etc names

Function Documentation

◆ dwarf_get_GNUIKIND_name()

int dwarf_get_GNUIKIND_name ( unsigned int  dw_val_in,
const char **  dw_s_out 
)

dwarf_get_GNUIKIND_name - libdwarf invention

dwarf_get_GNUIKIND_name

dwarf_get_GNUIKIND_name - a libdwarf invention

So we can report things GNU extensions sensibly.

So we report a GNU extension sensibly.

◆ dwarf_get_EH_name()

int dwarf_get_EH_name ( unsigned int  dw_val_in,
const char **  dw_s_out 
)

dwarf_get_EH_name

So we can report this GNU extension sensibly.

◆ dwarf_get_FRAME_name()

int dwarf_get_FRAME_name ( unsigned int  dw_val_in,
const char **  dw_s_out 
)

This is a set of register names.

The set of register names is unlikely to match your register set, but perhaps this is better than no name.

◆ dwarf_get_GNUIVIS_name()

int dwarf_get_GNUIVIS_name ( unsigned int  dw_val_in,
const char **  dw_s_out 
)

dwarf_get_GNUIVIS_name - a libdwarf invention

So we report a GNU extension sensibly.

◆ dwarf_get_LLEX_name()

int dwarf_get_LLEX_name ( unsigned int  dw_val_in,
const char **  dw_s_out 
)

dwarf_get_LLEX_name - a GNU extension.

The name is a libdwarf invention for the GNU extension. So we report a GNU extension sensibly.

◆ dwarf_get_MACINFO_name()

int dwarf_get_MACINFO_name ( unsigned int  dw_val_in,
const char **  dw_s_out 
)

dwarf_get_MACINFO_name

Used in DWARF2-DWARF4

◆ dwarf_get_MACRO_name()

int dwarf_get_MACRO_name ( unsigned int  dw_val_in,
const char **  dw_s_out 
)

dwarf_get_MACRO_name

Used in DWARF5

◆ dwarf_get_FORM_CLASS_name()

int dwarf_get_FORM_CLASS_name ( enum Dwarf_Form_Class  dw_fc,
const char **  dw_s_out 
)

dwarf_get_FORM_CLASS_name is for a libdwarf extension. Not defined by the DWARF standard though the concept is defined in the standard. It seemed essential to invent it for libdwarf to report correctly.

See DWARF5 Table 2.3, Classes of Attribute Value page 23. Earlier DWARF versions have a similar table.