#ifndef _LIBDWARF_H
#define _LIBDWARF_H
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __SGI_FAST_LIBELF
struct elf_sgi;
typedef struct elf_sgi* dwarf_elf_handle;
#else
struct Elf;
typedef struct Elf* dwarf_elf_handle;
#endif
#if (_MIPS_SZLONG == 64)
typedef int Dwarf_Bool;
typedef unsigned long Dwarf_Off;
typedef unsigned long Dwarf_Unsigned;
typedef unsigned short Dwarf_Half;
typedef unsigned char Dwarf_Small;
typedef signed long Dwarf_Signed;
typedef unsigned long Dwarf_Addr;
#else
typedef int Dwarf_Bool;
typedef unsigned long long Dwarf_Off;
typedef unsigned long long Dwarf_Unsigned;
typedef unsigned short Dwarf_Half;
typedef unsigned char Dwarf_Small;
typedef signed long long Dwarf_Signed;
typedef unsigned long long Dwarf_Addr;
#endif
typedef void* Dwarf_Ptr;
typedef struct {
Dwarf_Unsigned bl_len;
Dwarf_Ptr bl_data;
Dwarf_Small bl_from_loclist;
Dwarf_Unsigned bl_section_offset;
} Dwarf_Block;
typedef struct {
Dwarf_Small lr_atom;
Dwarf_Unsigned lr_number;
Dwarf_Unsigned lr_number2;
Dwarf_Unsigned lr_offset;
} Dwarf_Loc;
typedef struct {
Dwarf_Addr ld_lopc;
Dwarf_Addr ld_hipc;
Dwarf_Half ld_cents;
Dwarf_Loc* ld_s;
Dwarf_Small ld_from_loclist;
Dwarf_Unsigned ld_section_offset;
} Dwarf_Locdesc;
typedef struct {
Dwarf_Small fp_base_op;
Dwarf_Small fp_extended_op;
Dwarf_Half fp_register;
Dwarf_Unsigned fp_offset;
Dwarf_Off fp_instr_offset;
} Dwarf_Frame_Op;
typedef struct {
Dwarf_Small fp_base_op;
Dwarf_Small fp_extended_op;
Dwarf_Half fp_register;
Dwarf_Unsigned fp_offset_or_block_len;
Dwarf_Small *fp_expr_block;
Dwarf_Off fp_instr_offset;
} Dwarf_Frame_Op3;
#ifndef DW_REG_TABLE_SIZE
#define DW_REG_TABLE_SIZE 66
#endif
#ifndef DW_FRAME_REG_INITIAL_VALUE
#define DW_FRAME_REG_INITIAL_VALUE DW_FRAME_SAME_VAL
#endif
#define DW_FRAME_UNDEFINED_VAL 1034
#define DW_FRAME_SAME_VAL 1035
#define DW_FRAME_CFA_COL3 1036
#define DW_EXPR_OFFSET 0
#define DW_EXPR_VAL_OFFSET 1
#define DW_EXPR_EXPRESSION 2
#define DW_EXPR_VAL_EXPRESSION 3
typedef struct Dwarf_Regtable_Entry_s {
Dwarf_Small dw_offset_relevant;
Dwarf_Small dw_value_type;
Dwarf_Half dw_regnum;
Dwarf_Addr dw_offset;
} Dwarf_Regtable_Entry;
typedef struct Dwarf_Regtable_s {
struct Dwarf_Regtable_Entry_s rules[DW_REG_TABLE_SIZE];
} Dwarf_Regtable;
struct Dwarf_Reg_value3_s;
typedef struct Dwarf_Reg_value3_s Dwarf_Reg_Value3;
typedef struct Dwarf_Regtable_Entry3_s {
Dwarf_Small dw_offset_relevant;
Dwarf_Small dw_value_type;
Dwarf_Half dw_regnum;
Dwarf_Unsigned dw_offset_or_block_len;
Dwarf_Ptr dw_block_ptr;
}Dwarf_Regtable_Entry3;
typedef struct Dwarf_Regtable3_s {
struct Dwarf_Regtable_Entry3_s rt3_cfa_rule;
Dwarf_Half rt3_reg_table_size;
struct Dwarf_Regtable_Entry3_s * rt3_rules;
} Dwarf_Regtable3;
int dwarf_frame_get_reg_register(struct Dwarf_Regtable_Entry3_s *reg_in,
Dwarf_Small *offset_relevant,
Dwarf_Half *regnum_out,
Dwarf_Signed *offset_out);
int dwarf_frame_get_reg_expression(struct Dwarf_Regtable_Entry3_s *reg_in,
Dwarf_Block *block_out);
enum Dwarf_Rel_Type {
dwarf_drt_none,
dwarf_drt_data_reloc,
dwarf_drt_segment_rel,
dwarf_drt_first_of_length_pair,
dwarf_drt_second_of_length_pair
};
typedef struct Dwarf_Relocation_Data_s * Dwarf_Relocation_Data;
struct Dwarf_Relocation_Data_s {
unsigned char drd_type;
unsigned char drd_length;
Dwarf_Unsigned drd_offset;
Dwarf_Unsigned drd_symbol_index;
};
typedef struct Dwarf_Debug_s* Dwarf_Debug;
typedef struct Dwarf_Die_s* Dwarf_Die;
typedef struct Dwarf_Line_s* Dwarf_Line;
typedef struct Dwarf_Global_s* Dwarf_Global;
typedef struct Dwarf_Func_s* Dwarf_Func;
typedef struct Dwarf_Type_s* Dwarf_Type;
typedef struct Dwarf_Var_s* Dwarf_Var;
typedef struct Dwarf_Weak_s* Dwarf_Weak;
typedef struct Dwarf_Error_s* Dwarf_Error;
typedef struct Dwarf_Attribute_s* Dwarf_Attribute;
typedef struct Dwarf_Abbrev_s* Dwarf_Abbrev;
typedef struct Dwarf_Fde_s* Dwarf_Fde;
typedef struct Dwarf_Cie_s* Dwarf_Cie;
typedef struct Dwarf_Arange_s* Dwarf_Arange;
typedef struct Dwarf_P_Debug_s* Dwarf_P_Debug;
typedef struct Dwarf_P_Die_s* Dwarf_P_Die;
typedef struct Dwarf_P_Attribute_s* Dwarf_P_Attribute;
typedef struct Dwarf_P_Fde_s* Dwarf_P_Fde;
typedef struct Dwarf_P_Expr_s* Dwarf_P_Expr;
typedef Dwarf_Unsigned Dwarf_Tag;
typedef void (*Dwarf_Handler)(Dwarf_Error , Dwarf_Ptr );
#define DW_DLA_STRING 0x01
#define DW_DLA_LOC 0x02
#define DW_DLA_LOCDESC 0x03
#define DW_DLA_ELLIST 0x04
#define DW_DLA_BOUNDS 0x05
#define DW_DLA_BLOCK 0x06
#define DW_DLA_DEBUG 0x07
#define DW_DLA_DIE 0x08
#define DW_DLA_LINE 0x09
#define DW_DLA_ATTR 0x0a
#define DW_DLA_TYPE 0x0b
#define DW_DLA_SUBSCR 0x0c
#define DW_DLA_GLOBAL 0x0d
#define DW_DLA_ERROR 0x0e
#define DW_DLA_LIST 0x0f
#define DW_DLA_LINEBUF 0x10
#define DW_DLA_ARANGE 0x11
#define DW_DLA_ABBREV 0x12
#define DW_DLA_FRAME_OP 0x13
#define DW_DLA_CIE 0x14
#define DW_DLA_FDE 0x15
#define DW_DLA_LOC_BLOCK 0x16
#define DW_DLA_FRAME_BLOCK 0x17
#define DW_DLA_FUNC 0x18
#define DW_DLA_TYPENAME 0x19
#define DW_DLA_VAR 0x1a
#define DW_DLA_WEAK 0x1b
#define DW_DLA_ADDR 0x1c
#define DW_CIE_AUGMENTER_STRING_V0 "z"
#define DW_DLC_READ 0
#define DW_DLC_WRITE 1
#define DW_DLC_RDWR 2
#define DW_DLC_SIZE_64 0x40000000
#define DW_DLC_SIZE_32 0x20000000
#define DW_DLC_ISA_MIPS 0x00000000
#define DW_DLC_ISA_IA64 0x01000000
#define DW_DLC_STREAM_RELOCATIONS 0x02000000
#define DW_DLC_SYMBOLIC_RELOCATIONS 0x04000000
#define DW_DLC_TARGET_BIGENDIAN 0x08000000
#define DW_DLC_TARGET_LITTLEENDIAN 0x00100000
#define DW_DLS_BACKWARD -1
#define DW_DLS_NOSLIDE 0
#define DW_DLS_FORWARD 1
#define DW_DLE_NE 0
#define DW_DLE_VMM 1
#define DW_DLE_MAP 2
#define DW_DLE_LEE 3
#define DW_DLE_NDS 4
#define DW_DLE_NLS 5
#define DW_DLE_ID 6
#define DW_DLE_IOF 7
#define DW_DLE_MAF 8
#define DW_DLE_IA 9
#define DW_DLE_MDE 10
#define DW_DLE_MLE 11
#define DW_DLE_FNO 12
#define DW_DLE_FNR 13
#define DW_DLE_FWA 14
#define DW_DLE_NOB 15
#define DW_DLE_MOF 16
#define DW_DLE_EOLL 17
#define DW_DLE_NOLL 18
#define DW_DLE_BADOFF 19
#define DW_DLE_EOS 20
#define DW_DLE_ATRUNC 21
#define DW_DLE_BADBITC 22
#define DW_DLE_DBG_ALLOC 23
#define DW_DLE_FSTAT_ERROR 24
#define DW_DLE_FSTAT_MODE_ERROR 25
#define DW_DLE_INIT_ACCESS_WRONG 26
#define DW_DLE_ELF_BEGIN_ERROR 27
#define DW_DLE_ELF_GETEHDR_ERROR 28
#define DW_DLE_ELF_GETSHDR_ERROR 29
#define DW_DLE_ELF_STRPTR_ERROR 30
#define DW_DLE_DEBUG_INFO_DUPLICATE 31
#define DW_DLE_DEBUG_INFO_NULL 32
#define DW_DLE_DEBUG_ABBREV_DUPLICATE 33
#define DW_DLE_DEBUG_ABBREV_NULL 34
#define DW_DLE_DEBUG_ARANGES_DUPLICATE 35
#define DW_DLE_DEBUG_ARANGES_NULL 36
#define DW_DLE_DEBUG_LINE_DUPLICATE 37
#define DW_DLE_DEBUG_LINE_NULL 38
#define DW_DLE_DEBUG_LOC_DUPLICATE 39
#define DW_DLE_DEBUG_LOC_NULL 40
#define DW_DLE_DEBUG_MACINFO_DUPLICATE 41
#define DW_DLE_DEBUG_MACINFO_NULL 42
#define DW_DLE_DEBUG_PUBNAMES_DUPLICATE 43
#define DW_DLE_DEBUG_PUBNAMES_NULL 44
#define DW_DLE_DEBUG_STR_DUPLICATE 45
#define DW_DLE_DEBUG_STR_NULL 46
#define DW_DLE_CU_LENGTH_ERROR 47
#define DW_DLE_VERSION_STAMP_ERROR 48
#define DW_DLE_ABBREV_OFFSET_ERROR 49
#define DW_DLE_ADDRESS_SIZE_ERROR 50
#define DW_DLE_DEBUG_INFO_PTR_NULL 51
#define DW_DLE_DIE_NULL 52
#define DW_DLE_STRING_OFFSET_BAD 53
#define DW_DLE_DEBUG_LINE_LENGTH_BAD 54
#define DW_DLE_LINE_PROLOG_LENGTH_BAD 55
#define DW_DLE_LINE_NUM_OPERANDS_BAD 56
#define DW_DLE_LINE_SET_ADDR_ERROR 57
#define DW_DLE_LINE_EXT_OPCODE_BAD 58
#define DW_DLE_DWARF_LINE_NULL 59
#define DW_DLE_INCL_DIR_NUM_BAD 60
#define DW_DLE_LINE_FILE_NUM_BAD 61
#define DW_DLE_ALLOC_FAIL 62
#define DW_DLE_NO_CALLBACK_FUNC 63
#define DW_DLE_SECT_ALLOC 64
#define DW_DLE_FILE_ENTRY_ALLOC 65
#define DW_DLE_LINE_ALLOC 66
#define DW_DLE_FPGM_ALLOC 67
#define DW_DLE_INCDIR_ALLOC 68
#define DW_DLE_STRING_ALLOC 69
#define DW_DLE_CHUNK_ALLOC 70
#define DW_DLE_BYTEOFF_ERR 71
#define DW_DLE_CIE_ALLOC 72
#define DW_DLE_FDE_ALLOC 73
#define DW_DLE_REGNO_OVFL 74
#define DW_DLE_CIE_OFFS_ALLOC 75
#define DW_DLE_WRONG_ADDRESS 76
#define DW_DLE_EXTRA_NEIGHBORS 77
#define DW_DLE_WRONG_TAG 78
#define DW_DLE_DIE_ALLOC 79
#define DW_DLE_PARENT_EXISTS 80
#define DW_DLE_DBG_NULL 81
#define DW_DLE_DEBUGLINE_ERROR 82
#define DW_DLE_DEBUGFRAME_ERROR 83
#define DW_DLE_DEBUGINFO_ERROR 84
#define DW_DLE_ATTR_ALLOC 85
#define DW_DLE_ABBREV_ALLOC 86
#define DW_DLE_OFFSET_UFLW 87
#define DW_DLE_ELF_SECT_ERR 88
#define DW_DLE_DEBUG_FRAME_LENGTH_BAD 89
#define DW_DLE_FRAME_VERSION_BAD 90
#define DW_DLE_CIE_RET_ADDR_REG_ERROR 91
#define DW_DLE_FDE_NULL 92
#define DW_DLE_FDE_DBG_NULL 93
#define DW_DLE_CIE_NULL 94
#define DW_DLE_CIE_DBG_NULL 95
#define DW_DLE_FRAME_TABLE_COL_BAD 96
#define DW_DLE_PC_NOT_IN_FDE_RANGE 97
#define DW_DLE_CIE_INSTR_EXEC_ERROR 98
#define DW_DLE_FRAME_INSTR_EXEC_ERROR 99
#define DW_DLE_FDE_PTR_NULL 100
#define DW_DLE_RET_OP_LIST_NULL 101
#define DW_DLE_LINE_CONTEXT_NULL 102
#define DW_DLE_DBG_NO_CU_CONTEXT 103
#define DW_DLE_DIE_NO_CU_CONTEXT 104
#define DW_DLE_FIRST_DIE_NOT_CU 105
#define DW_DLE_NEXT_DIE_PTR_NULL 106
#define DW_DLE_DEBUG_FRAME_DUPLICATE 107
#define DW_DLE_DEBUG_FRAME_NULL 108
#define DW_DLE_ABBREV_DECODE_ERROR 109
#define DW_DLE_DWARF_ABBREV_NULL 110
#define DW_DLE_ATTR_NULL 111
#define DW_DLE_DIE_BAD 112
#define DW_DLE_DIE_ABBREV_BAD 113
#define DW_DLE_ATTR_FORM_BAD 114
#define DW_DLE_ATTR_NO_CU_CONTEXT 115
#define DW_DLE_ATTR_FORM_SIZE_BAD 116
#define DW_DLE_ATTR_DBG_NULL 117
#define DW_DLE_BAD_REF_FORM 118
#define DW_DLE_ATTR_FORM_OFFSET_BAD 119
#define DW_DLE_LINE_OFFSET_BAD 120
#define DW_DLE_DEBUG_STR_OFFSET_BAD 121
#define DW_DLE_STRING_PTR_NULL 122
#define DW_DLE_PUBNAMES_VERSION_ERROR 123
#define DW_DLE_PUBNAMES_LENGTH_BAD 124
#define DW_DLE_GLOBAL_NULL 125
#define DW_DLE_GLOBAL_CONTEXT_NULL 126
#define DW_DLE_DIR_INDEX_BAD 127
#define DW_DLE_LOC_EXPR_BAD 128
#define DW_DLE_DIE_LOC_EXPR_BAD 129
#define DW_DLE_ADDR_ALLOC 130
#define DW_DLE_OFFSET_BAD 131
#define DW_DLE_MAKE_CU_CONTEXT_FAIL 132
#define DW_DLE_REL_ALLOC 133
#define DW_DLE_ARANGE_OFFSET_BAD 134
#define DW_DLE_SEGMENT_SIZE_BAD 135
#define DW_DLE_ARANGE_LENGTH_BAD 136
#define DW_DLE_ARANGE_DECODE_ERROR 137
#define DW_DLE_ARANGES_NULL 138
#define DW_DLE_ARANGE_NULL 139
#define DW_DLE_NO_FILE_NAME 140
#define DW_DLE_NO_COMP_DIR 141
#define DW_DLE_CU_ADDRESS_SIZE_BAD 142
#define DW_DLE_INPUT_ATTR_BAD 143
#define DW_DLE_EXPR_NULL 144
#define DW_DLE_BAD_EXPR_OPCODE 145
#define DW_DLE_EXPR_LENGTH_BAD 146
#define DW_DLE_MULTIPLE_RELOC_IN_EXPR 147
#define DW_DLE_ELF_GETIDENT_ERROR 148
#define DW_DLE_NO_AT_MIPS_FDE 149
#define DW_DLE_NO_CIE_FOR_FDE 150
#define DW_DLE_DIE_ABBREV_LIST_NULL 151
#define DW_DLE_DEBUG_FUNCNAMES_DUPLICATE 152
#define DW_DLE_DEBUG_FUNCNAMES_NULL 153
#define DW_DLE_DEBUG_FUNCNAMES_VERSION_ERROR 154
#define DW_DLE_DEBUG_FUNCNAMES_LENGTH_BAD 155
#define DW_DLE_FUNC_NULL 156
#define DW_DLE_FUNC_CONTEXT_NULL 157
#define DW_DLE_DEBUG_TYPENAMES_DUPLICATE 158
#define DW_DLE_DEBUG_TYPENAMES_NULL 159
#define DW_DLE_DEBUG_TYPENAMES_VERSION_ERROR 160
#define DW_DLE_DEBUG_TYPENAMES_LENGTH_BAD 161
#define DW_DLE_TYPE_NULL 162
#define DW_DLE_TYPE_CONTEXT_NULL 163
#define DW_DLE_DEBUG_VARNAMES_DUPLICATE 164
#define DW_DLE_DEBUG_VARNAMES_NULL 165
#define DW_DLE_DEBUG_VARNAMES_VERSION_ERROR 166
#define DW_DLE_DEBUG_VARNAMES_LENGTH_BAD 167
#define DW_DLE_VAR_NULL 168
#define DW_DLE_VAR_CONTEXT_NULL 169
#define DW_DLE_DEBUG_WEAKNAMES_DUPLICATE 170
#define DW_DLE_DEBUG_WEAKNAMES_NULL 171
#define DW_DLE_DEBUG_WEAKNAMES_VERSION_ERROR 172
#define DW_DLE_DEBUG_WEAKNAMES_LENGTH_BAD 173
#define DW_DLE_WEAK_NULL 174
#define DW_DLE_WEAK_CONTEXT_NULL 175
#define DW_DLE_LOCDESC_COUNT_WRONG 176
#define DW_DLE_MACINFO_STRING_NULL 177
#define DW_DLE_MACINFO_STRING_EMPTY 178
#define DW_DLE_MACINFO_INTERNAL_ERROR_SPACE 179
#define DW_DLE_MACINFO_MALLOC_FAIL 180
#define DW_DLE_DEBUGMACINFO_ERROR 181
#define DW_DLE_DEBUG_MACRO_LENGTH_BAD 182
#define DW_DLE_DEBUG_MACRO_MAX_BAD 183
#define DW_DLE_DEBUG_MACRO_INTERNAL_ERR 184
#define DW_DLE_DEBUG_MACRO_MALLOC_SPACE 185
#define DW_DLE_DEBUG_MACRO_INCONSISTENT 186
#define DW_DLE_DF_NO_CIE_AUGMENTATION 187
#define DW_DLE_DF_REG_NUM_TOO_HIGH 188
#define DW_DLE_DF_MAKE_INSTR_NO_INIT 189
#define DW_DLE_DF_NEW_LOC_LESS_OLD_LOC 190
#define DW_DLE_DF_POP_EMPTY_STACK 191
#define DW_DLE_DF_ALLOC_FAIL 192
#define DW_DLE_DF_FRAME_DECODING_ERROR 193
#define DW_DLE_DEBUG_LOC_SECTION_SHORT 194
#define DW_DLE_FRAME_AUGMENTATION_UNKNOWN 195
#define DW_DLA_PUBTYPE_CONTEXT 196
#define DW_DLE_DEBUG_PUBTYPES_LENGTH_BAD 197
#define DW_DLE_DEBUG_PUBTYPES_VERSION_ERROR 198
#define DW_DLE_DEBUG_PUBTYPES_DUPLICATE 199
#define DW_DLE_FRAME_CIE_DECODE_ERROR 200
#define DW_DLE_FRAME_REGISTER_UNREPRESENTABLE 201
#define DW_DLE_LAST 201
#define DW_DLE_LO_USER 0x10000
#define DW_FRAME_UNDEFINED_VAL 1034
#define DW_FRAME_SAME_VAL 1035
#define DW_DLV_BADADDR (~(Dwarf_Addr)0)
#define DW_DLV_NOCOUNT ((Dwarf_Signed)-1)
#define DW_DLV_BADOFFSET (~(Dwarf_Off)0)
#define DW_DLV_NO_ENTRY -1
#define DW_DLV_OK 0
#define DW_DLV_ERROR 1
#define DW_DLX_NO_EH_OFFSET (-1LL)
#define DW_DLX_EH_OFFSET_UNAVAILABLE (-2LL)
int dwarf_init(int ,
Dwarf_Unsigned ,
Dwarf_Handler ,
Dwarf_Ptr ,
Dwarf_Debug * ,
Dwarf_Error* );
int dwarf_elf_init(dwarf_elf_handle ,
Dwarf_Unsigned ,
Dwarf_Handler ,
Dwarf_Ptr ,
Dwarf_Debug * ,
Dwarf_Error* );
void dwarf_print_memory_stats(Dwarf_Debug );
int dwarf_get_elf(Dwarf_Debug ,
dwarf_elf_handle* ,
Dwarf_Error* );
int dwarf_finish(Dwarf_Debug , Dwarf_Error* );
int dwarf_next_cu_header(Dwarf_Debug ,
Dwarf_Unsigned* ,
Dwarf_Half* ,
Dwarf_Off* ,
Dwarf_Half* ,
Dwarf_Unsigned* ,
Dwarf_Error* );
int dwarf_siblingof(Dwarf_Debug ,
Dwarf_Die ,
Dwarf_Die* ,
Dwarf_Error* );
int dwarf_child(Dwarf_Die ,
Dwarf_Die* ,
Dwarf_Error* );
int dwarf_offdie(Dwarf_Debug ,
Dwarf_Off ,
Dwarf_Die* ,
Dwarf_Error* );
int dwarf_pcfile(Dwarf_Debug ,
Dwarf_Addr ,
Dwarf_Die* ,
Dwarf_Error* );
int dwarf_pcsubr(Dwarf_Debug ,
Dwarf_Addr ,
Dwarf_Die* ,
Dwarf_Error* );
int dwarf_pcscope(Dwarf_Debug ,
Dwarf_Addr ,
Dwarf_Die* ,
Dwarf_Error* );
int dwarf_tag(Dwarf_Die ,
Dwarf_Half* ,
Dwarf_Error* );
int dwarf_dieoffset(Dwarf_Die ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_die_CU_offset(Dwarf_Die ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_attr (Dwarf_Die ,
Dwarf_Half ,
Dwarf_Attribute * ,
Dwarf_Error* );
int dwarf_diename(Dwarf_Die ,
char ** ,
Dwarf_Error* );
int dwarf_hasattr(Dwarf_Die ,
Dwarf_Half ,
Dwarf_Bool * ,
Dwarf_Error* );
int dwarf_loclist_n(Dwarf_Attribute ,
Dwarf_Locdesc*** ,
Dwarf_Signed * ,
Dwarf_Error* );
int dwarf_loclist(Dwarf_Attribute ,
Dwarf_Locdesc** ,
Dwarf_Signed * ,
Dwarf_Error* );
int dwarf_stringlen(Dwarf_Die ,
Dwarf_Locdesc ** ,
Dwarf_Error* );
int dwarf_subscrcnt(Dwarf_Die ,
Dwarf_Signed * ,
Dwarf_Error* );
int dwarf_nthsubscr(Dwarf_Die ,
Dwarf_Unsigned ,
Dwarf_Die * ,
Dwarf_Error* );
int dwarf_lowpc(Dwarf_Die ,
Dwarf_Addr * ,
Dwarf_Error* );
int dwarf_highpc(Dwarf_Die ,
Dwarf_Addr * ,
Dwarf_Error* );
int dwarf_bytesize(Dwarf_Die ,
Dwarf_Unsigned * ,
Dwarf_Error* );
int dwarf_isbitfield(Dwarf_Die ,
Dwarf_Bool * ,
Dwarf_Error* );
int dwarf_bitsize(Dwarf_Die ,
Dwarf_Unsigned * ,
Dwarf_Error* );
int dwarf_bitoffset(Dwarf_Die ,
Dwarf_Unsigned * ,
Dwarf_Error* );
int dwarf_srclang(Dwarf_Die ,
Dwarf_Unsigned * ,
Dwarf_Error* );
int dwarf_arrayorder(Dwarf_Die ,
Dwarf_Unsigned * ,
Dwarf_Error* );
int dwarf_attrlist(Dwarf_Die ,
Dwarf_Attribute** ,
Dwarf_Signed * ,
Dwarf_Error* );
int dwarf_hasform(Dwarf_Attribute ,
Dwarf_Half ,
Dwarf_Bool * ,
Dwarf_Error* );
int dwarf_whatform(Dwarf_Attribute ,
Dwarf_Half * ,
Dwarf_Error* );
int dwarf_whatform_direct(Dwarf_Attribute ,
Dwarf_Half * ,
Dwarf_Error* );
int dwarf_whatattr(Dwarf_Attribute ,
Dwarf_Half * ,
Dwarf_Error* );
int dwarf_formref(Dwarf_Attribute ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_global_formref(Dwarf_Attribute ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_formaddr(Dwarf_Attribute ,
Dwarf_Addr * ,
Dwarf_Error* );
int dwarf_formflag(Dwarf_Attribute ,
Dwarf_Bool * ,
Dwarf_Error* );
int dwarf_formudata(Dwarf_Attribute ,
Dwarf_Unsigned * ,
Dwarf_Error* );
int dwarf_formsdata(Dwarf_Attribute ,
Dwarf_Signed * ,
Dwarf_Error* );
int dwarf_formblock(Dwarf_Attribute ,
Dwarf_Block ** ,
Dwarf_Error* );
int dwarf_formstring(Dwarf_Attribute ,
char ** ,
Dwarf_Error* );
int dwarf_srclines(Dwarf_Die ,
Dwarf_Line** ,
Dwarf_Signed * ,
Dwarf_Error* );
void dwarf_srclines_dealloc(Dwarf_Debug ,
Dwarf_Line* ,
Dwarf_Signed );
int dwarf_srcfiles(Dwarf_Die ,
char*** ,
Dwarf_Signed * ,
Dwarf_Error* );
int dwarf_dieline(Dwarf_Die ,
Dwarf_Line * ,
Dwarf_Error * );
int dwarf_linebeginstatement(Dwarf_Line ,
Dwarf_Bool * ,
Dwarf_Error* );
int dwarf_lineendsequence(Dwarf_Line ,
Dwarf_Bool * ,
Dwarf_Error* );
int dwarf_lineno(Dwarf_Line ,
Dwarf_Unsigned * ,
Dwarf_Error* );
int dwarf_line_srcfileno(Dwarf_Line ,
Dwarf_Unsigned * ,
Dwarf_Error * );
int dwarf_lineaddr(Dwarf_Line ,
Dwarf_Addr * ,
Dwarf_Error* );
int dwarf_lineoff(Dwarf_Line ,
Dwarf_Signed * ,
Dwarf_Error* );
int dwarf_linesrc(Dwarf_Line ,
char ** ,
Dwarf_Error* );
int dwarf_lineblock(Dwarf_Line ,
Dwarf_Bool * ,
Dwarf_Error* );
int dwarf_pclines(Dwarf_Debug ,
Dwarf_Addr ,
Dwarf_Line** ,
Dwarf_Signed * ,
Dwarf_Signed ,
Dwarf_Error* );
int dwarf_get_globals(Dwarf_Debug ,
Dwarf_Global** ,
Dwarf_Signed * ,
Dwarf_Error* );
void dwarf_globals_dealloc(Dwarf_Debug ,
Dwarf_Global* ,
Dwarf_Signed );
int dwarf_globname(Dwarf_Global ,
char ** ,
Dwarf_Error* );
int dwarf_global_die_offset(Dwarf_Global ,
Dwarf_Off* ,
Dwarf_Error * );
int dwarf_get_cu_die_offset_given_cu_header_offset(
Dwarf_Debug ,
Dwarf_Off ,
Dwarf_Off * ,
Dwarf_Error * );
#ifdef __sgi
#pragma optional dwarf_get_cu_die_offset_given_cu_header_offset
#endif
int dwarf_global_cu_offset(Dwarf_Global ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_global_name_offsets(Dwarf_Global ,
char ** ,
Dwarf_Off* ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_get_funcs(Dwarf_Debug ,
Dwarf_Func** ,
Dwarf_Signed * ,
Dwarf_Error* );
void dwarf_funcs_dealloc(Dwarf_Debug ,
Dwarf_Func* ,
Dwarf_Signed );
int dwarf_funcname(Dwarf_Func ,
char ** ,
Dwarf_Error* );
int dwarf_func_die_offset(Dwarf_Func ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_func_cu_offset(Dwarf_Func ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_func_name_offsets(Dwarf_Func ,
char ** ,
Dwarf_Off* ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_get_types(Dwarf_Debug ,
Dwarf_Type** ,
Dwarf_Signed * ,
Dwarf_Error* );
void dwarf_types_dealloc(Dwarf_Debug ,
Dwarf_Type* ,
Dwarf_Signed );
int dwarf_typename(Dwarf_Type ,
char ** ,
Dwarf_Error* );
int dwarf_type_die_offset(Dwarf_Type ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_type_cu_offset(Dwarf_Type ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_type_name_offsets(Dwarf_Type ,
char ** ,
Dwarf_Off* ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_get_pubtypes(Dwarf_Debug ,
Dwarf_Type** ,
Dwarf_Signed * ,
Dwarf_Error* );
void dwarf_pubtypes_dealloc(Dwarf_Debug ,
Dwarf_Type* ,
Dwarf_Signed );
int dwarf_pubtypename(Dwarf_Type ,
char ** ,
Dwarf_Error* );
int dwarf_pubtype_die_offset(Dwarf_Type ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_pubtype_cu_offset(Dwarf_Type ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_pubtype_name_offsets(Dwarf_Type ,
char ** ,
Dwarf_Off* ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_get_vars(Dwarf_Debug ,
Dwarf_Var** ,
Dwarf_Signed * ,
Dwarf_Error* );
void dwarf_vars_dealloc(Dwarf_Debug ,
Dwarf_Var* ,
Dwarf_Signed );
int dwarf_varname(Dwarf_Var ,
char ** ,
Dwarf_Error* );
int dwarf_var_die_offset(Dwarf_Var ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_var_cu_offset(Dwarf_Var ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_var_name_offsets(Dwarf_Var ,
char ** ,
Dwarf_Off* ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_get_weaks(Dwarf_Debug ,
Dwarf_Weak** ,
Dwarf_Signed * ,
Dwarf_Error* );
void dwarf_weaks_dealloc(Dwarf_Debug ,
Dwarf_Weak* ,
Dwarf_Signed );
int dwarf_weakname(Dwarf_Weak ,
char ** ,
Dwarf_Error* );
int dwarf_weak_die_offset(Dwarf_Weak ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_weak_cu_offset(Dwarf_Weak ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_weak_name_offsets(Dwarf_Weak ,
char ** ,
Dwarf_Off* ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_get_loclist_entry(Dwarf_Debug ,
Dwarf_Unsigned ,
Dwarf_Addr* ,
Dwarf_Addr* ,
Dwarf_Ptr* ,
Dwarf_Unsigned* ,
Dwarf_Unsigned* ,
Dwarf_Error* );
int dwarf_get_abbrev(Dwarf_Debug ,
Dwarf_Unsigned ,
Dwarf_Abbrev * ,
Dwarf_Unsigned* ,
Dwarf_Unsigned* ,
Dwarf_Error* );
int dwarf_get_abbrev_tag(Dwarf_Abbrev ,
Dwarf_Half* ,
Dwarf_Error* );
int dwarf_get_abbrev_code(Dwarf_Abbrev ,
Dwarf_Unsigned* ,
Dwarf_Error* );
int dwarf_get_abbrev_children_flag(Dwarf_Abbrev ,
Dwarf_Signed* ,
Dwarf_Error* );
int dwarf_get_abbrev_entry(Dwarf_Abbrev ,
Dwarf_Signed ,
Dwarf_Half * ,
Dwarf_Signed* ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_get_str(Dwarf_Debug ,
Dwarf_Off ,
char** ,
Dwarf_Signed * ,
Dwarf_Error* );
int dwarf_get_fde_list_eh(
Dwarf_Debug ,
Dwarf_Cie ** ,
Dwarf_Signed * ,
Dwarf_Fde ** ,
Dwarf_Signed * ,
Dwarf_Error * );
int dwarf_get_fde_list(Dwarf_Debug ,
Dwarf_Cie** ,
Dwarf_Signed* ,
Dwarf_Fde** ,
Dwarf_Signed* ,
Dwarf_Error* );
void dwarf_fde_cie_list_dealloc(Dwarf_Debug dbg,
Dwarf_Cie *cie_data,
Dwarf_Signed cie_element_count,
Dwarf_Fde *fde_data,
Dwarf_Signed fde_element_count);
int dwarf_get_fde_range(Dwarf_Fde ,
Dwarf_Addr* ,
Dwarf_Unsigned* ,
Dwarf_Ptr* ,
Dwarf_Unsigned* ,
Dwarf_Off* ,
Dwarf_Signed* ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_get_fde_exception_info(Dwarf_Fde ,
Dwarf_Signed* ,
Dwarf_Error* );
int dwarf_get_cie_of_fde(Dwarf_Fde ,
Dwarf_Cie * ,
Dwarf_Error* );
int dwarf_get_cie_info(Dwarf_Cie ,
Dwarf_Unsigned * ,
Dwarf_Small* ,
char ** ,
Dwarf_Unsigned* ,
Dwarf_Signed* ,
Dwarf_Half* ,
Dwarf_Ptr* ,
Dwarf_Unsigned* ,
Dwarf_Error* );
int dwarf_get_fde_instr_bytes(Dwarf_Fde ,
Dwarf_Ptr * , Dwarf_Unsigned * ,
Dwarf_Error * );
int dwarf_get_fde_info_for_all_regs(Dwarf_Fde ,
Dwarf_Addr ,
Dwarf_Regtable* ,
Dwarf_Addr* ,
Dwarf_Error* );
int dwarf_get_fde_info_for_all_regs3(Dwarf_Fde ,
Dwarf_Addr ,
Dwarf_Regtable3* ,
Dwarf_Addr* ,
Dwarf_Error* );
int dwarf_get_fde_info_for_reg(Dwarf_Fde ,
Dwarf_Half ,
Dwarf_Addr ,
Dwarf_Signed* ,
Dwarf_Signed* ,
Dwarf_Signed* ,
Dwarf_Addr* ,
Dwarf_Error* );
int dwarf_get_fde_info_for_reg3(Dwarf_Fde ,
Dwarf_Half ,
Dwarf_Addr ,
Dwarf_Small * ,
Dwarf_Signed * ,
Dwarf_Signed* ,
Dwarf_Signed* ,
Dwarf_Ptr * ,
Dwarf_Addr* ,
Dwarf_Error* );
int dwarf_get_fde_info_for_cfa_reg3(Dwarf_Fde ,
Dwarf_Addr ,
Dwarf_Small * ,
Dwarf_Signed * ,
Dwarf_Signed* ,
Dwarf_Signed* ,
Dwarf_Ptr * ,
Dwarf_Addr* ,
Dwarf_Error* );
int dwarf_get_fde_for_die(Dwarf_Debug ,
Dwarf_Die ,
Dwarf_Fde * ,
Dwarf_Error* );
int dwarf_get_fde_n(Dwarf_Fde* ,
Dwarf_Unsigned ,
Dwarf_Fde * ,
Dwarf_Error* );
int dwarf_get_fde_at_pc(Dwarf_Fde* ,
Dwarf_Addr ,
Dwarf_Fde * ,
Dwarf_Addr* ,
Dwarf_Addr* ,
Dwarf_Error* );
int dwarf_get_cie_augmentation_data(Dwarf_Cie ,
Dwarf_Small ** ,
Dwarf_Unsigned * ,
Dwarf_Error* );
int dwarf_get_fde_augmentation_data(Dwarf_Fde ,
Dwarf_Small ** ,
Dwarf_Unsigned * ,
Dwarf_Error* );
int dwarf_expand_frame_instructions(Dwarf_Debug ,
Dwarf_Ptr ,
Dwarf_Unsigned ,
Dwarf_Frame_Op** ,
Dwarf_Signed* ,
Dwarf_Error* );
int dwarf_get_aranges(Dwarf_Debug ,
Dwarf_Arange** ,
Dwarf_Signed * ,
Dwarf_Error* );
int dwarf_get_arange(
Dwarf_Arange* ,
Dwarf_Unsigned ,
Dwarf_Addr ,
Dwarf_Arange * ,
Dwarf_Error* );
int dwarf_get_cu_die_offset(
Dwarf_Arange ,
Dwarf_Off* ,
Dwarf_Error* );
int dwarf_get_arange_cu_header_offset(
Dwarf_Arange ,
Dwarf_Off* ,
Dwarf_Error* );
#ifdef __sgi
#pragma optional dwarf_get_arange_cu_header_offset
#endif
int dwarf_get_arange_info(
Dwarf_Arange ,
Dwarf_Addr* ,
Dwarf_Unsigned* ,
Dwarf_Off* ,
Dwarf_Error* );
struct Dwarf_Macro_Details_s {
Dwarf_Off dmd_offset;
Dwarf_Small dmd_type;
Dwarf_Signed dmd_lineno;
Dwarf_Signed dmd_fileindex;
char * dmd_macro;
};
int _dwarf_print_lines(Dwarf_Die cu_die,Dwarf_Error * );
int _dwarf_ld_sort_lines(
void * orig_buffer,
unsigned long buffer_len,
int is_64_bit,
int *any_change,
int * err_code);
int _dwarf_fde_section_offset(Dwarf_Debug dbg,Dwarf_Fde in_fde,
Dwarf_Off *fde_off, Dwarf_Off *cie_off,
Dwarf_Error *err);
int _dwarf_cie_section_offset(Dwarf_Debug dbg,Dwarf_Cie in_cie,
Dwarf_Off *cie_off,
Dwarf_Error *err);
typedef struct Dwarf_Macro_Details_s Dwarf_Macro_Details;
int dwarf_get_macro(Dwarf_Debug ,
char * ,
Dwarf_Addr ,
char ** ,
Dwarf_Error * );
int dwarf_get_all_defined_macros(Dwarf_Debug ,
Dwarf_Addr ,
Dwarf_Signed * ,
char *** ,
Dwarf_Error * );
char *dwarf_find_macro_value_start(char * );
int dwarf_get_macro_details(Dwarf_Debug ,
Dwarf_Off ,
Dwarf_Unsigned ,
Dwarf_Signed * ,
Dwarf_Macro_Details ** ,
Dwarf_Error * );
int dwarf_get_address_size(Dwarf_Debug ,
Dwarf_Half * ,
Dwarf_Error * );
Dwarf_Unsigned dwarf_errno(Dwarf_Error );
char* dwarf_errmsg(Dwarf_Error );
int dwarf_set_stringcheck(int );
Dwarf_Handler dwarf_seterrhand(Dwarf_Debug , Dwarf_Handler );
Dwarf_Ptr dwarf_seterrarg(Dwarf_Debug , Dwarf_Ptr );
void dwarf_dealloc(Dwarf_Debug , void* ,
Dwarf_Unsigned );
typedef int (*Dwarf_Callback_Func)(
char* ,
int ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
int* ,
int* );
Dwarf_P_Debug dwarf_producer_init(
Dwarf_Unsigned ,
Dwarf_Callback_Func ,
Dwarf_Handler ,
Dwarf_Ptr ,
Dwarf_Error* );
typedef int (*Dwarf_Callback_Func_b)(
char* ,
int ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Unsigned* ,
int* );
Dwarf_P_Debug dwarf_producer_init_b(
Dwarf_Unsigned ,
Dwarf_Callback_Func_b ,
Dwarf_Handler ,
Dwarf_Ptr ,
Dwarf_Error * );
Dwarf_Signed dwarf_transform_to_disk_form(Dwarf_P_Debug ,
Dwarf_Error* );
Dwarf_Ptr dwarf_get_section_bytes(Dwarf_P_Debug ,
Dwarf_Signed ,
Dwarf_Signed* ,
Dwarf_Unsigned* ,
Dwarf_Error* );
int dwarf_get_relocation_info_count(
Dwarf_P_Debug ,
Dwarf_Unsigned * ,
int * ,
Dwarf_Error* );
int dwarf_get_relocation_info(
Dwarf_P_Debug ,
Dwarf_Signed * ,
Dwarf_Signed * ,
Dwarf_Unsigned * ,
Dwarf_Relocation_Data * ,
Dwarf_Error* );
#define DWARF_DRD_BUFFER_VERSION 2
void dwarf_reset_section_bytes(Dwarf_P_Debug );
Dwarf_Unsigned dwarf_producer_finish(Dwarf_P_Debug ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_targ_address(Dwarf_P_Debug ,
Dwarf_P_Die ,
Dwarf_Half ,
Dwarf_Unsigned ,
Dwarf_Signed ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_targ_address_b(Dwarf_P_Debug ,
Dwarf_P_Die ,
Dwarf_Half ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_unsigned_const(Dwarf_P_Debug ,
Dwarf_P_Die ,
Dwarf_Half ,
Dwarf_Unsigned ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_signed_const(Dwarf_P_Debug ,
Dwarf_P_Die ,
Dwarf_Half ,
Dwarf_Signed ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_reference(Dwarf_P_Debug ,
Dwarf_P_Die ,
Dwarf_Half ,
Dwarf_P_Die ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_const_value_string(Dwarf_P_Die ,
char* ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_location_expr(Dwarf_P_Debug ,
Dwarf_P_Die ,
Dwarf_Half ,
Dwarf_P_Expr ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_string(Dwarf_P_Debug ,
Dwarf_P_Die ,
Dwarf_Half ,
char* ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_flag(Dwarf_P_Debug ,
Dwarf_P_Die ,
Dwarf_Half ,
Dwarf_Small ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_producer(Dwarf_P_Die ,
char* ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_const_value_signedint(Dwarf_P_Die ,
Dwarf_Signed ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_const_value_unsignedint(
Dwarf_P_Die ,
Dwarf_Unsigned ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_comp_dir(Dwarf_P_Die ,
char* ,
Dwarf_Error* );
Dwarf_P_Attribute dwarf_add_AT_name(Dwarf_P_Die ,
char* ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_directory_decl(Dwarf_P_Debug ,
char* ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_file_decl(Dwarf_P_Debug ,
char* ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_line_entry(Dwarf_P_Debug ,
Dwarf_Unsigned ,
Dwarf_Addr ,
Dwarf_Unsigned ,
Dwarf_Signed ,
Dwarf_Bool ,
Dwarf_Bool ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_lne_set_address(Dwarf_P_Debug ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_lne_end_sequence(Dwarf_P_Debug ,
Dwarf_Addr ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_frame_cie(Dwarf_P_Debug ,
char* ,
Dwarf_Small ,
Dwarf_Small ,
Dwarf_Small ,
Dwarf_Ptr ,
Dwarf_Unsigned ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_frame_fde(
Dwarf_P_Debug ,
Dwarf_P_Fde ,
Dwarf_P_Die ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_frame_fde_b(
Dwarf_P_Debug ,
Dwarf_P_Fde ,
Dwarf_P_Die ,
Dwarf_Unsigned ,
Dwarf_Addr ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Addr ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_frame_info_b(
Dwarf_P_Debug dbg ,
Dwarf_P_Fde ,
Dwarf_P_Die ,
Dwarf_Unsigned ,
Dwarf_Addr ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Addr ,
Dwarf_Signed ,
Dwarf_Unsigned ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_frame_info(
Dwarf_P_Debug dbg ,
Dwarf_P_Fde ,
Dwarf_P_Die ,
Dwarf_Unsigned ,
Dwarf_Addr ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Signed ,
Dwarf_Unsigned ,
Dwarf_Error* );
Dwarf_P_Fde dwarf_add_fde_inst(
Dwarf_P_Fde ,
Dwarf_Small ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Error* );
Dwarf_P_Fde dwarf_new_fde(Dwarf_P_Debug , Dwarf_Error* );
Dwarf_P_Fde dwarf_fde_cfa_offset(
Dwarf_P_Fde ,
Dwarf_Unsigned ,
Dwarf_Signed ,
Dwarf_Error* );
Dwarf_P_Die dwarf_new_die(
Dwarf_P_Debug ,
Dwarf_Tag ,
Dwarf_P_Die ,
Dwarf_P_Die ,
Dwarf_P_Die ,
Dwarf_P_Die ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_die_to_debug(
Dwarf_P_Debug ,
Dwarf_P_Die ,
Dwarf_Error* );
Dwarf_P_Die dwarf_die_link(
Dwarf_P_Die ,
Dwarf_P_Die ,
Dwarf_P_Die ,
Dwarf_P_Die ,
Dwarf_P_Die ,
Dwarf_Error* );
Dwarf_P_Expr dwarf_new_expr(Dwarf_P_Debug , Dwarf_Error* );
Dwarf_Unsigned dwarf_add_expr_gen(
Dwarf_P_Expr ,
Dwarf_Small ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_expr_addr(
Dwarf_P_Expr ,
Dwarf_Unsigned ,
Dwarf_Signed ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_expr_addr_b(
Dwarf_P_Expr ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_expr_current_offset(
Dwarf_P_Expr ,
Dwarf_Error* );
Dwarf_Addr dwarf_expr_into_block(
Dwarf_P_Expr ,
Dwarf_Unsigned* ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_arange(Dwarf_P_Debug ,
Dwarf_Addr ,
Dwarf_Unsigned ,
Dwarf_Signed ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_arange_b(
Dwarf_P_Debug ,
Dwarf_Addr ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Addr ,
Dwarf_Error * );
Dwarf_Unsigned dwarf_add_pubname(
Dwarf_P_Debug ,
Dwarf_P_Die ,
char* ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_funcname(
Dwarf_P_Debug ,
Dwarf_P_Die ,
char* ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_typename(
Dwarf_P_Debug ,
Dwarf_P_Die ,
char* ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_varname(
Dwarf_P_Debug ,
Dwarf_P_Die ,
char* ,
Dwarf_Error* );
Dwarf_Unsigned dwarf_add_weakname(
Dwarf_P_Debug ,
Dwarf_P_Die ,
char* ,
Dwarf_Error* );
int dwarf_def_macro(Dwarf_P_Debug ,
Dwarf_Unsigned ,
char * ,
char * ,
Dwarf_Error* );
int dwarf_undef_macro(Dwarf_P_Debug ,
Dwarf_Unsigned ,
char * ,
Dwarf_Error* );
int dwarf_start_macro_file(Dwarf_P_Debug ,
Dwarf_Unsigned ,
Dwarf_Unsigned ,
Dwarf_Error* );
int dwarf_end_macro_file(Dwarf_P_Debug ,
Dwarf_Error* );
int dwarf_vendor_ext(Dwarf_P_Debug ,
Dwarf_Unsigned ,
char * ,
Dwarf_Error* );
void dwarf_p_dealloc(void* , Dwarf_Unsigned );
int dwarf_attr_offset(Dwarf_Die ,
Dwarf_Attribute ,
Dwarf_Off * ,
Dwarf_Error * );
int
dwarf_get_section_max_offsets(Dwarf_Debug ,
Dwarf_Unsigned * ,
Dwarf_Unsigned * ,
Dwarf_Unsigned * ,
Dwarf_Unsigned * ,
Dwarf_Unsigned * ,
Dwarf_Unsigned * ,
Dwarf_Unsigned * ,
Dwarf_Unsigned * ,
Dwarf_Unsigned * ,
Dwarf_Unsigned * ,
Dwarf_Unsigned * );
Dwarf_Half
dwarf_set_frame_rule_inital_value(Dwarf_Debug ,
Dwarf_Half );
Dwarf_Half
dwarf_set_frame_rule_table_size(Dwarf_Debug dbg,
Dwarf_Half value);
#ifdef __cplusplus
}
#endif
#endif