53#ifndef LIBDWARF_STATIC
54# if defined(_WIN32) || defined(__CYGWIN__)
56# define DW_API __declspec(dllexport)
58# define DW_API __declspec(dllimport)
60# elif (defined(__SUNPRO_C) || defined(__SUNPRO_CC))
61# if defined(PIC) || defined(__PIC__)
62# define DW_API __global
64# elif (defined(__GNUC__) && __GNUC__ >= 4) || \
65 defined(__INTEL_COMPILER)
66# if defined(PIC) || defined(__PIC__)
67# define DW_API __attribute__ ((visibility("default")))
102#define DW_LIBDWARF_VERSION "0.11.2"
103#define DW_LIBDWARF_VERSION_MAJOR 0
104#define DW_LIBDWARF_VERSION_MINOR 11
105#define DW_LIBDWARF_VERSION_MICRO 2
107#define DW_PATHSOURCE_unspecified 0
108#define DW_PATHSOURCE_basic 1
109#define DW_PATHSOURCE_dsym 2
110#define DW_PATHSOURCE_debuglink 3
112#ifndef DW_FTYPE_UNKNOWN
113#define DW_FTYPE_UNKNOWN 0
114#define DW_FTYPE_ELF 1
115#define DW_FTYPE_MACH_O 2
117#define DW_FTYPE_ARCHIVE 4
118#define DW_FTYPE_APPLEUNIVERSAL 5
121#define DW_DLV_NO_ENTRY -1
123#define DW_DLV_ERROR 1
126#define DW_GROUPNUMBER_ANY 0
127#define DW_GROUPNUMBER_BASE 1
128#define DW_GROUPNUMBER_DWO 2
136#ifndef DW_FRAME_UNDEFINED_VAL
137#define DW_FRAME_UNDEFINED_VAL 12288
141#ifndef DW_FRAME_SAME_VAL
142#define DW_FRAME_SAME_VAL 12289
146#ifndef DW_FRAME_CFA_COL
147#define DW_FRAME_CFA_COL 12290
149#define DW_FRAME_CFA_COL3 DW_FRAME_CFA_COL
154#define DW_DLS_BACKWARD -1
155#define DW_DLS_NOSLIDE 0
156#define DW_DLS_FORWARD 1
164#define DW_FISSION_SECT_COUNT 12
235 DW_RANGES_ADDRESS_SELECTION,
270 DW_FORM_CLASS_UNKNOWN = 0,
271 DW_FORM_CLASS_ADDRESS = 1,
272 DW_FORM_CLASS_BLOCK = 2,
273 DW_FORM_CLASS_CONSTANT =3,
274 DW_FORM_CLASS_EXPRLOC = 4,
275 DW_FORM_CLASS_FLAG = 5,
276 DW_FORM_CLASS_LINEPTR = 6,
277 DW_FORM_CLASS_LOCLISTPTR=7,
278 DW_FORM_CLASS_MACPTR = 8,
279 DW_FORM_CLASS_RANGELISTPTR=9,
280 DW_FORM_CLASS_REFERENCE=10,
281 DW_FORM_CLASS_STRING = 11,
282 DW_FORM_CLASS_FRAMEPTR= 12,
283 DW_FORM_CLASS_MACROPTR= 13,
284 DW_FORM_CLASS_ADDRPTR = 14,
285 DW_FORM_CLASS_LOCLIST = 15,
286 DW_FORM_CLASS_LOCLISTSPTR=16,
287 DW_FORM_CLASS_RNGLIST =17,
288 DW_FORM_CLASS_RNGLISTSPTR=18,
289 DW_FORM_CLASS_STROFFSETSPTR=19
303 unsigned char fd_data[16];
394 (
void * dw_user_pointer,
const char * dw_linecontent);
414 void * dp_user_pointer;
417 unsigned int dp_buffer_len;
418 int dp_buffer_user_provided;
797 int (*om_get_section_info)(
void* obj,
806 int (*om_load_section)(
void* obj,
810 int (*om_relocate_a_section)(
void* obj,
828 const char * pcu_type;
865#define DW_DLX_NO_EH_OFFSET (-1LL)
870#define DW_DLX_EH_OFFSET_UNAVAILABLE (-2LL)
873#define DW_CIE_AUGMENTER_STRING_V0 "z"
880#ifndef DW_REG_TABLE_SIZE
881#define DW_REG_TABLE_SIZE DW_FRAME_LAST_REG_NUM
889#ifndef DW_FRAME_REG_INITIAL_VALUE
890#define DW_FRAME_REG_INITIAL_VALUE DW_FRAME_SAME_VAL
897#define DW_EXPR_OFFSET 0
898#define DW_EXPR_VAL_OFFSET 1
899#define DW_EXPR_EXPRESSION 2
900#define DW_EXPR_VAL_EXPRESSION 3
911#define DW_DLA_STRING 0x01
912#define DW_DLA_LOC 0x02
913#define DW_DLA_LOCDESC 0x03
914#define DW_DLA_ELLIST 0x04
915#define DW_DLA_BOUNDS 0x05
916#define DW_DLA_BLOCK 0x06
917#define DW_DLA_DEBUG 0x07
918#define DW_DLA_DIE 0x08
919#define DW_DLA_LINE 0x09
920#define DW_DLA_ATTR 0x0a
921#define DW_DLA_TYPE 0x0b
922#define DW_DLA_SUBSCR 0x0c
923#define DW_DLA_GLOBAL 0x0d
924#define DW_DLA_ERROR 0x0e
925#define DW_DLA_LIST 0x0f
926#define DW_DLA_LINEBUF 0x10
927#define DW_DLA_ARANGE 0x11
928#define DW_DLA_ABBREV 0x12
929#define DW_DLA_FRAME_INSTR_HEAD 0x13
930#define DW_DLA_CIE 0x14
931#define DW_DLA_FDE 0x15
932#define DW_DLA_LOC_BLOCK 0x16
934#define DW_DLA_FRAME_OP 0x17
935#define DW_DLA_FUNC 0x18
936#define DW_DLA_UARRAY 0x19
937#define DW_DLA_VAR 0x1a
938#define DW_DLA_WEAK 0x1b
939#define DW_DLA_ADDR 0x1c
940#define DW_DLA_RANGES 0x1d
943#define DW_DLA_GNU_INDEX_HEAD 0x35
945#define DW_DLA_RNGLISTS_HEAD 0x36
946#define DW_DLA_GDBINDEX 0x37
947#define DW_DLA_XU_INDEX 0x38
948#define DW_DLA_LOC_BLOCK_C 0x39
949#define DW_DLA_LOCDESC_C 0x3a
950#define DW_DLA_LOC_HEAD_C 0x3b
951#define DW_DLA_MACRO_CONTEXT 0x3c
953#define DW_DLA_DSC_HEAD 0x3e
954#define DW_DLA_DNAMES_HEAD 0x3f
957#define DW_DLA_STR_OFFSETS 0x40
959#define DW_DLA_DEBUG_ADDR 0x41
989#define DW_DLE_EOLL 17
990#define DW_DLE_NOLL 18
991#define DW_DLE_BADOFF 19
993#define DW_DLE_ATRUNC 21
994#define DW_DLE_BADBITC 22
997#define DW_DLE_DBG_ALLOC 23
998#define DW_DLE_FSTAT_ERROR 24
999#define DW_DLE_FSTAT_MODE_ERROR 25
1000#define DW_DLE_INIT_ACCESS_WRONG 26
1001#define DW_DLE_ELF_BEGIN_ERROR 27
1002#define DW_DLE_ELF_GETEHDR_ERROR 28
1003#define DW_DLE_ELF_GETSHDR_ERROR 29
1004#define DW_DLE_ELF_STRPTR_ERROR 30
1005#define DW_DLE_DEBUG_INFO_DUPLICATE 31
1006#define DW_DLE_DEBUG_INFO_NULL 32
1007#define DW_DLE_DEBUG_ABBREV_DUPLICATE 33
1008#define DW_DLE_DEBUG_ABBREV_NULL 34
1009#define DW_DLE_DEBUG_ARANGES_DUPLICATE 35
1010#define DW_DLE_DEBUG_ARANGES_NULL 36
1011#define DW_DLE_DEBUG_LINE_DUPLICATE 37
1012#define DW_DLE_DEBUG_LINE_NULL 38
1013#define DW_DLE_DEBUG_LOC_DUPLICATE 39
1014#define DW_DLE_DEBUG_LOC_NULL 40
1015#define DW_DLE_DEBUG_MACINFO_DUPLICATE 41
1016#define DW_DLE_DEBUG_MACINFO_NULL 42
1017#define DW_DLE_DEBUG_PUBNAMES_DUPLICATE 43
1018#define DW_DLE_DEBUG_PUBNAMES_NULL 44
1019#define DW_DLE_DEBUG_STR_DUPLICATE 45
1020#define DW_DLE_DEBUG_STR_NULL 46
1021#define DW_DLE_CU_LENGTH_ERROR 47
1022#define DW_DLE_VERSION_STAMP_ERROR 48
1023#define DW_DLE_ABBREV_OFFSET_ERROR 49
1024#define DW_DLE_ADDRESS_SIZE_ERROR 50
1025#define DW_DLE_DEBUG_INFO_PTR_NULL 51
1026#define DW_DLE_DIE_NULL 52
1027#define DW_DLE_STRING_OFFSET_BAD 53
1028#define DW_DLE_DEBUG_LINE_LENGTH_BAD 54
1029#define DW_DLE_LINE_PROLOG_LENGTH_BAD 55
1030#define DW_DLE_LINE_NUM_OPERANDS_BAD 56
1031#define DW_DLE_LINE_SET_ADDR_ERROR 57
1032#define DW_DLE_LINE_EXT_OPCODE_BAD 58
1033#define DW_DLE_DWARF_LINE_NULL 59
1034#define DW_DLE_INCL_DIR_NUM_BAD 60
1035#define DW_DLE_LINE_FILE_NUM_BAD 61
1036#define DW_DLE_ALLOC_FAIL 62
1037#define DW_DLE_NO_CALLBACK_FUNC 63
1038#define DW_DLE_SECT_ALLOC 64
1039#define DW_DLE_FILE_ENTRY_ALLOC 65
1040#define DW_DLE_LINE_ALLOC 66
1041#define DW_DLE_FPGM_ALLOC 67
1042#define DW_DLE_INCDIR_ALLOC 68
1043#define DW_DLE_STRING_ALLOC 69
1044#define DW_DLE_CHUNK_ALLOC 70
1045#define DW_DLE_BYTEOFF_ERR 71
1046#define DW_DLE_CIE_ALLOC 72
1047#define DW_DLE_FDE_ALLOC 73
1048#define DW_DLE_REGNO_OVFL 74
1049#define DW_DLE_CIE_OFFS_ALLOC 75
1050#define DW_DLE_WRONG_ADDRESS 76
1051#define DW_DLE_EXTRA_NEIGHBORS 77
1052#define DW_DLE_WRONG_TAG 78
1053#define DW_DLE_DIE_ALLOC 79
1054#define DW_DLE_PARENT_EXISTS 80
1055#define DW_DLE_DBG_NULL 81
1056#define DW_DLE_DEBUGLINE_ERROR 82
1057#define DW_DLE_DEBUGFRAME_ERROR 83
1058#define DW_DLE_DEBUGINFO_ERROR 84
1059#define DW_DLE_ATTR_ALLOC 85
1060#define DW_DLE_ABBREV_ALLOC 86
1061#define DW_DLE_OFFSET_UFLW 87
1062#define DW_DLE_ELF_SECT_ERR 88
1063#define DW_DLE_DEBUG_FRAME_LENGTH_BAD 89
1064#define DW_DLE_FRAME_VERSION_BAD 90
1065#define DW_DLE_CIE_RET_ADDR_REG_ERROR 91
1066#define DW_DLE_FDE_NULL 92
1067#define DW_DLE_FDE_DBG_NULL 93
1068#define DW_DLE_CIE_NULL 94
1069#define DW_DLE_CIE_DBG_NULL 95
1070#define DW_DLE_FRAME_TABLE_COL_BAD 96
1071#define DW_DLE_PC_NOT_IN_FDE_RANGE 97
1072#define DW_DLE_CIE_INSTR_EXEC_ERROR 98
1073#define DW_DLE_FRAME_INSTR_EXEC_ERROR 99
1074#define DW_DLE_FDE_PTR_NULL 100
1075#define DW_DLE_RET_OP_LIST_NULL 101
1076#define DW_DLE_LINE_CONTEXT_NULL 102
1077#define DW_DLE_DBG_NO_CU_CONTEXT 103
1078#define DW_DLE_DIE_NO_CU_CONTEXT 104
1079#define DW_DLE_FIRST_DIE_NOT_CU 105
1080#define DW_DLE_NEXT_DIE_PTR_NULL 106
1081#define DW_DLE_DEBUG_FRAME_DUPLICATE 107
1082#define DW_DLE_DEBUG_FRAME_NULL 108
1083#define DW_DLE_ABBREV_DECODE_ERROR 109
1084#define DW_DLE_DWARF_ABBREV_NULL 110
1085#define DW_DLE_ATTR_NULL 111
1086#define DW_DLE_DIE_BAD 112
1087#define DW_DLE_DIE_ABBREV_BAD 113
1088#define DW_DLE_ATTR_FORM_BAD 114
1089#define DW_DLE_ATTR_NO_CU_CONTEXT 115
1090#define DW_DLE_ATTR_FORM_SIZE_BAD 116
1091#define DW_DLE_ATTR_DBG_NULL 117
1092#define DW_DLE_BAD_REF_FORM 118
1093#define DW_DLE_ATTR_FORM_OFFSET_BAD 119
1094#define DW_DLE_LINE_OFFSET_BAD 120
1095#define DW_DLE_DEBUG_STR_OFFSET_BAD 121
1096#define DW_DLE_STRING_PTR_NULL 122
1097#define DW_DLE_PUBNAMES_VERSION_ERROR 123
1098#define DW_DLE_PUBNAMES_LENGTH_BAD 124
1099#define DW_DLE_GLOBAL_NULL 125
1100#define DW_DLE_GLOBAL_CONTEXT_NULL 126
1101#define DW_DLE_DIR_INDEX_BAD 127
1102#define DW_DLE_LOC_EXPR_BAD 128
1103#define DW_DLE_DIE_LOC_EXPR_BAD 129
1104#define DW_DLE_ADDR_ALLOC 130
1105#define DW_DLE_OFFSET_BAD 131
1106#define DW_DLE_MAKE_CU_CONTEXT_FAIL 132
1107#define DW_DLE_REL_ALLOC 133
1108#define DW_DLE_ARANGE_OFFSET_BAD 134
1109#define DW_DLE_SEGMENT_SIZE_BAD 135
1110#define DW_DLE_ARANGE_LENGTH_BAD 136
1111#define DW_DLE_ARANGE_DECODE_ERROR 137
1112#define DW_DLE_ARANGES_NULL 138
1113#define DW_DLE_ARANGE_NULL 139
1114#define DW_DLE_NO_FILE_NAME 140
1115#define DW_DLE_NO_COMP_DIR 141
1116#define DW_DLE_CU_ADDRESS_SIZE_BAD 142
1117#define DW_DLE_INPUT_ATTR_BAD 143
1118#define DW_DLE_EXPR_NULL 144
1119#define DW_DLE_BAD_EXPR_OPCODE 145
1120#define DW_DLE_EXPR_LENGTH_BAD 146
1121#define DW_DLE_MULTIPLE_RELOC_IN_EXPR 147
1122#define DW_DLE_ELF_GETIDENT_ERROR 148
1123#define DW_DLE_NO_AT_MIPS_FDE 149
1124#define DW_DLE_NO_CIE_FOR_FDE 150
1125#define DW_DLE_DIE_ABBREV_LIST_NULL 151
1126#define DW_DLE_DEBUG_FUNCNAMES_DUPLICATE 152
1127#define DW_DLE_DEBUG_FUNCNAMES_NULL 153
1128#define DW_DLE_DEBUG_FUNCNAMES_VERSION_ERROR 154
1129#define DW_DLE_DEBUG_FUNCNAMES_LENGTH_BAD 155
1130#define DW_DLE_FUNC_NULL 156
1131#define DW_DLE_FUNC_CONTEXT_NULL 157
1132#define DW_DLE_DEBUG_TYPENAMES_DUPLICATE 158
1133#define DW_DLE_DEBUG_TYPENAMES_NULL 159
1134#define DW_DLE_DEBUG_TYPENAMES_VERSION_ERROR 160
1135#define DW_DLE_DEBUG_TYPENAMES_LENGTH_BAD 161
1136#define DW_DLE_TYPE_NULL 162
1137#define DW_DLE_TYPE_CONTEXT_NULL 163
1138#define DW_DLE_DEBUG_VARNAMES_DUPLICATE 164
1139#define DW_DLE_DEBUG_VARNAMES_NULL 165
1140#define DW_DLE_DEBUG_VARNAMES_VERSION_ERROR 166
1141#define DW_DLE_DEBUG_VARNAMES_LENGTH_BAD 167
1142#define DW_DLE_VAR_NULL 168
1143#define DW_DLE_VAR_CONTEXT_NULL 169
1144#define DW_DLE_DEBUG_WEAKNAMES_DUPLICATE 170
1145#define DW_DLE_DEBUG_WEAKNAMES_NULL 171
1146#define DW_DLE_DEBUG_WEAKNAMES_VERSION_ERROR 172
1147#define DW_DLE_DEBUG_WEAKNAMES_LENGTH_BAD 173
1148#define DW_DLE_WEAK_NULL 174
1149#define DW_DLE_WEAK_CONTEXT_NULL 175
1150#define DW_DLE_LOCDESC_COUNT_WRONG 176
1151#define DW_DLE_MACINFO_STRING_NULL 177
1152#define DW_DLE_MACINFO_STRING_EMPTY 178
1153#define DW_DLE_MACINFO_INTERNAL_ERROR_SPACE 179
1154#define DW_DLE_MACINFO_MALLOC_FAIL 180
1155#define DW_DLE_DEBUGMACINFO_ERROR 181
1156#define DW_DLE_DEBUG_MACRO_LENGTH_BAD 182
1157#define DW_DLE_DEBUG_MACRO_MAX_BAD 183
1158#define DW_DLE_DEBUG_MACRO_INTERNAL_ERR 184
1159#define DW_DLE_DEBUG_MACRO_MALLOC_SPACE 185
1160#define DW_DLE_DEBUG_MACRO_INCONSISTENT 186
1161#define DW_DLE_DF_NO_CIE_AUGMENTATION 187
1162#define DW_DLE_DF_REG_NUM_TOO_HIGH 188
1163#define DW_DLE_DF_MAKE_INSTR_NO_INIT 189
1164#define DW_DLE_DF_NEW_LOC_LESS_OLD_LOC 190
1165#define DW_DLE_DF_POP_EMPTY_STACK 191
1166#define DW_DLE_DF_ALLOC_FAIL 192
1167#define DW_DLE_DF_FRAME_DECODING_ERROR 193
1168#define DW_DLE_DEBUG_LOC_SECTION_SHORT 194
1169#define DW_DLE_FRAME_AUGMENTATION_UNKNOWN 195
1170#define DW_DLE_PUBTYPE_CONTEXT 196
1171#define DW_DLE_DEBUG_PUBTYPES_LENGTH_BAD 197
1172#define DW_DLE_DEBUG_PUBTYPES_VERSION_ERROR 198
1173#define DW_DLE_DEBUG_PUBTYPES_DUPLICATE 199
1174#define DW_DLE_FRAME_CIE_DECODE_ERROR 200
1175#define DW_DLE_FRAME_REGISTER_UNREPRESENTABLE 201
1176#define DW_DLE_FRAME_REGISTER_COUNT_MISMATCH 202
1177#define DW_DLE_LINK_LOOP 203
1178#define DW_DLE_STRP_OFFSET_BAD 204
1179#define DW_DLE_DEBUG_RANGES_DUPLICATE 205
1180#define DW_DLE_DEBUG_RANGES_OFFSET_BAD 206
1181#define DW_DLE_DEBUG_RANGES_MISSING_END 207
1182#define DW_DLE_DEBUG_RANGES_OUT_OF_MEM 208
1183#define DW_DLE_DEBUG_SYMTAB_ERR 209
1184#define DW_DLE_DEBUG_STRTAB_ERR 210
1185#define DW_DLE_RELOC_MISMATCH_INDEX 211
1186#define DW_DLE_RELOC_MISMATCH_RELOC_INDEX 212
1187#define DW_DLE_RELOC_MISMATCH_STRTAB_INDEX 213
1188#define DW_DLE_RELOC_SECTION_MISMATCH 214
1189#define DW_DLE_RELOC_SECTION_MISSING_INDEX 215
1190#define DW_DLE_RELOC_SECTION_LENGTH_ODD 216
1191#define DW_DLE_RELOC_SECTION_PTR_NULL 217
1192#define DW_DLE_RELOC_SECTION_MALLOC_FAIL 218
1193#define DW_DLE_NO_ELF64_SUPPORT 219
1194#define DW_DLE_MISSING_ELF64_SUPPORT 220
1195#define DW_DLE_ORPHAN_FDE 221
1196#define DW_DLE_DUPLICATE_INST_BLOCK 222
1197#define DW_DLE_BAD_REF_SIG8_FORM 223
1198#define DW_DLE_ATTR_EXPRLOC_FORM_BAD 224
1199#define DW_DLE_FORM_SEC_OFFSET_LENGTH_BAD 225
1200#define DW_DLE_NOT_REF_FORM 226
1201#define DW_DLE_DEBUG_FRAME_LENGTH_NOT_MULTIPLE 227
1202#define DW_DLE_REF_SIG8_NOT_HANDLED 228
1203#define DW_DLE_DEBUG_FRAME_POSSIBLE_ADDRESS_BOTCH 229
1204#define DW_DLE_LOC_BAD_TERMINATION 230
1205#define DW_DLE_SYMTAB_SECTION_LENGTH_ODD 231
1206#define DW_DLE_RELOC_SECTION_SYMBOL_INDEX_BAD 232
1207#define DW_DLE_RELOC_SECTION_RELOC_TARGET_SIZE_UNKNOWN 233
1208#define DW_DLE_SYMTAB_SECTION_ENTRYSIZE_ZERO 234
1209#define DW_DLE_LINE_NUMBER_HEADER_ERROR 235
1210#define DW_DLE_DEBUG_TYPES_NULL 236
1211#define DW_DLE_DEBUG_TYPES_DUPLICATE 237
1212#define DW_DLE_DEBUG_TYPES_ONLY_DWARF4 238
1213#define DW_DLE_DEBUG_TYPEOFFSET_BAD 239
1214#define DW_DLE_GNU_OPCODE_ERROR 240
1215#define DW_DLE_DEBUGPUBTYPES_ERROR 241
1216#define DW_DLE_AT_FIXUP_NULL 242
1217#define DW_DLE_AT_FIXUP_DUP 243
1218#define DW_DLE_BAD_ABINAME 244
1219#define DW_DLE_TOO_MANY_DEBUG 245
1220#define DW_DLE_DEBUG_STR_OFFSETS_DUPLICATE 246
1221#define DW_DLE_SECTION_DUPLICATION 247
1222#define DW_DLE_SECTION_ERROR 248
1223#define DW_DLE_DEBUG_ADDR_DUPLICATE 249
1224#define DW_DLE_DEBUG_CU_UNAVAILABLE_FOR_FORM 250
1225#define DW_DLE_DEBUG_FORM_HANDLING_INCOMPLETE 251
1226#define DW_DLE_NEXT_DIE_PAST_END 252
1227#define DW_DLE_NEXT_DIE_WRONG_FORM 253
1228#define DW_DLE_NEXT_DIE_NO_ABBREV_LIST 254
1229#define DW_DLE_NESTED_FORM_INDIRECT_ERROR 255
1230#define DW_DLE_CU_DIE_NO_ABBREV_LIST 256
1231#define DW_DLE_MISSING_NEEDED_DEBUG_ADDR_SECTION 257
1232#define DW_DLE_ATTR_FORM_NOT_ADDR_INDEX 258
1233#define DW_DLE_ATTR_FORM_NOT_STR_INDEX 259
1234#define DW_DLE_DUPLICATE_GDB_INDEX 260
1235#define DW_DLE_ERRONEOUS_GDB_INDEX_SECTION 261
1236#define DW_DLE_GDB_INDEX_COUNT_ERROR 262
1237#define DW_DLE_GDB_INDEX_COUNT_ADDR_ERROR 263
1238#define DW_DLE_GDB_INDEX_INDEX_ERROR 264
1239#define DW_DLE_GDB_INDEX_CUVEC_ERROR 265
1240#define DW_DLE_DUPLICATE_CU_INDEX 266
1241#define DW_DLE_DUPLICATE_TU_INDEX 267
1242#define DW_DLE_XU_TYPE_ARG_ERROR 268
1243#define DW_DLE_XU_IMPOSSIBLE_ERROR 269
1244#define DW_DLE_XU_NAME_COL_ERROR 270
1245#define DW_DLE_XU_HASH_ROW_ERROR 271
1246#define DW_DLE_XU_HASH_INDEX_ERROR 272
1248#define DW_DLE_FAILSAFE_ERRVAL 273
1249#define DW_DLE_ARANGE_ERROR 274
1250#define DW_DLE_PUBNAMES_ERROR 275
1251#define DW_DLE_FUNCNAMES_ERROR 276
1252#define DW_DLE_TYPENAMES_ERROR 277
1253#define DW_DLE_VARNAMES_ERROR 278
1254#define DW_DLE_WEAKNAMES_ERROR 279
1255#define DW_DLE_RELOCS_ERROR 280
1256#define DW_DLE_ATTR_OUTSIDE_SECTION 281
1257#define DW_DLE_FISSION_INDEX_WRONG 282
1258#define DW_DLE_FISSION_VERSION_ERROR 283
1259#define DW_DLE_NEXT_DIE_LOW_ERROR 284
1260#define DW_DLE_CU_UT_TYPE_ERROR 285
1261#define DW_DLE_NO_SUCH_SIGNATURE_FOUND 286
1262#define DW_DLE_SIGNATURE_SECTION_NUMBER_WRONG 287
1263#define DW_DLE_ATTR_FORM_NOT_DATA8 288
1264#define DW_DLE_SIG_TYPE_WRONG_STRING 289
1265#define DW_DLE_MISSING_REQUIRED_TU_OFFSET_HASH 290
1266#define DW_DLE_MISSING_REQUIRED_CU_OFFSET_HASH 291
1267#define DW_DLE_DWP_MISSING_DWO_ID 292
1268#define DW_DLE_DWP_SIBLING_ERROR 293
1269#define DW_DLE_DEBUG_FISSION_INCOMPLETE 294
1270#define DW_DLE_FISSION_SECNUM_ERR 295
1271#define DW_DLE_DEBUG_MACRO_DUPLICATE 296
1272#define DW_DLE_DEBUG_NAMES_DUPLICATE 297
1273#define DW_DLE_DEBUG_LINE_STR_DUPLICATE 298
1274#define DW_DLE_DEBUG_SUP_DUPLICATE 299
1275#define DW_DLE_NO_SIGNATURE_TO_LOOKUP 300
1276#define DW_DLE_NO_TIED_ADDR_AVAILABLE 301
1277#define DW_DLE_NO_TIED_SIG_AVAILABLE 302
1278#define DW_DLE_STRING_NOT_TERMINATED 303
1279#define DW_DLE_BAD_LINE_TABLE_OPERATION 304
1280#define DW_DLE_LINE_CONTEXT_BOTCH 305
1281#define DW_DLE_LINE_CONTEXT_INDEX_WRONG 306
1282#define DW_DLE_NO_TIED_STRING_AVAILABLE 307
1283#define DW_DLE_NO_TIED_FILE_AVAILABLE 308
1284#define DW_DLE_CU_TYPE_MISSING 309
1285#define DW_DLE_LLE_CODE_UNKNOWN 310
1286#define DW_DLE_LOCLIST_INTERFACE_ERROR 311
1287#define DW_DLE_LOCLIST_INDEX_ERROR 312
1288#define DW_DLE_INTERFACE_NOT_SUPPORTED 313
1289#define DW_DLE_ZDEBUG_REQUIRES_ZLIB 314
1290#define DW_DLE_ZDEBUG_INPUT_FORMAT_ODD 315
1291#define DW_DLE_ZLIB_BUF_ERROR 316
1292#define DW_DLE_ZLIB_DATA_ERROR 317
1293#define DW_DLE_MACRO_OFFSET_BAD 318
1294#define DW_DLE_MACRO_OPCODE_BAD 319
1295#define DW_DLE_MACRO_OPCODE_FORM_BAD 320
1296#define DW_DLE_UNKNOWN_FORM 321
1297#define DW_DLE_BAD_MACRO_HEADER_POINTER 322
1298#define DW_DLE_BAD_MACRO_INDEX 323
1299#define DW_DLE_MACRO_OP_UNHANDLED 324
1300#define DW_DLE_MACRO_PAST_END 325
1301#define DW_DLE_LINE_STRP_OFFSET_BAD 326
1302#define DW_DLE_STRING_FORM_IMPROPER 327
1303#define DW_DLE_ELF_FLAGS_NOT_AVAILABLE 328
1304#define DW_DLE_LEB_IMPROPER 329
1305#define DW_DLE_DEBUG_LINE_RANGE_ZERO 330
1306#define DW_DLE_READ_LITTLEENDIAN_ERROR 331
1307#define DW_DLE_READ_BIGENDIAN_ERROR 332
1308#define DW_DLE_RELOC_INVALID 333
1309#define DW_DLE_INFO_HEADER_ERROR 334
1310#define DW_DLE_ARANGES_HEADER_ERROR 335
1311#define DW_DLE_LINE_OFFSET_WRONG_FORM 336
1312#define DW_DLE_FORM_BLOCK_LENGTH_ERROR 337
1313#define DW_DLE_ZLIB_SECTION_SHORT 338
1314#define DW_DLE_CIE_INSTR_PTR_ERROR 339
1315#define DW_DLE_FDE_INSTR_PTR_ERROR 340
1316#define DW_DLE_FISSION_ADDITION_ERROR 341
1317#define DW_DLE_HEADER_LEN_BIGGER_THAN_SECSIZE 342
1318#define DW_DLE_LOCEXPR_OFF_SECTION_END 343
1319#define DW_DLE_POINTER_SECTION_UNKNOWN 344
1320#define DW_DLE_ERRONEOUS_XU_INDEX_SECTION 345
1321#define DW_DLE_DIRECTORY_FORMAT_COUNT_VS_DIRECTORIES_MISMATCH 346
1322#define DW_DLE_COMPRESSED_EMPTY_SECTION 347
1323#define DW_DLE_SIZE_WRAPAROUND 348
1324#define DW_DLE_ILLOGICAL_TSEARCH 349
1325#define DW_DLE_BAD_STRING_FORM 350
1326#define DW_DLE_DEBUGSTR_ERROR 351
1327#define DW_DLE_DEBUGSTR_UNEXPECTED_REL 352
1328#define DW_DLE_DISCR_ARRAY_ERROR 353
1329#define DW_DLE_LEB_OUT_ERROR 354
1330#define DW_DLE_SIBLING_LIST_IMPROPER 355
1331#define DW_DLE_LOCLIST_OFFSET_BAD 356
1332#define DW_DLE_LINE_TABLE_BAD 357
1333#define DW_DLE_DEBUG_LOClISTS_DUPLICATE 358
1334#define DW_DLE_DEBUG_RNGLISTS_DUPLICATE 359
1335#define DW_DLE_ABBREV_OFF_END 360
1336#define DW_DLE_FORM_STRING_BAD_STRING 361
1337#define DW_DLE_AUGMENTATION_STRING_OFF_END 362
1338#define DW_DLE_STRING_OFF_END_PUBNAMES_LIKE 363
1339#define DW_DLE_LINE_STRING_BAD 364
1340#define DW_DLE_DEFINE_FILE_STRING_BAD 365
1341#define DW_DLE_MACRO_STRING_BAD 366
1342#define DW_DLE_MACINFO_STRING_BAD 367
1343#define DW_DLE_ZLIB_UNCOMPRESS_ERROR 368
1344#define DW_DLE_IMPROPER_DWO_ID 369
1345#define DW_DLE_GROUPNUMBER_ERROR 370
1346#define DW_DLE_ADDRESS_SIZE_ZERO 371
1347#define DW_DLE_DEBUG_NAMES_HEADER_ERROR 372
1348#define DW_DLE_DEBUG_NAMES_AUG_STRING_ERROR 373
1349#define DW_DLE_DEBUG_NAMES_PAD_NON_ZERO 374
1350#define DW_DLE_DEBUG_NAMES_OFF_END 375
1351#define DW_DLE_DEBUG_NAMES_ABBREV_OVERFLOW 376
1352#define DW_DLE_DEBUG_NAMES_ABBREV_CORRUPTION 377
1353#define DW_DLE_DEBUG_NAMES_NULL_POINTER 378
1354#define DW_DLE_DEBUG_NAMES_BAD_INDEX_ARG 379
1355#define DW_DLE_DEBUG_NAMES_ENTRYPOOL_OFFSET 380
1356#define DW_DLE_DEBUG_NAMES_UNHANDLED_FORM 381
1357#define DW_DLE_LNCT_CODE_UNKNOWN 382
1358#define DW_DLE_LNCT_FORM_CODE_NOT_HANDLED 383
1359#define DW_DLE_LINE_HEADER_LENGTH_BOTCH 384
1360#define DW_DLE_STRING_HASHTAB_IDENTITY_ERROR 385
1361#define DW_DLE_UNIT_TYPE_NOT_HANDLED 386
1362#define DW_DLE_GROUP_MAP_ALLOC 387
1363#define DW_DLE_GROUP_MAP_DUPLICATE 388
1364#define DW_DLE_GROUP_COUNT_ERROR 389
1365#define DW_DLE_GROUP_INTERNAL_ERROR 390
1366#define DW_DLE_GROUP_LOAD_ERROR 391
1367#define DW_DLE_GROUP_LOAD_READ_ERROR 392
1368#define DW_DLE_AUG_DATA_LENGTH_BAD 393
1369#define DW_DLE_ABBREV_MISSING 394
1370#define DW_DLE_NO_TAG_FOR_DIE 395
1371#define DW_DLE_LOWPC_WRONG_CLASS 396
1372#define DW_DLE_HIGHPC_WRONG_FORM 397
1373#define DW_DLE_STR_OFFSETS_BASE_WRONG_FORM 398
1374#define DW_DLE_DATA16_OUTSIDE_SECTION 399
1375#define DW_DLE_LNCT_MD5_WRONG_FORM 400
1376#define DW_DLE_LINE_HEADER_CORRUPT 401
1377#define DW_DLE_STR_OFFSETS_NULLARGUMENT 402
1378#define DW_DLE_STR_OFFSETS_NULL_DBG 403
1379#define DW_DLE_STR_OFFSETS_NO_MAGIC 404
1380#define DW_DLE_STR_OFFSETS_ARRAY_SIZE 405
1381#define DW_DLE_STR_OFFSETS_VERSION_WRONG 406
1382#define DW_DLE_STR_OFFSETS_ARRAY_INDEX_WRONG 407
1383#define DW_DLE_STR_OFFSETS_EXTRA_BYTES 408
1384#define DW_DLE_DUP_ATTR_ON_DIE 409
1385#define DW_DLE_SECTION_NAME_BIG 410
1386#define DW_DLE_FILE_UNAVAILABLE 411
1387#define DW_DLE_FILE_WRONG_TYPE 412
1388#define DW_DLE_SIBLING_OFFSET_WRONG 413
1389#define DW_DLE_OPEN_FAIL 414
1390#define DW_DLE_OFFSET_SIZE 415
1391#define DW_DLE_MACH_O_SEGOFFSET_BAD 416
1392#define DW_DLE_FILE_OFFSET_BAD 417
1393#define DW_DLE_SEEK_ERROR 418
1394#define DW_DLE_READ_ERROR 419
1395#define DW_DLE_ELF_CLASS_BAD 420
1396#define DW_DLE_ELF_ENDIAN_BAD 421
1397#define DW_DLE_ELF_VERSION_BAD 422
1398#define DW_DLE_FILE_TOO_SMALL 423
1399#define DW_DLE_PATH_SIZE_TOO_SMALL 424
1400#define DW_DLE_BAD_TYPE_SIZE 425
1401#define DW_DLE_PE_SIZE_SMALL 426
1402#define DW_DLE_PE_OFFSET_BAD 427
1403#define DW_DLE_PE_STRING_TOO_LONG 428
1404#define DW_DLE_IMAGE_FILE_UNKNOWN_TYPE 429
1405#define DW_DLE_LINE_TABLE_LINENO_ERROR 430
1406#define DW_DLE_PRODUCER_CODE_NOT_AVAILABLE 431
1407#define DW_DLE_NO_ELF_SUPPORT 432
1408#define DW_DLE_NO_STREAM_RELOC_SUPPORT 433
1409#define DW_DLE_RETURN_EMPTY_PUBNAMES_ERROR 434
1410#define DW_DLE_SECTION_SIZE_ERROR 435
1411#define DW_DLE_INTERNAL_NULL_POINTER 436
1412#define DW_DLE_SECTION_STRING_OFFSET_BAD 437
1413#define DW_DLE_SECTION_INDEX_BAD 438
1414#define DW_DLE_INTEGER_TOO_SMALL 439
1415#define DW_DLE_ELF_SECTION_LINK_ERROR 440
1416#define DW_DLE_ELF_SECTION_GROUP_ERROR 441
1417#define DW_DLE_ELF_SECTION_COUNT_MISMATCH 442
1418#define DW_DLE_ELF_STRING_SECTION_MISSING 443
1419#define DW_DLE_SEEK_OFF_END 444
1420#define DW_DLE_READ_OFF_END 445
1421#define DW_DLE_ELF_SECTION_ERROR 446
1422#define DW_DLE_ELF_STRING_SECTION_ERROR 447
1423#define DW_DLE_MIXING_SPLIT_DWARF_VERSIONS 448
1424#define DW_DLE_TAG_CORRUPT 449
1425#define DW_DLE_FORM_CORRUPT 450
1426#define DW_DLE_ATTR_CORRUPT 451
1427#define DW_DLE_ABBREV_ATTR_DUPLICATION 452
1428#define DW_DLE_DWP_SIGNATURE_MISMATCH 453
1429#define DW_DLE_CU_UT_TYPE_VALUE 454
1430#define DW_DLE_DUPLICATE_GNU_DEBUGLINK 455
1431#define DW_DLE_CORRUPT_GNU_DEBUGLINK 456
1432#define DW_DLE_CORRUPT_NOTE_GNU_DEBUGID 457
1433#define DW_DLE_CORRUPT_GNU_DEBUGID_SIZE 458
1434#define DW_DLE_CORRUPT_GNU_DEBUGID_STRING 459
1435#define DW_DLE_HEX_STRING_ERROR 460
1436#define DW_DLE_DECIMAL_STRING_ERROR 461
1437#define DW_DLE_PRO_INIT_EXTRAS_UNKNOWN 462
1438#define DW_DLE_PRO_INIT_EXTRAS_ERR 463
1439#define DW_DLE_NULL_ARGS_DWARF_ADD_PATH 464
1440#define DW_DLE_DWARF_INIT_DBG_NULL 465
1441#define DW_DLE_ELF_RELOC_SECTION_ERROR 466
1442#define DW_DLE_USER_DECLARED_ERROR 467
1443#define DW_DLE_RNGLISTS_ERROR 468
1444#define DW_DLE_LOCLISTS_ERROR 469
1445#define DW_DLE_SECTION_SIZE_OR_OFFSET_LARGE 470
1446#define DW_DLE_GDBINDEX_STRING_ERROR 471
1447#define DW_DLE_GNU_PUBNAMES_ERROR 472
1448#define DW_DLE_GNU_PUBTYPES_ERROR 473
1449#define DW_DLE_DUPLICATE_GNU_DEBUG_PUBNAMES 474
1450#define DW_DLE_DUPLICATE_GNU_DEBUG_PUBTYPES 475
1451#define DW_DLE_DEBUG_SUP_STRING_ERROR 476
1452#define DW_DLE_DEBUG_SUP_ERROR 477
1453#define DW_DLE_LOCATION_ERROR 478
1454#define DW_DLE_DEBUGLINK_PATH_SHORT 479
1455#define DW_DLE_SIGNATURE_MISMATCH 480
1456#define DW_DLE_MACRO_VERSION_ERROR 481
1457#define DW_DLE_NEGATIVE_SIZE 482
1458#define DW_DLE_UDATA_VALUE_NEGATIVE 483
1459#define DW_DLE_DEBUG_NAMES_ERROR 484
1460#define DW_DLE_CFA_INSTRUCTION_ERROR 485
1461#define DW_DLE_MACHO_CORRUPT_HEADER 486
1462#define DW_DLE_MACHO_CORRUPT_COMMAND 487
1463#define DW_DLE_MACHO_CORRUPT_SECTIONDETAILS 488
1464#define DW_DLE_RELOCATION_SECTION_SIZE_ERROR 489
1465#define DW_DLE_SYMBOL_SECTION_SIZE_ERROR 490
1466#define DW_DLE_PE_SECTION_SIZE_ERROR 491
1467#define DW_DLE_DEBUG_ADDR_ERROR 492
1468#define DW_DLE_NO_SECT_STRINGS 493
1469#define DW_DLE_TOO_FEW_SECTIONS 494
1470#define DW_DLE_BUILD_ID_DESCRIPTION_SIZE 495
1471#define DW_DLE_BAD_SECTION_FLAGS 496
1472#define DW_DLE_IMPROPER_SECTION_ZERO 497
1473#define DW_DLE_INVALID_NULL_ARGUMENT 498
1474#define DW_DLE_LINE_INDEX_WRONG 499
1475#define DW_DLE_LINE_COUNT_WRONG 500
1476#define DW_DLE_ARITHMETIC_OVERFLOW 501
1477#define DW_DLE_UNIVERSAL_BINARY_ERROR 502
1478#define DW_DLE_UNIV_BIN_OFFSET_SIZE_ERROR 503
1479#define DW_DLE_PE_SECTION_SIZE_HEURISTIC_FAIL 504
1480#define DW_DLE_LLE_ERROR 505
1481#define DW_DLE_RLE_ERROR 506
1482#define DW_DLE_MACHO_SEGMENT_COUNT_HEURISTIC_FAIL 507
1485#define DW_DLE_LAST 507
1486#define DW_DLE_LO_USER 0x10000
1552 char * dw_true_path_out_buffer,
1553 unsigned int dw_true_path_bufferlen,
1554 unsigned int dw_groupnumber,
1573 char * dw_true_path_out_buffer,
1574 unsigned int dw_true_path_bufferlen,
1575 unsigned int dw_groupnumber,
1576 unsigned int dw_universalnumber,
1639 char * dw_true_path_out_buffer,
1640 unsigned int dw_true_path_bufferlen,
1641 unsigned int dw_groupnumber,
1645 char ** dw_dl_path_array,
1646 unsigned int dw_dl_path_array_size,
1647 unsigned char * dw_dl_path_source,
1667 char * dw_true_path_out_buffer,
1668 unsigned int dw_true_path_bufferlen,
1669 unsigned int dw_groupnumber,
1670 unsigned int dw_universalnumber,
1674 char ** dw_dl_path_array,
1675 unsigned int dw_dl_path_array_size,
1676 unsigned char * dw_dl_path_source,
1713 unsigned int dw_groupnumber,
1772 unsigned int dw_groupnumber,
2163 const char * dw_sig_type,
2483 char ** dw_ret_name,
3267 char ** dw_returned_string,
3366 void * dw_input_block,
3379 void *dw_value_array);
3567 char *** dw_srcfiles,
3699 const char ** dw_compilation_directory,
3741 const char ** dw_name,
3831 const char ** dw_name,
3882 const char ** dw_name,
4063 char ** dw_returned_name,
4181 int * dw_errcount_out,
4215 int * dw_errorcount_out);
4467 unsigned int * dw_entrylen,
4468 unsigned int * dw_rle_value_out,
4572 Dwarf_Bool * dw_rnglists_base_address_present,
4574 Dwarf_Bool * dw_rnglists_debug_addr_base_present,
4598 unsigned int * dw_version,
4620 unsigned int * dw_entrylen,
4621 unsigned int * dw_entry_kind,
4655#define DW_LKIND_expression 0
4656#define DW_LKIND_loclist 1
4657#define DW_LKIND_GNU_exp_list 2
4658#define DW_LKIND_loclists 5
4659#define DW_LKIND_unknown 99
4675 unsigned int * dw_lkind,
4983 Dwarf_Bool * dw_loclists_base_address_present,
4985 Dwarf_Bool * dw_loclists_debug_addr_base_present,
5003 unsigned int * dw_version,
5020 unsigned int * dw_entrylen,
5021 unsigned int * dw_entry_kind,
5273 unsigned int * dw_flags,
5386 const char ** dw_macro_string,
5421 const char ** dw_src_file_name,
5692 char ** dw_augmenter,
6172 const char ** dw_fields_description,
6208 const char ** dw_fields_description,
6802 char ** dw_filename,
6937 char ** dw_augmentation_string,
6995 const char * dw_type,
7082 char * * dw_ptrtostr,
7388#define DW_GL_GLOBALS 0
7389#define DW_GL_PUBTYPES 1
7391#define DW_GL_FUNCS 2
7392#define DW_GL_TYPES 3
7394#define DW_GL_WEAKS 5
7448 int dw_requested_section,
7480 char ** dw_returned_name,
7536 char ** dw_returned_name,
7729 const char **dw_name_string,
7730 unsigned char *dw_flagbyte,
7731 unsigned char *dw_staticorglobal,
7732 unsigned char *dw_typeofentry,
7804 const char ** dw_section_name,
8083 const char ** dw_string_ptr,
8126 const char * dw_section_type,
8132 const char ** dw_sect_name,
8161 const char ** dw_typename,
8162 const char ** dw_sectionname,
8228 const char ** dw_SECT_name,
8311 const char * dw_cu_type,
8412 char ** dw_debuglink_path_returned,
8413 unsigned char ** dw_crc_returned,
8414 char ** dw_debuglink_fullpath_returned,
8415 unsigned int * dw_debuglink_path_length_returned,
8416 unsigned int * dw_buildid_type_returned,
8417 char ** dw_buildid_owner_name_returned,
8418 unsigned char ** dw_buildid_returned,
8419 unsigned int * dw_buildid_length_returned,
8420 char *** dw_paths_returned,
8421 unsigned int * dw_paths_length_returned,
8477 const char * dw_pathname,
8508 unsigned char * dw_crcbuf,
8535 unsigned long dw_len,
8536 unsigned int dw_init);
8555#define DW_HARMLESS_ERROR_CIRCULAR_LIST_DEFAULT_SIZE 4
8600 unsigned int dw_count,
8601 const char ** dw_errmsg_ptrs_array,
8602 unsigned int * dw_newerr_count);
8626 unsigned int dw_maxcount);
8640 char * dw_newerror);
8677 const char ** dw_s_out);
8681 const char ** dw_s_out);
8685 const char ** dw_s_out);
8689 const char ** dw_s_out);
8693 const char ** dw_s_out);
8697 const char ** dw_s_out);
8701 const char ** dw_s_out);
8705 const char ** dw_s_out);
8709 const char ** dw_s_out);
8713 const char ** dw_s_out);
8717 const char ** dw_s_out);
8721 const char ** dw_s_out);
8727 const char ** dw_s_out);
8733 const char ** dw_s_out);
8737 const char ** dw_s_out);
8741 const char ** dw_s_out);
8749 const char ** dw_s_out);
8755 const char ** dw_s_out);
8760 const char ** dw_s_out);
8764 const char ** dw_s_out);
8768 const char ** dw_s_out);
8772 const char ** dw_s_out);
8776 const char ** dw_s_out);
8780 const char ** dw_s_out);
8787 const char ** dw_s_out );
8792 const char ** dw_s_out);
8796 const char ** dw_s_out);
8800 const char ** dw_s_out);
8806 const char ** dw_s_out);
8812 const char ** dw_s_out);
8816 const char ** dw_s_out);
8820 const char ** dw_s_out);
8824 const char ** dw_s_out);
8828 const char ** dw_s_out);
8832 const char ** dw_s_out);
8836 const char ** dw_s_out);
8840 const char ** dw_s_out);
8844 const char ** dw_s_out);
8857 const char ** dw_s_out);
8913 const char **dw_sec_name,
8923 const char ** dw_sec_name,
8929 const char ** dw_sec_name_out,
8975 const char * dw_std_section_name,
8976 const char ** dw_actual_sec_name_out,
8989 const char ** dw_section_name_out,
8998 const char ** dw_section_name_out,
9005 const char ** dw_section_name_out,
9012 const char ** dw_section_name_out,
9039 const char ** dw_section_name_out,
9046 const char ** dw_section_name_out,
9063 const char ** dw_section_name_out,
9113 const char * dw_section_name,
9133 const char * dw_section_name,
9184 int dw_section_index,
9185 const char ** dw_section_name,
9205 int dw_section_index,
9206 const char ** dw_section_name,
9473 const char **dw_sec_names_array,
9493DW_API
int dwarf_encode_signed_leb128(
Dwarf_Signed dw_val,
9501DW_API
int dwarf_decode_leb128(
char *dw_leb,
9505DW_API
int dwarf_decode_signed_leb128(
char *dw_leb,
9592 (
void *,
const void *,
unsigned long);
9739DW_API
int dwarf_object_detector_path_b(
const char * dw_path,
9740 char *dw_outpath_buffer,
9741 unsigned long dw_outpathlen,
9742 char ** dw_gl_pathnames,
9743 unsigned int dw_gl_pathcount,
9744 unsigned int *dw_ftype,
9745 unsigned int *dw_endian,
9746 unsigned int *dw_offsetsize,
9748 unsigned char *dw_pathsource,
9752DW_API
int dwarf_object_detector_path_dSYM(
const char * dw_path,
9754 unsigned long dw_outpath_len,
9755 char ** dw_gl_pathnames,
9756 unsigned int dw_gl_pathcount,
9757 unsigned int *dw_ftype,
9758 unsigned int *dw_endian,
9759 unsigned int *dw_offsetsize,
9761 unsigned char *dw_pathsource,
9764DW_API
int dwarf_object_detector_fd(
int dw_fd,
9765 unsigned int *dw_ftype,
9766 unsigned int *dw_endian,
9767 unsigned int *dw_offsetsize,
int dwarf_get_ACCESS_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_ACCESS_name
int dwarf_get_OP_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_OP_name
int dwarf_get_RLE_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_RLE_name
int dwarf_get_ADDR_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_ADDR_name
int dwarf_get_ATCF_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_AT_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 c...
int dwarf_get_END_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_END_name
int dwarf_get_LLE_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_LLE_name
int dwarf_get_VIRTUALITY_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_VIRTUALITY_name
int dwarf_get_MACRO_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_MACRO_name
int dwarf_get_CHILDREN_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_CHILDREN_name
int dwarf_get_SECT_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_SECT_name
int dwarf_get_EH_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_EH_name
int dwarf_get_DEFAULTED_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_DEFAULTED_name
int dwarf_get_ATE_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_ATE_name
int dwarf_get_DS_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_DS_name
int dwarf_get_FORM_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_FORM_name
int dwarf_get_MACINFO_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_MACINFO_name
int dwarf_get_TAG_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_TAG_name
int dwarf_get_LANG_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_LANG_name
int dwarf_get_IDX_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_IDX_name
int dwarf_get_GNUIKIND_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_GNUIKIND_name - libdwarf invention
int dwarf_get_DSC_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_DSC_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_VIS_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_VIS_name
int dwarf_get_ISA_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_ISA_name
int dwarf_get_LNE_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_LNE_name
int dwarf_get_ID_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_ID_name
int dwarf_get_GNUIVIS_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_GNUIVIS_name - a libdwarf invention
int dwarf_get_CC_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_CC_name
int dwarf_get_ORD_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_ORD_name
int dwarf_get_LNCT_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_LNCT_name
int dwarf_get_AT_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_AT_name
int dwarf_get_CFA_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_CFA_name
int dwarf_get_UT_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_UT_name
int dwarf_get_LLEX_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_LLEX_name - a GNU extension.
int dwarf_get_LNS_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_LNS_name
int dwarf_get_FRAME_name(unsigned int dw_val_in, const char **dw_s_out)
This is a set of register names.
int dwarf_get_INL_name(unsigned int dw_val_in, const char **dw_s_out)
dwarf_get_INL_name
int dwarf_get_abbrev_code(Dwarf_Abbrev dw_abbrev, Dwarf_Unsigned *dw_return_code_number, Dwarf_Error *dw_error)
Get Abbreviation Code.
int dwarf_get_abbrev(Dwarf_Debug dw_dbg, Dwarf_Unsigned dw_offset, Dwarf_Abbrev *dw_returned_abbrev, Dwarf_Unsigned *dw_length, Dwarf_Unsigned *dw_attr_count, Dwarf_Error *dw_error)
Reading Abbreviation Data.
int dwarf_get_abbrev_tag(Dwarf_Abbrev dw_abbrev, Dwarf_Half *dw_return_tag_number, Dwarf_Error *dw_error)
Get abbreviation tag.
int dwarf_get_abbrev_children_flag(Dwarf_Abbrev dw_abbrev, Dwarf_Signed *dw_return_flag, Dwarf_Error *dw_error)
Get Abbrev Children Flag.
int dwarf_get_abbrev_entry_b(Dwarf_Abbrev dw_abbrev, Dwarf_Unsigned dw_indx, Dwarf_Bool dw_filter_outliers, Dwarf_Unsigned *dw_returned_attr_num, Dwarf_Unsigned *dw_returned_form, Dwarf_Signed *dw_returned_implicit_const, Dwarf_Off *dw_offset, Dwarf_Error *dw_error)
Get Abbrev Entry Details.
struct Dwarf_Xu_Index_Header_s * Dwarf_Xu_Index_Header
Definition libdwarf.h:693
struct Dwarf_Fde_s * Dwarf_Fde
Definition libdwarf.h:671
struct Dwarf_Weak_s * Dwarf_Weak
Definition libdwarf.h:653
struct Dwarf_Regtable3_s Dwarf_Regtable3
struct Dwarf_Debug_Addr_Table_s * Dwarf_Debug_Addr_Table
Definition libdwarf.h:613
struct Dwarf_Debug_s * Dwarf_Debug
Definition libdwarf.h:603
struct Dwarf_Regtable_Entry3_s Dwarf_Regtable_Entry3
struct Dwarf_Die_s * Dwarf_Die
Definition libdwarf.h:608
struct Dwarf_Dnames_Head_s * Dwarf_Dnames_Head
Definition libdwarf.h:709
void(* dwarf_printf_callback_function_type)(void *dw_user_pointer, const char *dw_linecontent)
Definition libdwarf.h:394
struct Dwarf_Str_Offsets_Table_s * Dwarf_Str_Offsets_Table
Definition libdwarf.h:455
struct Dwarf_Gdbindex_s * Dwarf_Gdbindex
Definition libdwarf.h:687
struct Dwarf_Line_s * Dwarf_Line
Definition libdwarf.h:619
struct Dwarf_Abbrev_s * Dwarf_Abbrev
Definition libdwarf.h:665
struct Dwarf_Func_s * Dwarf_Func
Definition libdwarf.h:641
struct Dwarf_Block_s Dwarf_Block
struct Dwarf_Rnglists_Head_s * Dwarf_Rnglists_Head
Definition libdwarf.h:852
struct Dwarf_Global_s * Dwarf_Global
Definition libdwarf.h:625
struct Dwarf_Frame_Instr_Head_s * Dwarf_Frame_Instr_Head
Definition libdwarf.h:370
struct Dwarf_Error_s * Dwarf_Error
Definition libdwarf.h:597
struct Dwarf_Gnu_Index_Head_s * Dwarf_Gnu_Index_Head
Definition libdwarf.h:357
struct Dwarf_Macro_Context_s * Dwarf_Macro_Context
Definition libdwarf.h:702
struct Dwarf_Line_Context_s * Dwarf_Line_Context
Definition libdwarf.h:697
struct Dwarf_Sig8_s Dwarf_Sig8
struct Dwarf_Locdesc_c_s * Dwarf_Locdesc_c
Definition libdwarf.h:342
struct Dwarf_Dsc_Head_s * Dwarf_Dsc_Head
Definition libdwarf.h:363
struct Dwarf_Form_Data16_s Dwarf_Form_Data16
struct Dwarf_Type_s * Dwarf_Type
Definition libdwarf.h:634
struct Dwarf_Ranges_s Dwarf_Ranges
struct Dwarf_Loc_Head_c_s * Dwarf_Loc_Head_c
Definition libdwarf.h:347
struct Dwarf_Cie_s * Dwarf_Cie
Definition libdwarf.h:676
struct Dwarf_Var_s * Dwarf_Var
Definition libdwarf.h:647
void(* Dwarf_Handler)(Dwarf_Error dw_error, Dwarf_Ptr dw_errarg)
Definition libdwarf.h:718
struct Dwarf_Arange_s * Dwarf_Arange
Definition libdwarf.h:682
struct Dwarf_Attribute_s * Dwarf_Attribute
Definition libdwarf.h:658
int dwarf_get_arange_info_b(Dwarf_Arange dw_arange, Dwarf_Unsigned *dw_segment, Dwarf_Unsigned *dw_segment_entry_size, Dwarf_Addr *dw_start, Dwarf_Unsigned *dw_length, Dwarf_Off *dw_cu_die_offset, Dwarf_Error *dw_error)
Get the data in an arange entry.
int dwarf_get_aranges(Dwarf_Debug dw_dbg, Dwarf_Arange **dw_aranges, Dwarf_Signed *dw_arange_count, Dwarf_Error *dw_error)
Get access to CUs given code addresses.
int dwarf_get_cu_die_offset(Dwarf_Arange dw_arange, Dwarf_Off *dw_return_offset, Dwarf_Error *dw_error)
Given an arange return its CU DIE offset.
int dwarf_get_arange_cu_header_offset(Dwarf_Arange dw_arange, Dwarf_Off *dw_return_cu_header_offset, Dwarf_Error *dw_error)
Given an arange return its CU header offset.
int dwarf_get_arange(Dwarf_Arange *dw_aranges, Dwarf_Unsigned dw_arange_count, Dwarf_Addr dw_address, Dwarf_Arange *dw_returned_arange, Dwarf_Error *dw_error)
Find a range given a code address.
unsigned char Dwarf_Small
Definition libdwarf.h:204
signed long long Dwarf_Signed
Definition libdwarf.h:197
unsigned short Dwarf_Half
Definition libdwarf.h:203
unsigned long long Dwarf_Unsigned
Definition libdwarf.h:196
void * Dwarf_Ptr
Definition libdwarf.h:208
int Dwarf_Bool
Definition libdwarf.h:202
unsigned long long Dwarf_Off
Definition libdwarf.h:198
unsigned long long Dwarf_Addr
Definition libdwarf.h:199
int dwarf_die_from_hash_signature(Dwarf_Debug dw_dbg, Dwarf_Sig8 *dw_hash_sig, const char *dw_sig_type, Dwarf_Die *dw_returned_CU_die, Dwarf_Error *dw_error)
Return a CU DIE given a has signature.
int dwarf_siblingof_c(Dwarf_Die dw_die, Dwarf_Die *dw_return_siblingdie, Dwarf_Error *dw_error)
Return the next sibling DIE.
int dwarf_offdie_b(Dwarf_Debug dw_dbg, Dwarf_Off dw_offset, Dwarf_Bool dw_is_info, Dwarf_Die *dw_return_die, Dwarf_Error *dw_error)
Return DIE given global (not CU-relative) offset.
int dwarf_next_cu_header_e(Dwarf_Debug dw_dbg, Dwarf_Bool dw_is_info, Dwarf_Die *dw_cu_die, Dwarf_Unsigned *dw_cu_header_length, Dwarf_Half *dw_version_stamp, Dwarf_Off *dw_abbrev_offset, Dwarf_Half *dw_address_size, Dwarf_Half *dw_length_size, Dwarf_Half *dw_extension_size, Dwarf_Sig8 *dw_type_signature, Dwarf_Unsigned *dw_typeoffset, Dwarf_Unsigned *dw_next_cu_header_offset, Dwarf_Half *dw_header_cu_type, Dwarf_Error *dw_error)
Return information on the next CU header(e).
int dwarf_next_cu_header_d(Dwarf_Debug dw_dbg, Dwarf_Bool dw_is_info, Dwarf_Unsigned *dw_cu_header_length, Dwarf_Half *dw_version_stamp, Dwarf_Off *dw_abbrev_offset, Dwarf_Half *dw_address_size, Dwarf_Half *dw_length_size, Dwarf_Half *dw_extension_size, Dwarf_Sig8 *dw_type_signature, Dwarf_Unsigned *dw_typeoffset, Dwarf_Unsigned *dw_next_cu_header_offset, Dwarf_Half *dw_header_cu_type, Dwarf_Error *dw_error)
Return information on the next CU header(d)
Dwarf_Bool dwarf_get_die_infotypes_flag(Dwarf_Die dw_die)
Return the is_info flag.
void dwarf_dealloc_die(Dwarf_Die dw_die)
Deallocate (free) a DIE.
int dwarf_find_die_given_sig8(Dwarf_Debug dw_dbg, Dwarf_Sig8 *dw_ref, Dwarf_Die *dw_die_out, Dwarf_Bool *dw_is_info, Dwarf_Error *dw_error)
Return a DIE given a Dwarf_Sig8 hash.
int dwarf_child(Dwarf_Die dw_die, Dwarf_Die *dw_return_childdie, Dwarf_Error *dw_error)
Return the child DIE, if any. The child may be the first of a list of sibling DIEs.
int dwarf_cu_header_basics(Dwarf_Die dw_die, Dwarf_Half *dw_version, Dwarf_Bool *dw_is_info, Dwarf_Bool *dw_is_dwo, Dwarf_Half *dw_offset_size, Dwarf_Half *dw_address_size, Dwarf_Half *dw_extension_size, Dwarf_Sig8 **dw_signature, Dwarf_Off *dw_offset_of_length, Dwarf_Unsigned *dw_total_byte_length, Dwarf_Error *dw_error)
Return some CU-relative facts.
int dwarf_siblingof_b(Dwarf_Debug dw_dbg, Dwarf_Die dw_die, Dwarf_Bool dw_is_info, Dwarf_Die *dw_return_siblingdie, Dwarf_Error *dw_error)
Return the first DIE or the next sibling DIE.
void dwarf_dealloc_debug_addr_table(Dwarf_Debug_Addr_Table dw_dat)
dealloc (free) a Dwarf_Attr_Table record.
int dwarf_debug_addr_table(Dwarf_Debug dw_dbg, Dwarf_Unsigned dw_section_offset, Dwarf_Debug_Addr_Table *dw_table_header, Dwarf_Unsigned *dw_length, Dwarf_Half *dw_version, Dwarf_Small *dw_address_size, Dwarf_Unsigned *dw_at_addr_base, Dwarf_Unsigned *dw_entry_count, Dwarf_Unsigned *dw_next_table_offset, Dwarf_Error *dw_error)
Return a .debug_addr table.
int dwarf_debug_addr_by_index(Dwarf_Debug_Addr_Table dw_dat, Dwarf_Unsigned dw_entry_index, Dwarf_Unsigned *dw_address, Dwarf_Error *dw_error)
Return .debug_addr address given table index.
int dwarf_dnames_name(Dwarf_Dnames_Head dw_dn, Dwarf_Unsigned dw_name_index, Dwarf_Unsigned *dw_bucket_number, Dwarf_Unsigned *dw_hash_value, Dwarf_Unsigned *dw_offset_to_debug_str, char **dw_ptrtostr, Dwarf_Unsigned *dw_offset_in_entrypool, Dwarf_Unsigned *dw_abbrev_number, Dwarf_Half *dw_abbrev_tag, Dwarf_Unsigned dw_array_size, Dwarf_Half *dw_idxattr_array, Dwarf_Half *dw_form_array, Dwarf_Unsigned *dw_idxattr_count, Dwarf_Error *dw_error)
Retrieve a name table entry.
int dwarf_dnames_entrypool(Dwarf_Dnames_Head dw_dn, Dwarf_Unsigned dw_offset_in_entrypool, Dwarf_Unsigned *dw_abbrev_code, Dwarf_Half *dw_tag, Dwarf_Unsigned *dw_value_count, Dwarf_Unsigned *dw_index_of_abbrev, Dwarf_Unsigned *dw_offset_of_initial_value, Dwarf_Error *dw_error)
Return a the set of values from an entrypool entry.
int dwarf_dnames_header(Dwarf_Debug dw_dbg, Dwarf_Off dw_starting_offset, Dwarf_Dnames_Head *dw_dn, Dwarf_Off *dw_offset_of_next_table, Dwarf_Error *dw_error)
Open access to a .debug_names table.
int dwarf_dnames_offsets(Dwarf_Dnames_Head dw_dn, Dwarf_Unsigned *dw_header_offset, Dwarf_Unsigned *dw_cu_table_offset, Dwarf_Unsigned *dw_tu_local_offset, Dwarf_Unsigned *dw_foreign_tu_offset, Dwarf_Unsigned *dw_bucket_offset, Dwarf_Unsigned *dw_hashes_offset, Dwarf_Unsigned *dw_stringoffsets_offset, Dwarf_Unsigned *dw_entryoffsets_offset, Dwarf_Unsigned *dw_abbrev_table_offset, Dwarf_Unsigned *dw_entry_pool_offset, Dwarf_Error *dw_error)
Offsets from the debug names table.
int dwarf_dnames_entrypool_values(Dwarf_Dnames_Head dw_dn, Dwarf_Unsigned dw_index_of_abbrev, Dwarf_Unsigned dw_offset_in_entrypool_of_values, Dwarf_Unsigned dw_arrays_length, Dwarf_Half *dw_array_idx_number, Dwarf_Half *dw_array_form, Dwarf_Unsigned *dw_array_of_offsets, Dwarf_Sig8 *dw_array_of_signatures, Dwarf_Bool *dw_single_cu, Dwarf_Unsigned *dw_cu_offset, Dwarf_Unsigned *dw_offset_of_next_entrypool, Dwarf_Error *dw_error)
Return the value set defined by this entry.
int dwarf_dnames_bucket(Dwarf_Dnames_Head dw_dn, Dwarf_Unsigned dw_bucket_number, Dwarf_Unsigned *dw_index, Dwarf_Unsigned *dw_indexcount, Dwarf_Error *dw_error)
Access to bucket contents.
int dwarf_dnames_sizes(Dwarf_Dnames_Head dw_dn, Dwarf_Unsigned *dw_comp_unit_count, Dwarf_Unsigned *dw_local_type_unit_count, Dwarf_Unsigned *dw_foreign_type_unit_count, Dwarf_Unsigned *dw_bucket_count, Dwarf_Unsigned *dw_name_count, Dwarf_Unsigned *dw_abbrev_table_size, Dwarf_Unsigned *dw_entry_pool_size, Dwarf_Unsigned *dw_augmentation_string_size, char **dw_augmentation_string, Dwarf_Unsigned *dw_section_size, Dwarf_Half *dw_table_version, Dwarf_Half *dw_offset_size, Dwarf_Error *dw_error)
Sizes and counts from the debug names table.
void dwarf_dealloc_dnames(Dwarf_Dnames_Head dw_dn)
Frees all the malloc data associated with dw_dn.
int dwarf_dnames_cu_table(Dwarf_Dnames_Head dw_dn, const char *dw_type, Dwarf_Unsigned dw_index_number, Dwarf_Unsigned *dw_offset, Dwarf_Sig8 *dw_sig, Dwarf_Error *dw_error)
Each debug names cu list entry one at a time.
int dwarf_dnames_abbrevtable(Dwarf_Dnames_Head dw_dn, Dwarf_Unsigned dw_index, Dwarf_Unsigned *dw_abbrev_offset, Dwarf_Unsigned *dw_abbrev_code, Dwarf_Unsigned *dw_abbrev_tag, Dwarf_Unsigned dw_array_size, Dwarf_Half *dw_idxattr_array, Dwarf_Half *dw_form_array, Dwarf_Unsigned *dw_idxattr_count)
Access to the abbrevs table content.
int dwarf_get_debug_sup(Dwarf_Debug dw_dbg, Dwarf_Half *dw_version, Dwarf_Small *dw_is_supplementary, char **dw_filename, Dwarf_Unsigned *dw_checksum_len, Dwarf_Small **dw_checksum, Dwarf_Error *dw_error)
Return basic .debug_sup section header data.
int dwarf_validate_die_sibling(Dwarf_Die dw_sibling, Dwarf_Off *dw_offset)
Validate a sibling DIE.
int dwarf_die_CU_offset_range(Dwarf_Die dw_die, Dwarf_Off *dw_return_CU_header_offset, Dwarf_Off *dw_return_CU_length_bytes, Dwarf_Error *dw_error)
Return the offset length of the entire CU of a DIE.
int dwarf_srclang(Dwarf_Die dw_die, Dwarf_Unsigned *dw_returned_lang, Dwarf_Error *dw_error)
Return the value of the DW_AT_language attribute.
int dwarf_lowpc(Dwarf_Die dw_die, Dwarf_Addr *dw_returned_addr, Dwarf_Error *dw_error)
Return the DW_AT_low_pc value.
int dwarf_die_text(Dwarf_Die dw_die, Dwarf_Half dw_attrnum, char **dw_ret_name, Dwarf_Error *dw_error)
Given DIE and attribute number return a string.
int dwarf_tag(Dwarf_Die dw_die, Dwarf_Half *dw_return_tag, Dwarf_Error *dw_error)
Get TAG value of DIE.
int dwarf_dietype_offset(Dwarf_Die dw_die, Dwarf_Off *dw_return_offset, Dwarf_Bool *dw_is_info, Dwarf_Error *dw_error)
Return the offset from the DW_AT_type attribute.
int dwarf_get_version_of_die(Dwarf_Die dw_die, Dwarf_Half *dw_version, Dwarf_Half *dw_offset_size)
Get the version and offset size.
int dwarf_die_abbrev_children_flag(Dwarf_Die dw_die, Dwarf_Half *dw_ab_has_child)
Return TRUE if the DIE has children.
int dwarf_get_die_address_size(Dwarf_Die dw_die, Dwarf_Half *dw_addr_size, Dwarf_Error *dw_error)
Get the address size applying to a DIE.
Dwarf_Bool dwarf_addr_form_is_indexed(int dw_form)
Informs if a DW_FORM is an indexed form.
Dwarf_Unsigned dwarf_die_abbrev_code(Dwarf_Die dw_die)
Return the DIE abbrev code.
int dwarf_get_cu_die_offset_given_cu_header_offset_b(Dwarf_Debug dw_dbg, Dwarf_Off dw_in_cu_header_offset, Dwarf_Bool dw_is_info, Dwarf_Off *dw_out_cu_die_offset, Dwarf_Error *dw_error)
Return the CU DIE section offset given CU header offset.
int dwarf_CU_dieoffset_given_die(Dwarf_Die dw_die, Dwarf_Off *dw_return_offset, Dwarf_Error *dw_error)
Return the CU DIE offset given any DIE.
int dwarf_debug_addr_index_to_addr(Dwarf_Die dw_die, Dwarf_Unsigned dw_index, Dwarf_Addr *dw_return_addr, Dwarf_Error *dw_error)
Extract address given address index. DWARF5.
int dwarf_arrayorder(Dwarf_Die dw_die, Dwarf_Unsigned *dw_returned_order, Dwarf_Error *dw_error)
Return the value of the DW_AT_ordering attribute.
int dwarf_bitoffset(Dwarf_Die dw_die, Dwarf_Half *dw_attrnum, Dwarf_Unsigned *dw_returned_offset, Dwarf_Error *dw_error)
Return the bit offset attribute of a DIE.
int dwarf_die_abbrev_global_offset(Dwarf_Die dw_die, Dwarf_Off *dw_abbrev_offset, Dwarf_Unsigned *dw_abbrev_count, Dwarf_Error *dw_error)
Return the abbrev section offset of a DIE's abbrevs.
int dwarf_bitsize(Dwarf_Die dw_die, Dwarf_Unsigned *dw_returned_size, Dwarf_Error *dw_error)
Return the value of the attribute DW_AT_bitsize.
int dwarf_bytesize(Dwarf_Die dw_die, Dwarf_Unsigned *dw_returned_size, Dwarf_Error *dw_error)
Return the value of the attribute DW_AT_byte_size.
int dwarf_offset_list(Dwarf_Debug dw_dbg, Dwarf_Off dw_offset, Dwarf_Bool dw_is_info, Dwarf_Off **dw_offbuf, Dwarf_Unsigned *dw_offcount, Dwarf_Error *dw_error)
Return an array of DIE children offsets.
int dwarf_diename(Dwarf_Die dw_die, char **dw_diename, Dwarf_Error *dw_error)
Return the string from a DW_AT_name attribute.
int dwarf_die_CU_offset(Dwarf_Die dw_die, Dwarf_Off *dw_return_offset, Dwarf_Error *dw_error)
returns the CU relative offset of the DIE.
int dwarf_hasattr(Dwarf_Die dw_die, Dwarf_Half dw_attrnum, Dwarf_Bool *dw_returned_bool, Dwarf_Error *dw_error)
Tells whether a DIE has a particular attribute.
int dwarf_dieoffset(Dwarf_Die dw_die, Dwarf_Off *dw_return_offset, Dwarf_Error *dw_error)
Return the global section offset of the DIE.
int dwarf_die_offsets(Dwarf_Die dw_die, Dwarf_Off *dw_global_offset, Dwarf_Off *dw_local_offset, Dwarf_Error *dw_error)
Return section and CU-local offsets of a DIE.
int dwarf_highpc_b(Dwarf_Die dw_die, Dwarf_Addr *dw_return_addr, Dwarf_Half *dw_return_form, enum Dwarf_Form_Class *dw_return_class, Dwarf_Error *dw_error)
Return the DW_AT_hipc address value.
int dwarf_attr(Dwarf_Die dw_die, Dwarf_Half dw_attrnum, Dwarf_Attribute *dw_returned_attr, Dwarf_Error *dw_error)
Given DIE and attribute number return a Dwarf_attribute.
void dwarf_dealloc(Dwarf_Debug dw_dbg, void *dw_space, Dwarf_Unsigned dw_type)
The generic dealloc (free) function. It requires you know the correct DW_DLA value to pass in,...
void dwarf_dealloc_error(Dwarf_Debug dw_dbg, Dwarf_Error dw_error)
Free (dealloc) an Dwarf_Error something created.
void dwarf_error_creation(Dwarf_Debug dw_dbg, Dwarf_Error *dw_error, char *dw_errmsg)
Creating an error. This is very rarely helpful. It lets the library user create a Dwarf_Error and ass...
char * dwarf_errmsg_by_number(Dwarf_Unsigned dw_errornum)
What message string is associated with the error number.
char * dwarf_errmsg(Dwarf_Error dw_error)
What message string is in the error?
Dwarf_Unsigned dwarf_errno(Dwarf_Error dw_error)
What DW_DLE code does the error have?
Dwarf_Ranges_Entry_Type
Definition libdwarf.h:234
Dwarf_Form_Class
Definition libdwarf.h:269
void dwarf_dealloc_fde_cie_list(Dwarf_Debug dw_dbg, Dwarf_Cie *dw_cie_data, Dwarf_Signed dw_cie_element_count, Dwarf_Fde *dw_fde_data, Dwarf_Signed dw_fde_element_count)
Release storage associated with FDE and CIE arrays.
int dwarf_expand_frame_instructions(Dwarf_Cie dw_cie, Dwarf_Small *dw_instructionspointer, Dwarf_Unsigned dw_length_in_bytes, Dwarf_Frame_Instr_Head *dw_head, Dwarf_Unsigned *dw_instr_count, Dwarf_Error *dw_error)
Expands CIE or FDE instructions for detailed examination. Called for CIE initial instructions and FDE...
int dwarf_get_fde_info_for_all_regs3(Dwarf_Fde dw_fde, Dwarf_Addr dw_pc_requested, Dwarf_Regtable3 *dw_reg_table, Dwarf_Addr *dw_row_pc, Dwarf_Error *dw_error)
Return information on frame registers at a given pc value.
Dwarf_Half dwarf_set_frame_rule_initial_value(Dwarf_Debug dw_dbg, Dwarf_Half dw_value)
Frame Rule Initial Value.
int dwarf_get_frame_instruction_a(Dwarf_Frame_Instr_Head dw_, Dwarf_Unsigned dw_instr_index, Dwarf_Unsigned *dw_instr_offset_in_instrs, Dwarf_Small *dw_cfa_operation, const char **dw_fields_description, Dwarf_Unsigned *dw_u0, Dwarf_Unsigned *dw_u1, Dwarf_Unsigned *dw_u2, Dwarf_Signed *dw_s0, Dwarf_Signed *dw_s1, Dwarf_Unsigned *dw_code_alignment_factor, Dwarf_Signed *dw_data_alignment_factor, Dwarf_Block *dw_expression_block, Dwarf_Error *dw_error)
Expands CIE or FDE instructions for detailed examination. Called for CIE initial instructions and FDE...
int dwarf_get_fde_info_for_reg3_c(Dwarf_Fde dw_fde, Dwarf_Half dw_table_column, Dwarf_Addr dw_pc_requested, Dwarf_Small *dw_value_type, Dwarf_Unsigned *dw_offset_relevant, Dwarf_Unsigned *dw_register, Dwarf_Signed *dw_offset, Dwarf_Block *dw_block_content, Dwarf_Addr *dw_row_pc_out, Dwarf_Bool *dw_has_more_rows, Dwarf_Addr *dw_subsequent_pc, Dwarf_Error *dw_error)
Return details about a particular pc and register.
Dwarf_Half dwarf_set_frame_same_value(Dwarf_Debug dw_dbg, Dwarf_Half dw_value)
Frame Same Value Default Invariants for setting frame registers .
int dwarf_cie_section_offset(Dwarf_Debug dw_dbg, Dwarf_Cie dw_in_cie, Dwarf_Off *dw_cie_off, Dwarf_Error *dw_error)
Use to print CIE offsets from debugging info.
Dwarf_Half dwarf_set_frame_rule_table_size(Dwarf_Debug dw_dbg, Dwarf_Half dw_value)
Frame Rule Table Size Invariants for setting frame registers .
Dwarf_Half dwarf_set_frame_cfa_value(Dwarf_Debug dw_dbg, Dwarf_Half dw_value)
Frame CFA Column Invariants for setting frame registers .
void dwarf_dealloc_frame_instr_head(Dwarf_Frame_Instr_Head dw_head)
Deallocates the frame instruction data in dw_head.
int dwarf_get_fde_info_for_all_regs3_b(Dwarf_Fde dw_fde, Dwarf_Addr dw_pc_requested, Dwarf_Regtable3 *dw_reg_table, Dwarf_Addr *dw_row_pc, Dwarf_Bool *dw_has_more_rows, Dwarf_Addr *dw_subsequent_pc, Dwarf_Error *dw_error)
Return information on frame registers at a given pc value.
int dwarf_get_fde_at_pc(Dwarf_Fde *dw_fde_data, Dwarf_Addr dw_pc_of_interest, Dwarf_Fde *dw_returned_fde, Dwarf_Addr *dw_lopc, Dwarf_Addr *dw_hipc, Dwarf_Error *dw_error)
Retrieve an FDE given a pc.
int dwarf_get_fde_info_for_reg3_b(Dwarf_Fde dw_fde, Dwarf_Half dw_table_column, Dwarf_Addr dw_pc_requested, Dwarf_Small *dw_value_type, Dwarf_Unsigned *dw_offset_relevant, Dwarf_Unsigned *dw_register, Dwarf_Unsigned *dw_offset, Dwarf_Block *dw_block_content, Dwarf_Addr *dw_row_pc_out, Dwarf_Bool *dw_has_more_rows, Dwarf_Addr *dw_subsequent_pc, Dwarf_Error *dw_error)
Return details about a particular pc and register.
int dwarf_get_fde_for_die(Dwarf_Debug dw_dbg, Dwarf_Die dw_subr_die, Dwarf_Fde *dw_returned_fde, Dwarf_Error *dw_error)
Get the fde given DW_AT_MIPS_fde in a DIE.
int dwarf_get_fde_range(Dwarf_Fde dw_fde, Dwarf_Addr *dw_low_pc, Dwarf_Unsigned *dw_func_length, Dwarf_Small **dw_fde_bytes, Dwarf_Unsigned *dw_fde_byte_length, Dwarf_Off *dw_cie_offset, Dwarf_Signed *dw_cie_index, Dwarf_Off *dw_fde_offset, Dwarf_Error *dw_error)
Return the FDE data for a single FDE.
Dwarf_Half dwarf_set_frame_undefined_value(Dwarf_Debug dw_dbg, Dwarf_Half dw_value)
Frame Undefined Value Default Invariants for setting frame registers .
int dwarf_get_fde_info_for_cfa_reg3_c(Dwarf_Fde dw_fde, Dwarf_Addr dw_pc_requested, Dwarf_Small *dw_value_type, Dwarf_Unsigned *dw_offset_relevant, Dwarf_Unsigned *dw_register, Dwarf_Signed *dw_offset, Dwarf_Block *dw_block, Dwarf_Addr *dw_row_pc_out, Dwarf_Bool *dw_has_more_rows, Dwarf_Addr *dw_subsequent_pc, Dwarf_Error *dw_error)
Get the value of the CFA for a particular pc value.
int dwarf_get_frame_instruction(Dwarf_Frame_Instr_Head dw_head, Dwarf_Unsigned dw_instr_index, Dwarf_Unsigned *dw_instr_offset_in_instrs, Dwarf_Small *dw_cfa_operation, const char **dw_fields_description, Dwarf_Unsigned *dw_u0, Dwarf_Unsigned *dw_u1, Dwarf_Signed *dw_s0, Dwarf_Signed *dw_s1, Dwarf_Unsigned *dw_code_alignment_factor, Dwarf_Signed *dw_data_alignment_factor, Dwarf_Block *dw_expression_block, Dwarf_Error *dw_error)
Return information about a single instruction Fields_description means a sequence of up to three lett...
int dwarf_get_fde_instr_bytes(Dwarf_Fde dw_fde, Dwarf_Small **dw_outinstrs, Dwarf_Unsigned *dw_outlen, Dwarf_Error *dw_error)
Return length and pointer to access frame instructions.
int dwarf_get_fde_augmentation_data(Dwarf_Fde dw_fde, Dwarf_Small **dw_augdata, Dwarf_Unsigned *dw_augdata_len, Dwarf_Error *dw_error)
Return .eh_frame FDE augmentation data.
int dwarf_get_cie_of_fde(Dwarf_Fde dw_fde, Dwarf_Cie *dw_cie_returned, Dwarf_Error *dw_error)
Given FDE get CIE.
int dwarf_get_fde_exception_info(Dwarf_Fde dw_fde, Dwarf_Signed *dw_offset_into_exception_tables, Dwarf_Error *dw_error)
IRIX only access to C++ destructor tables.
int dwarf_get_fde_info_for_cfa_reg3_b(Dwarf_Fde dw_fde, Dwarf_Addr dw_pc_requested, Dwarf_Small *dw_value_type, Dwarf_Unsigned *dw_offset_relevant, Dwarf_Unsigned *dw_register, Dwarf_Unsigned *dw_offset, Dwarf_Block *dw_block, Dwarf_Addr *dw_row_pc_out, Dwarf_Bool *dw_has_more_rows, Dwarf_Addr *dw_subsequent_pc, Dwarf_Error *dw_error)
Get the value of the CFA for a particular pc value.
int dwarf_fde_section_offset(Dwarf_Debug dw_dbg, Dwarf_Fde dw_in_fde, Dwarf_Off *dw_fde_off, Dwarf_Off *dw_cie_off, Dwarf_Error *dw_error)
Return FDE and CIE offsets from debugging info.
int dwarf_get_cie_augmentation_data(Dwarf_Cie dw_cie, Dwarf_Small **dw_augdata, Dwarf_Unsigned *dw_augdata_len, Dwarf_Error *dw_error)
Return .eh_frame CIE augmentation data.
int dwarf_get_cie_info_b(Dwarf_Cie dw_cie, Dwarf_Unsigned *dw_bytes_in_cie, Dwarf_Small *dw_version, char **dw_augmenter, Dwarf_Unsigned *dw_code_alignment_factor, Dwarf_Signed *dw_data_alignment_factor, Dwarf_Half *dw_return_address_register_rule, Dwarf_Small **dw_initial_instructions, Dwarf_Unsigned *dw_initial_instructions_length, Dwarf_Half *dw_offset_size, Dwarf_Error *dw_error)
Given a CIE get access to its content.
int dwarf_get_fde_list(Dwarf_Debug dw_dbg, Dwarf_Cie **dw_cie_data, Dwarf_Signed *dw_cie_element_count, Dwarf_Fde **dw_fde_data, Dwarf_Signed *dw_fde_element_count, Dwarf_Error *dw_error)
Get lists of .debug_frame FDEs and CIEs.
int dwarf_get_cie_index(Dwarf_Cie dw_cie, Dwarf_Signed *dw_index, Dwarf_Error *dw_error)
Return CIE index given CIE.
int dwarf_get_fde_list_eh(Dwarf_Debug dw_dbg, Dwarf_Cie **dw_cie_data, Dwarf_Signed *dw_cie_element_count, Dwarf_Fde **dw_fde_data, Dwarf_Signed *dw_fde_element_count, Dwarf_Error *dw_error)
Get lists of .eh_frame FDEs and CIEs.
int dwarf_get_fde_n(Dwarf_Fde *dw_fde_data, Dwarf_Unsigned dw_fde_index, Dwarf_Fde *dw_returned_fde, Dwarf_Error *dw_error)
Retrieve an FDE from an FDE table.
int dwarf_gdbindex_symboltable_array(Dwarf_Gdbindex dw_gdbindexptr, Dwarf_Unsigned *dw_symtab_list_length, Dwarf_Error *dw_error)
Get access to the symboltable array.
int dwarf_gdbindex_cuvector_length(Dwarf_Gdbindex dw_gdbindexptr, Dwarf_Unsigned dw_cuvector_offset, Dwarf_Unsigned *dw_innercount, Dwarf_Error *dw_error)
Get access to a cuvector.
int dwarf_gdbindex_header(Dwarf_Debug dw_dbg, Dwarf_Gdbindex *dw_gdbindexptr, Dwarf_Unsigned *dw_version, Dwarf_Unsigned *dw_cu_list_offset, Dwarf_Unsigned *dw_types_cu_list_offset, Dwarf_Unsigned *dw_address_area_offset, Dwarf_Unsigned *dw_symbol_table_offset, Dwarf_Unsigned *dw_constant_pool_offset, Dwarf_Unsigned *dw_section_size, const char **dw_section_name, Dwarf_Error *dw_error)
Open access to the .gdb_index section.
int dwarf_gdbindex_types_culist_array(Dwarf_Gdbindex dw_gdbindexptr, Dwarf_Unsigned *dw_types_list_length, Dwarf_Error *dw_error)
Return the types culist array length.
void dwarf_dealloc_gdbindex(Dwarf_Gdbindex dw_gdbindexptr)
Free (dealloc) all allocated Dwarf_Gdbindex memory It should named dwarf_dealloc_gdbindex.
int dwarf_gdbindex_culist_entry(Dwarf_Gdbindex dw_gdbindexptr, Dwarf_Unsigned dw_entryindex, Dwarf_Unsigned *dw_cu_offset, Dwarf_Unsigned *dw_cu_length, Dwarf_Error *dw_error)
For a CU entry in the list return the offset and length.
int dwarf_gdbindex_types_culist_entry(Dwarf_Gdbindex dw_gdbindexptr, Dwarf_Unsigned dw_types_entryindex, Dwarf_Unsigned *dw_cu_offset, Dwarf_Unsigned *dw_tu_offset, Dwarf_Unsigned *dw_type_signature, Dwarf_Error *dw_error)
For a types CU entry in the list returns the offset and length.
int dwarf_gdbindex_addressarea(Dwarf_Gdbindex dw_gdbindexptr, Dwarf_Unsigned *dw_addressarea_list_length, Dwarf_Error *dw_error)
Get access to gdbindex address area.
int dwarf_gdbindex_symboltable_entry(Dwarf_Gdbindex dw_gdbindexptr, Dwarf_Unsigned dw_entryindex, Dwarf_Unsigned *dw_string_offset, Dwarf_Unsigned *dw_cu_vector_offset, Dwarf_Error *dw_error)
Access individual symtab entry.
int dwarf_gdbindex_addressarea_entry(Dwarf_Gdbindex dw_gdbindexptr, Dwarf_Unsigned dw_entryindex, Dwarf_Unsigned *dw_low_address, Dwarf_Unsigned *dw_high_address, Dwarf_Unsigned *dw_cu_index, Dwarf_Error *dw_error)
Get an address area value.
int dwarf_gdbindex_culist_array(Dwarf_Gdbindex dw_gdbindexptr, Dwarf_Unsigned *dw_list_length, Dwarf_Error *dw_error)
Return the culist array length.
int dwarf_gdbindex_cuvector_instance_expand_value(Dwarf_Gdbindex dw_gdbindexptr, Dwarf_Unsigned dw_field_value, Dwarf_Unsigned *dw_cu_index, Dwarf_Unsigned *dw_symbol_kind, Dwarf_Unsigned *dw_is_static, Dwarf_Error *dw_error)
Expand the bit fields in a cuvector entry.
int dwarf_gdbindex_string_by_offset(Dwarf_Gdbindex dw_gdbindexptr, Dwarf_Unsigned dw_stringoffset, const char **dw_string_ptr, Dwarf_Error *dw_error)
Retrieve a symbol name from the index data.
int dwarf_gdbindex_cuvector_inner_attributes(Dwarf_Gdbindex dw_gdbindexptr, Dwarf_Unsigned dw_cuvector_offset_in, Dwarf_Unsigned dw_innerindex, Dwarf_Unsigned *dw_field_value, Dwarf_Error *dw_error)
Get access to a cuvector.
unsigned int dwarf_basic_crc32(const unsigned char *dw_buf, unsigned long dw_len, unsigned int dw_init)
Public interface to the real crc calculation.
int dwarf_suppress_debuglink_crc(int dw_suppress)
Suppressing crc calculations.
int dwarf_gnu_debuglink(Dwarf_Debug dw_dbg, char **dw_debuglink_path_returned, unsigned char **dw_crc_returned, char **dw_debuglink_fullpath_returned, unsigned int *dw_debuglink_path_length_returned, unsigned int *dw_buildid_type_returned, char **dw_buildid_owner_name_returned, unsigned char **dw_buildid_returned, unsigned int *dw_buildid_length_returned, char ***dw_paths_returned, unsigned int *dw_paths_length_returned, Dwarf_Error *dw_error)
Find a separated DWARF object file.
int dwarf_crc32(Dwarf_Debug dw_dbg, unsigned char *dw_crcbuf, Dwarf_Error *dw_error)
Crc32 used for debuglink crc calculation.
int dwarf_add_debuglink_global_path(Dwarf_Debug dw_dbg, const char *dw_pathname, Dwarf_Error *dw_error)
Adding debuglink global paths.
void dwarf_gnu_index_dealloc(Dwarf_Gnu_Index_Head dw_head)
Free resources of .debug_gnu_pubnames .debug_gnu_pubtypes.
int dwarf_get_gnu_index_block(Dwarf_Gnu_Index_Head dw_head, Dwarf_Unsigned dw_number, Dwarf_Unsigned *dw_block_length, Dwarf_Half *dw_version, Dwarf_Unsigned *dw_offset_into_debug_info, Dwarf_Unsigned *dw_size_of_debug_info_area, Dwarf_Unsigned *dw_count_of_index_entries, Dwarf_Error *dw_error)
Access a particular block.
int dwarf_get_gnu_index_block_entry(Dwarf_Gnu_Index_Head dw_head, Dwarf_Unsigned dw_blocknumber, Dwarf_Unsigned dw_entrynumber, Dwarf_Unsigned *dw_offset_in_debug_info, const char **dw_name_string, unsigned char *dw_flagbyte, unsigned char *dw_staticorglobal, unsigned char *dw_typeofentry, Dwarf_Error *dw_error)
Access a particular entry of a block.
int dwarf_get_gnu_index_head(Dwarf_Debug dw_dbg, Dwarf_Bool dw_which_section, Dwarf_Gnu_Index_Head *dw_head, Dwarf_Unsigned *dw_index_block_count_out, Dwarf_Error *dw_error)
Access to .debug_gnu_pubnames or .debug_gnu_pubtypes.
int dwarf_get_harmless_error_list(Dwarf_Debug dw_dbg, unsigned int dw_count, const char **dw_errmsg_ptrs_array, unsigned int *dw_newerr_count)
Get the harmless error count and content.
void dwarf_insert_harmless_error(Dwarf_Debug dw_dbg, char *dw_newerror)
Harmless Error Insertion is only for testing.
unsigned int dwarf_set_harmless_error_list_size(Dwarf_Debug dw_dbg, unsigned int dw_maxcount)
The size of the circular list of strings libdwarf holds internally may be set and reset as needed....
int dwarf_init_path_a(const char *dw_path, char *dw_true_path_out_buffer, unsigned int dw_true_path_bufferlen, unsigned int dw_groupnumber, unsigned int dw_universalnumber, Dwarf_Handler dw_errhand, Dwarf_Ptr dw_errarg, Dwarf_Debug *dw_dbg, Dwarf_Error *dw_error)
Initialization based on path.
int dwarf_object_init_b(Dwarf_Obj_Access_Interface_a *dw_obj, Dwarf_Handler dw_errhand, Dwarf_Ptr dw_errarg, unsigned int dw_groupnumber, Dwarf_Debug *dw_dbg, Dwarf_Error *dw_error)
Used to access DWARF information in memory or in an object format unknown to libdwarf.
int dwarf_object_finish(Dwarf_Debug dw_dbg)
Used to close the object_init dw_dbg.
int dwarf_init_path(const char *dw_path, char *dw_true_path_out_buffer, unsigned int dw_true_path_bufferlen, unsigned int dw_groupnumber, Dwarf_Handler dw_errhand, Dwarf_Ptr dw_errarg, Dwarf_Debug *dw_dbg, Dwarf_Error *dw_error)
Initialization based on path, the most common initialization.
int dwarf_init_path_dl(const char *dw_path, char *dw_true_path_out_buffer, unsigned int dw_true_path_bufferlen, unsigned int dw_groupnumber, Dwarf_Handler dw_errhand, Dwarf_Ptr dw_errarg, Dwarf_Debug *dw_dbg, char **dw_dl_path_array, unsigned int dw_dl_path_array_size, unsigned char *dw_dl_path_source, Dwarf_Error *dw_error)
Initialization following GNU debuglink section data.
int dwarf_get_tied_dbg(Dwarf_Debug dw_dbg, Dwarf_Debug *dw_tieddbg_out, Dwarf_Error *dw_error)
Use with split dwarf.
int dwarf_init_path_dl_a(const char *dw_path, char *dw_true_path_out_buffer, unsigned int dw_true_path_bufferlen, unsigned int dw_groupnumber, unsigned int dw_universalnumber, Dwarf_Handler dw_errhand, Dwarf_Ptr dw_errarg, Dwarf_Debug *dw_dbg, char **dw_dl_path_array, unsigned int dw_dl_path_array_size, unsigned char *dw_dl_path_source, Dwarf_Error *dw_error)
Initialization based on path with debuglink.
int dwarf_set_tied_dbg(Dwarf_Debug dw_split_dbg, Dwarf_Debug dw_tied_dbg, Dwarf_Error *dw_error)
Use with split dwarf.
int dwarf_finish(Dwarf_Debug dw_dbg)
Close the initialized dw_dbg and free all data libdwarf has for this dw_dbg.
int dwarf_init_b(int dw_fd, unsigned int dw_groupnumber, Dwarf_Handler dw_errhand, Dwarf_Ptr dw_errarg, Dwarf_Debug *dw_dbg, Dwarf_Error *dw_error)
Initialization based on Unix/Linux (etc) fd.
int dwarf_lineno(Dwarf_Line dw_line, Dwarf_Unsigned *dw_returned_linenum, Dwarf_Error *dw_error)
Read Line line register.
int dwarf_srclines_include_dir_count(Dwarf_Line_Context dw_line_context, Dwarf_Signed *dw_count, Dwarf_Error *dw_error)
Return the number of include directories in the Line Table.
int dwarf_check_lineheader_b(Dwarf_Die dw_cu_die, int *dw_errcount_out, Dwarf_Error *dw_error)
Access to detailed line table header issues.
int dwarf_lineoff_b(Dwarf_Line dw_line, Dwarf_Unsigned *dw_returned_lineoffset, Dwarf_Error *dw_error)
Return a column number through the pointer.
int dwarf_linecontext(Dwarf_Line dw_line, Dwarf_Unsigned *dw_returned_context, Dwarf_Error *dw_error)
Experimental Two-level line tables call contexts Experimental two level line tables....
int dwarf_srclines_version(Dwarf_Line_Context dw_line_context, Dwarf_Unsigned *dw_version, Dwarf_Small *dw_table_count, Dwarf_Error *dw_error)
The DWARF version number of this compile-unit.
int dwarf_srclines_files_indexes(Dwarf_Line_Context dw_context, Dwarf_Signed *dw_baseindex, Dwarf_Signed *dw_count, Dwarf_Signed *dw_endindex, Dwarf_Error *dw_error)
Return values easing indexing line table file numbers. Count is the real count of files array entries...
int dwarf_lineendsequence(Dwarf_Line dw_line, Dwarf_Bool *dw_returned_bool, Dwarf_Error *dw_error)
Read Line endsequence register flag.
int dwarf_line_is_addr_set(Dwarf_Line dw_line, Dwarf_Bool *dw_is_addr_set, Dwarf_Error *dw_error)
Is the Dwarf_Line address from DW_LNS_set_address? This is not a line register, but it is a flag set ...
struct Dwarf_Printf_Callback_Info_s dwarf_register_printf_callback(Dwarf_Debug dw_dbg, struct Dwarf_Printf_Callback_Info_s *dw_callbackinfo)
For line details this records callback details.
int dwarf_srclines_subprog_data(Dwarf_Line_Context dw_context, Dwarf_Signed dw_index, const char **dw_name, Dwarf_Unsigned *dw_decl_file, Dwarf_Unsigned *dw_decl_line, Dwarf_Error *dw_error)
Retrieve data from the line table subprog array.
int dwarf_srclines_two_level_from_linecontext(Dwarf_Line_Context dw_context, Dwarf_Line **dw_linebuf, Dwarf_Signed *dw_linecount, Dwarf_Line **dw_linebuf_actuals, Dwarf_Signed *dw_linecount_actuals, Dwarf_Error *dw_error)
Returns line table counts and data.
int dwarf_srcfiles(Dwarf_Die dw_cu_die, char ***dw_srcfiles, Dwarf_Signed *dw_filecount, Dwarf_Error *dw_error)
The list of source files from the line table header.
int dwarf_linebeginstatement(Dwarf_Line dw_line, Dwarf_Bool *dw_returned_bool, Dwarf_Error *dw_error)
Read Line beginstatement register.
int dwarf_line_srcfileno(Dwarf_Line dw_line, Dwarf_Unsigned *dw_returned_filenum, Dwarf_Error *dw_error)
Read Line file register.
int dwarf_lineaddr(Dwarf_Line dw_line, Dwarf_Addr *dw_returned_addr, Dwarf_Error *dw_error)
Return the address of the Dwarf_Line.
int dwarf_srclines_table_offset(Dwarf_Line_Context dw_context, Dwarf_Unsigned *dw_offset, Dwarf_Error *dw_error)
Return the srclines table offset.
int dwarf_srclines_include_dir_data(Dwarf_Line_Context dw_line_context, Dwarf_Signed dw_index, const char **dw_name, Dwarf_Error *dw_error)
Return the include directories in the Line Table.
int dwarf_srclines_comp_dir(Dwarf_Line_Context dw_context, const char **dw_compilation_directory, Dwarf_Error *dw_error)
Compilation Directory name for the CU.
int dwarf_prologue_end_etc(Dwarf_Line dw_line, Dwarf_Bool *dw_prologue_end, Dwarf_Bool *dw_epilogue_begin, Dwarf_Unsigned *dw_isa, Dwarf_Unsigned *dw_discriminator, Dwarf_Error *dw_error)
Return various line table registers in one call.
int dwarf_srclines_subprog_count(Dwarf_Line_Context dw_context, Dwarf_Signed *dw_count, Dwarf_Error *dw_error)
Subprog count: Part of the two-level line table extension.
void dwarf_srclines_dealloc_b(Dwarf_Line_Context dw_context)
Dealloc the memory allocated by dwarf_srclines_b.
int dwarf_srclines_b(Dwarf_Die dw_cudie, Dwarf_Unsigned *dw_version_out, Dwarf_Small *dw_table_count, Dwarf_Line_Context *dw_linecontext, Dwarf_Error *dw_error)
Initialize Dwarf_Line_Context for line table access.
int dwarf_srclines_from_linecontext(Dwarf_Line_Context dw_linecontext, Dwarf_Line **dw_linebuf, Dwarf_Signed *dw_linecount, Dwarf_Error *dw_error)
Access source lines from line context.
int dwarf_print_lines(Dwarf_Die dw_cu_die, Dwarf_Error *dw_error, int *dw_errorcount_out)
Print line information in great detail.
int dwarf_line_subprog(Dwarf_Line, char **, char **, Dwarf_Unsigned *, Dwarf_Error *)
Two-level line tables get subprog, file, line Experimental two level line tables. Not explained here....
int dwarf_lineblock(Dwarf_Line dw_line, Dwarf_Bool *dw_returned_bool, Dwarf_Error *dw_error)
Return the basic_block line register.
int dwarf_linelogical(Dwarf_Line dw_line, Dwarf_Unsigned *dw_returned_logical, Dwarf_Error *dw_error)
Experimental Two-level logical Row Number Experimental two level line tables. Not explained here....
int dwarf_srclines_files_data_b(Dwarf_Line_Context dw_context, Dwarf_Signed dw_index_in, const char **dw_name, Dwarf_Unsigned *dw_directory_index, Dwarf_Unsigned *dw_last_mod_time, Dwarf_Unsigned *dw_file_length, Dwarf_Form_Data16 **dw_md5ptr, Dwarf_Error *dw_error)
Access data for each line table file.
int dwarf_linesrc(Dwarf_Line dw_line, char **dw_returned_name, Dwarf_Error *dw_error)
Return the file name applicable to the Dwarf_Line.
int dwarf_line_subprogno(Dwarf_Line, Dwarf_Unsigned *, Dwarf_Error *)
Two-level line tables get subprogram number Experimental two level line tables. Not explained here....
int dwarf_get_location_op_value_c(Dwarf_Locdesc_c dw_locdesc, Dwarf_Unsigned dw_index, Dwarf_Small *dw_operator_out, Dwarf_Unsigned *dw_operand1, Dwarf_Unsigned *dw_operand2, Dwarf_Unsigned *dw_operand3, Dwarf_Unsigned *dw_offset_for_branch, Dwarf_Error *dw_error)
Get the raw values from a single location operation.
int dwarf_get_loclist_head_basics(Dwarf_Loc_Head_c dw_head, Dwarf_Small *dw_lkind, Dwarf_Unsigned *dw_lle_count, Dwarf_Unsigned *dw_loclists_version, Dwarf_Unsigned *dw_loclists_index_returned, Dwarf_Unsigned *dw_bytes_total_in_rle, Dwarf_Half *dw_offset_size, Dwarf_Half *dw_address_size, Dwarf_Half *dw_segment_selector_size, Dwarf_Unsigned *dw_overall_offset_of_this_context, Dwarf_Unsigned *dw_total_length_of_this_context, Dwarf_Unsigned *dw_offset_table_offset, Dwarf_Unsigned *dw_offset_table_entrycount, Dwarf_Bool *dw_loclists_base_present, Dwarf_Unsigned *dw_loclists_base, Dwarf_Bool *dw_loclists_base_address_present, Dwarf_Unsigned *dw_loclists_base_address, Dwarf_Bool *dw_loclists_debug_addr_base_present, Dwarf_Unsigned *dw_loclists_debug_addr_base, Dwarf_Unsigned *dw_offset_this_lle_area, Dwarf_Error *dw_error)
Return basic data about a loclists head.
int dwarf_loclist_from_expr_c(Dwarf_Debug dw_dbg, Dwarf_Ptr dw_expression_in, Dwarf_Unsigned dw_expression_length, Dwarf_Half dw_address_size, Dwarf_Half dw_offset_size, Dwarf_Half dw_dwarf_version, Dwarf_Loc_Head_c *dw_loc_head, Dwarf_Unsigned *dw_listlen, Dwarf_Error *dw_error)
Generate a Dwarf_Loc_Head_c from an expression block.
int dwarf_get_loclist_offset_index_value(Dwarf_Debug dw_dbg, Dwarf_Unsigned dw_context_index, Dwarf_Unsigned dw_offsetentry_index, Dwarf_Unsigned *dw_offset_value_out, Dwarf_Unsigned *dw_global_offset_value_out, Dwarf_Error *dw_error)
Return certain loclists offsets.
int dwarf_get_locdesc_entry_e(Dwarf_Loc_Head_c dw_loclist_head, Dwarf_Unsigned dw_index, Dwarf_Small *dw_lle_value_out, Dwarf_Unsigned *dw_rawlowpc, Dwarf_Unsigned *dw_rawhipc, Dwarf_Bool *dw_debug_addr_unavailable, Dwarf_Addr *dw_lowpc_cooked, Dwarf_Addr *dw_hipc_cooked, Dwarf_Unsigned *dw_locexpr_op_count_out, Dwarf_Unsigned *dw_lle_bytecount, Dwarf_Locdesc_c *dw_locentry_out, Dwarf_Small *dw_loclist_source_out, Dwarf_Unsigned *dw_expression_offset_out, Dwarf_Unsigned *dw_locdesc_offset_out, Dwarf_Error *dw_error)
Retrieve the details(_e) of a location expression.
int dwarf_load_loclists(Dwarf_Debug dw_dbg, Dwarf_Unsigned *dw_loclists_count, Dwarf_Error *dw_error)
Load Loclists.
int dwarf_get_locdesc_entry_d(Dwarf_Loc_Head_c dw_loclist_head, Dwarf_Unsigned dw_index, Dwarf_Small *dw_lle_value_out, Dwarf_Unsigned *dw_rawlowpc, Dwarf_Unsigned *dw_rawhipc, Dwarf_Bool *dw_debug_addr_unavailable, Dwarf_Addr *dw_lowpc_cooked, Dwarf_Addr *dw_hipc_cooked, Dwarf_Unsigned *dw_locexpr_op_count_out, Dwarf_Locdesc_c *dw_locentry_out, Dwarf_Small *dw_loclist_source_out, Dwarf_Unsigned *dw_expression_offset_out, Dwarf_Unsigned *dw_locdesc_offset_out, Dwarf_Error *dw_error)
Retrieve the details(_d) of a location expression.
int dwarf_get_loclist_context_basics(Dwarf_Debug dw_dbg, Dwarf_Unsigned dw_index, Dwarf_Unsigned *dw_header_offset, Dwarf_Small *dw_offset_size, Dwarf_Small *dw_extension_size, unsigned int *dw_version, Dwarf_Small *dw_address_size, Dwarf_Small *dw_segment_selector_size, Dwarf_Unsigned *dw_offset_entry_count, Dwarf_Unsigned *dw_offset_of_offset_array, Dwarf_Unsigned *dw_offset_of_first_locentry, Dwarf_Unsigned *dw_offset_past_last_locentry, Dwarf_Error *dw_error)
Return basic data about a loclists context.
int dwarf_get_loclist_lle(Dwarf_Debug dw_dbg, Dwarf_Unsigned dw_contextnumber, Dwarf_Unsigned dw_entry_offset, Dwarf_Unsigned dw_endoffset, unsigned int *dw_entrylen, unsigned int *dw_entry_kind, Dwarf_Unsigned *dw_entry_operand1, Dwarf_Unsigned *dw_entry_operand2, Dwarf_Unsigned *dw_expr_ops_blocksize, Dwarf_Unsigned *dw_expr_ops_offset, Dwarf_Small **dw_expr_opsdata, Dwarf_Error *dw_error)
Return basic data about a loclists context entry.
int dwarf_get_loclist_c(Dwarf_Attribute dw_attr, Dwarf_Loc_Head_c *dw_loclist_head, Dwarf_Unsigned *dw_locentry_count, Dwarf_Error *dw_error)
Location Lists and Expressions.
int dwarf_get_loclist_head_kind(Dwarf_Loc_Head_c dw_loclist_head, unsigned int *dw_lkind, Dwarf_Error *dw_error)
Know what kind of location data it is.
void dwarf_dealloc_loc_head_c(Dwarf_Loc_Head_c dw_head)
Dealloc (free) all memory allocated for Dwarf_Loc_Head_c.
int dwarf_get_macro_details(Dwarf_Debug dw_dbg, Dwarf_Off dw_macro_offset, Dwarf_Unsigned dw_maximum_count, Dwarf_Signed *dw_entry_count, Dwarf_Macro_Details **dw_details, Dwarf_Error *dw_error)
Getting .debug_macinfo macro details.
char * dwarf_find_macro_value_start(char *dw_macro_string)
Return a pointer to the value part of a macro.
int dwarf_get_macro_context(Dwarf_Die dw_die, Dwarf_Unsigned *dw_version_out, Dwarf_Macro_Context *dw_macro_context, Dwarf_Unsigned *dw_macro_unit_offset_out, Dwarf_Unsigned *dw_macro_ops_count_out, Dwarf_Unsigned *dw_macro_ops_data_length_out, Dwarf_Error *dw_error)
DWARF5 .debug_macro access via Dwarf_Die.
int dwarf_macro_context_head(Dwarf_Macro_Context dw_mc, Dwarf_Half *dw_version, Dwarf_Unsigned *dw_mac_offset, Dwarf_Unsigned *dw_mac_len, Dwarf_Unsigned *dw_mac_header_len, unsigned int *dw_flags, Dwarf_Bool *dw_has_line_offset, Dwarf_Unsigned *dw_line_offset, Dwarf_Bool *dw_has_offset_size_64, Dwarf_Bool *dw_has_operands_table, Dwarf_Half *dw_opcode_count, Dwarf_Error *dw_error)
Access the internal details of a Dwarf_Macro_Context.
int dwarf_get_macro_import(Dwarf_Macro_Context dw_macro_context, Dwarf_Unsigned dw_op_number, Dwarf_Unsigned *dw_target_offset, Dwarf_Error *dw_error)
Get Macro import.
int dwarf_get_macro_op(Dwarf_Macro_Context dw_macro_context, Dwarf_Unsigned dw_op_number, Dwarf_Unsigned *dw_op_start_section_offset, Dwarf_Half *dw_macro_operator, Dwarf_Half *dw_forms_count, const Dwarf_Small **dw_formcode_array, Dwarf_Error *dw_error)
Access macro operation details of a single operation.
int dwarf_get_macro_context_by_offset(Dwarf_Die dw_die, Dwarf_Unsigned dw_offset, Dwarf_Unsigned *dw_version_out, Dwarf_Macro_Context *dw_macro_context, Dwarf_Unsigned *dw_macro_ops_count_out, Dwarf_Unsigned *dw_macro_ops_data_length, Dwarf_Error *dw_error)
DWARF5 .debug_macro access via Dwarf_Die and an offset.
void dwarf_dealloc_macro_context(Dwarf_Macro_Context dw_mc)
Dealloc a macro context.
int dwarf_get_macro_startend_file(Dwarf_Macro_Context dw_macro_context, Dwarf_Unsigned dw_op_number, Dwarf_Unsigned *dw_line_number, Dwarf_Unsigned *dw_name_index_to_line_tab, const char **dw_src_file_name, Dwarf_Error *dw_error)
Get Macro start end.
int dwarf_macro_operands_table(Dwarf_Macro_Context dw_mc, Dwarf_Half dw_index, Dwarf_Half *dw_opcode_number, Dwarf_Half *dw_operand_count, const Dwarf_Small **dw_operand_array, Dwarf_Error *dw_error)
Access to the details of the opcode operands table.
int dwarf_macro_context_total_length(Dwarf_Macro_Context dw_context, Dwarf_Unsigned *dw_mac_total_len, Dwarf_Error *dw_error)
Return a macro context total length.
int dwarf_get_macro_defundef(Dwarf_Macro_Context dw_macro_context, Dwarf_Unsigned dw_op_number, Dwarf_Unsigned *dw_line_number, Dwarf_Unsigned *dw_index, Dwarf_Unsigned *dw_offset, Dwarf_Half *dw_forms_count, const char **dw_macro_string, Dwarf_Error *dw_error)
Get Macro defundef.
void(*)(void *, const void *, unsigned long) dwarf_get_endian_copy_function(Dwarf_Debug dw_dbg)
Get a pointer to the applicable swap/noswap function.
Definition libdwarf.h:9591
int dwarf_library_allow_dup_attr(int dw_v)
Eliminate libdwarf checking attribute duplication.
int dwarf_set_de_alloc_flag(int dw_v)
Eliminate libdwarf tracking of allocations Independent of any Dwarf_Debug and applicable to all whene...
int dwarf_set_reloc_application(int dw_apply)
Set libdwarf response to *.rela relocations.
int dwarf_set_stringcheck(int dw_stringcheck)
Turn off libdwarf checks of strings.
void dwarf_record_cmdline_options(Dwarf_Cmdline_Options dw_dd_options)
Tell libdwarf to add verbosity to Line Header errors By default the flag in the struct argument is ze...
const char * dwarf_package_version(void)
Return the version string in the library.
Dwarf_Small dwarf_set_default_address_size(Dwarf_Debug dw_dbg, Dwarf_Small dw_value)
Set the address size on a Dwarf_Debug.
int dwarf_get_universalbinary_count(Dwarf_Debug dw_dbg, Dwarf_Unsigned *dw_current_index, Dwarf_Unsigned *dw_available_count)
Retrieve universal binary index.
int dwarf_get_frame_section_name_eh_gnu(Dwarf_Debug dw_dbg, const char **dw_section_name_out, Dwarf_Error *dw_error)
Get GNU .eh_frame section name.
int dwarf_get_frame_section_name(Dwarf_Debug dw_dbg, const char **dw_section_name_out, Dwarf_Error *dw_error)
Get .debug_frame section name.
int dwarf_get_section_info_by_index(Dwarf_Debug dw_dbg, int dw_section_index, const char **dw_section_name, Dwarf_Addr *dw_section_addr, Dwarf_Unsigned *dw_section_size, Dwarf_Error *dw_error)
Given a section index, get its size and address.
int dwarf_get_die_section_name(Dwarf_Debug dw_dbg, Dwarf_Bool dw_is_info, const char **dw_sec_name, Dwarf_Error *dw_error)
Get the real name a DIE section.
int dwarf_get_line_section_name_from_die(Dwarf_Die dw_die, const char **dw_section_name_out, Dwarf_Error *dw_error)
Get the line table section name.
int dwarf_get_section_info_by_index_a(Dwarf_Debug dw_dbg, int dw_section_index, const char **dw_section_name, Dwarf_Addr *dw_section_addr, Dwarf_Unsigned *dw_section_size, Dwarf_Unsigned *dw_section_flags, Dwarf_Unsigned *dw_section_offset, Dwarf_Error *dw_error)
Given a section index, get its size and address, etc.
int dwarf_machine_architecture(Dwarf_Debug dw_dbg, Dwarf_Small *dw_ftype, Dwarf_Small *dw_obj_pointersize, Dwarf_Bool *dw_obj_is_big_endian, Dwarf_Unsigned *dw_obj_machine, Dwarf_Unsigned *dw_obj_flags, Dwarf_Small *dw_path_source, Dwarf_Unsigned *dw_ub_offset, Dwarf_Unsigned *dw_ub_count, Dwarf_Unsigned *dw_ub_index, Dwarf_Unsigned *dw_comdat_groupnumber)
Get basic object information original version.
int dwarf_get_section_info_by_name_a(Dwarf_Debug dw_dbg, const char *dw_section_name, Dwarf_Addr *dw_section_addr, Dwarf_Unsigned *dw_section_size, Dwarf_Unsigned *dw_section_flags, Dwarf_Unsigned *dw_section_offset, Dwarf_Error *dw_error)
Given a section name, get its size, address, etc.
int dwarf_get_macro_section_name(Dwarf_Debug dw_dbg, const char **dw_sec_name_out, Dwarf_Error *dw_err)
Get the real name of a .debug_macro section.
int dwarf_get_line_section_name(Dwarf_Debug dw_dbg, const char **dw_section_name_out, Dwarf_Error *dw_error)
Get the line table section name The usual arguments and return values.
int dwarf_get_ranges_section_name(Dwarf_Debug dw_dbg, const char **dw_section_name_out, Dwarf_Error *dw_error)
Get .debug_ranges section name The usual arguments and return values.
int dwarf_get_die_section_name_b(Dwarf_Die dw_die, const char **dw_sec_name, Dwarf_Error *dw_error)
Get the real name of a DIE section.
int dwarf_get_offset_size(Dwarf_Debug dw_dbg, Dwarf_Half *dw_offset_size, Dwarf_Error *dw_error)
Get offset size as defined by the object.
Dwarf_Unsigned dwarf_get_section_count(Dwarf_Debug dw_dbg)
Get section count (of object file sections).
int dwarf_machine_architecture_a(Dwarf_Debug dw_dbg, Dwarf_Small *dw_ftype, Dwarf_Small *dw_obj_pointersize, Dwarf_Bool *dw_obj_is_big_endian, Dwarf_Unsigned *dw_obj_machine, Dwarf_Unsigned *dw_obj_type, Dwarf_Unsigned *dw_obj_flags, Dwarf_Small *dw_path_source, Dwarf_Unsigned *dw_ub_offset, Dwarf_Unsigned *dw_ub_count, Dwarf_Unsigned *dw_ub_index, Dwarf_Unsigned *dw_comdat_groupnumber)
Get basic object information from Dwarf_Debug.
int dwarf_get_real_section_name(Dwarf_Debug dw_dbg, const char *dw_std_section_name, const char **dw_actual_sec_name_out, Dwarf_Small *dw_marked_zcompressed, Dwarf_Small *dw_marked_zlib_compressed, Dwarf_Small *dw_marked_shf_compressed, Dwarf_Unsigned *dw_compressed_length, Dwarf_Unsigned *dw_uncompressed_length, Dwarf_Error *dw_error)
Get the real name of a section.
int dwarf_get_string_section_name(Dwarf_Debug dw_dbg, const char **dw_section_name_out, Dwarf_Error *dw_error)
Get the string table section name The usual arguments and return values.
int dwarf_get_section_max_offsets_d(Dwarf_Debug dw_dbg, Dwarf_Unsigned *dw_debug_info_size, Dwarf_Unsigned *dw_debug_abbrev_size, Dwarf_Unsigned *dw_debug_line_size, Dwarf_Unsigned *dw_debug_loc_size, Dwarf_Unsigned *dw_debug_aranges_size, Dwarf_Unsigned *dw_debug_macinfo_size, Dwarf_Unsigned *dw_debug_pubnames_size, Dwarf_Unsigned *dw_debug_str_size, Dwarf_Unsigned *dw_debug_frame_size, Dwarf_Unsigned *dw_debug_ranges_size, Dwarf_Unsigned *dw_debug_pubtypes_size, Dwarf_Unsigned *dw_debug_types_size, Dwarf_Unsigned *dw_debug_macro_size, Dwarf_Unsigned *dw_debug_str_offsets_size, Dwarf_Unsigned *dw_debug_sup_size, Dwarf_Unsigned *dw_debug_cu_index_size, Dwarf_Unsigned *dw_debug_tu_index_size, Dwarf_Unsigned *dw_debug_names_size, Dwarf_Unsigned *dw_debug_loclists_size, Dwarf_Unsigned *dw_debug_rnglists_size)
Get section sizes for many sections.
int dwarf_get_section_info_by_name(Dwarf_Debug dw_dbg, const char *dw_section_name, Dwarf_Addr *dw_section_addr, Dwarf_Unsigned *dw_section_size, Dwarf_Error *dw_error)
Given a section name, get its size and address.
int dwarf_get_address_size(Dwarf_Debug dw_dbg, Dwarf_Half *dw_addr_size, Dwarf_Error *dw_error)
Get the address size as defined by the object.
int dwarf_get_aranges_section_name(Dwarf_Debug dw_dbg, const char **dw_section_name_out, Dwarf_Error *dw_error)
Get .debug_aranges section name The usual arguments.
Dwarf_Half dwarf_global_tag_number(Dwarf_Global dw_global)
Return the DW_TAG number of a global entry.
int dwarf_global_cu_offset(Dwarf_Global dw_global, Dwarf_Off *dw_cu_header_offset, Dwarf_Error *dw_error)
Return the CU header data of a global data item.
int dwarf_globals_by_type(Dwarf_Debug dw_dbg, int dw_requested_section, Dwarf_Global **dw_contents, Dwarf_Signed *dw_count, Dwarf_Error *dw_error)
Allocate Any Fast Access DWARF2-DWARF4.
int dwarf_global_name_offsets(Dwarf_Global dw_global, char **dw_returned_name, Dwarf_Off *dw_die_offset, Dwarf_Off *dw_cu_die_offset, Dwarf_Error *dw_error)
Return the name and offsets of a global entry.
int dwarf_globname(Dwarf_Global dw_global, char **dw_returned_name, Dwarf_Error *dw_error)
Return the name of a global-like data item.
int dwarf_get_pubtypes(Dwarf_Debug dw_dbg, Dwarf_Global **dw_pubtypes, Dwarf_Signed *dw_number_of_pubtypes, Dwarf_Error *dw_error)
Global debug_types access.
int dwarf_return_empty_pubnames(Dwarf_Debug dw_dbg, int dw_flag)
A flag for dwarfdump on pubnames, pubtypes etc.
void dwarf_globals_dealloc(Dwarf_Debug dw_dbg, Dwarf_Global *dw_global_like, Dwarf_Signed dw_count)
Dealloc the Dwarf_Global data.
int dwarf_global_die_offset(Dwarf_Global dw_global, Dwarf_Off *dw_die_offset, Dwarf_Error *dw_error)
Return the DIE offset of a global data item.
int dwarf_get_globals(Dwarf_Debug dw_dbg, Dwarf_Global **dw_globals, Dwarf_Signed *dw_number_of_globals, Dwarf_Error *dw_error)
Global name space operations, .debug_pubnames access.
int dwarf_get_globals_header(Dwarf_Global dw_global, int *dw_category, Dwarf_Off *dw_offset_pub_header, Dwarf_Unsigned *dw_length_size, Dwarf_Unsigned *dw_length_pub, Dwarf_Unsigned *dw_version, Dwarf_Unsigned *dw_header_info_offset, Dwarf_Unsigned *dw_info_length, Dwarf_Error *dw_error)
For more complete globals printing.
int dwarf_get_ranges_baseaddress(Dwarf_Debug dw_dbg, Dwarf_Die dw_die, Dwarf_Bool *dw_known_base, Dwarf_Unsigned *dw_baseaddress, Dwarf_Bool *dw_at_ranges_offset_present, Dwarf_Unsigned *dw_at_ranges_offset, Dwarf_Error *dw_error)
Find ranges base address.
int dwarf_get_ranges_b(Dwarf_Debug dw_dbg, Dwarf_Off dw_rangesoffset, Dwarf_Die dw_die, Dwarf_Off *dw_return_realoffset, Dwarf_Ranges **dw_rangesbuf, Dwarf_Signed *dw_rangecount, Dwarf_Unsigned *dw_bytecount, Dwarf_Error *dw_error)
Access to code ranges from a CU or just reading through the raw .debug_ranges section.
void dwarf_dealloc_ranges(Dwarf_Debug dw_dbg, Dwarf_Ranges *dw_rangesbuf, Dwarf_Signed dw_rangecount)
Dealloc the array dw_rangesbuf.
int dwarf_get_rnglist_rle(Dwarf_Debug dw_dbg, Dwarf_Unsigned dw_contextnumber, Dwarf_Unsigned dw_entry_offset, Dwarf_Unsigned dw_endoffset, unsigned int *dw_entrylen, unsigned int *dw_entry_kind, Dwarf_Unsigned *dw_entry_operand1, Dwarf_Unsigned *dw_entry_operand2, Dwarf_Error *dw_error)
Access to raw rnglists range data.
int dwarf_rnglists_get_rle_head(Dwarf_Attribute dw_attr, Dwarf_Half dw_theform, Dwarf_Unsigned dw_index_or_offset_value, Dwarf_Rnglists_Head *dw_head_out, Dwarf_Unsigned *dw_count_of_entries_in_head, Dwarf_Unsigned *dw_global_offset_of_rle_set, Dwarf_Error *dw_error)
Get Access to DWARF5 rnglists.
int dwarf_load_rnglists(Dwarf_Debug dw_dbg, Dwarf_Unsigned *dw_rnglists_count, Dwarf_Error *dw_error)
Loads all .debug_rnglists headers.
int dwarf_get_rnglist_offset_index_value(Dwarf_Debug dw_dbg, Dwarf_Unsigned dw_context_index, Dwarf_Unsigned dw_offsetentry_index, Dwarf_Unsigned *dw_offset_value_out, Dwarf_Unsigned *dw_global_offset_value_out, Dwarf_Error *dw_error)
Retrieve the section offset of a rnglist.
int dwarf_get_rnglist_context_basics(Dwarf_Debug dw_dbg, Dwarf_Unsigned dw_index, Dwarf_Unsigned *dw_header_offset, Dwarf_Small *dw_offset_size, Dwarf_Small *dw_extension_size, unsigned int *dw_version, Dwarf_Small *dw_address_size, Dwarf_Small *dw_segment_selector_size, Dwarf_Unsigned *dw_offset_entry_count, Dwarf_Unsigned *dw_offset_of_offset_array, Dwarf_Unsigned *dw_offset_of_first_rangeentry, Dwarf_Unsigned *dw_offset_past_last_rangeentry, Dwarf_Error *dw_error)
Access to rnglists header data.
int dwarf_get_rnglist_head_basics(Dwarf_Rnglists_Head dw_head, Dwarf_Unsigned *dw_rle_count, Dwarf_Unsigned *dw_rnglists_version, Dwarf_Unsigned *dw_rnglists_index_returned, Dwarf_Unsigned *dw_bytes_total_in_rle, Dwarf_Half *dw_offset_size, Dwarf_Half *dw_address_size, Dwarf_Half *dw_segment_selector_size, Dwarf_Unsigned *dw_overall_offset_of_this_context, Dwarf_Unsigned *dw_total_length_of_this_context, Dwarf_Unsigned *dw_offset_table_offset, Dwarf_Unsigned *dw_offset_table_entrycount, Dwarf_Bool *dw_rnglists_base_present, Dwarf_Unsigned *dw_rnglists_base, Dwarf_Bool *dw_rnglists_base_address_present, Dwarf_Unsigned *dw_rnglists_base_address, Dwarf_Bool *dw_rnglists_debug_addr_base_present, Dwarf_Unsigned *dw_rnglists_debug_addr_base, Dwarf_Error *dw_error)
Access to internal data on rangelists.
void dwarf_dealloc_rnglists_head(Dwarf_Rnglists_Head dw_head)
Dealloc a Dwarf_Rnglists_Head.
int dwarf_get_rnglists_entry_fields_a(Dwarf_Rnglists_Head dw_head, Dwarf_Unsigned dw_entrynum, unsigned int *dw_entrylen, unsigned int *dw_rle_value_out, Dwarf_Unsigned *dw_raw1, Dwarf_Unsigned *dw_raw2, Dwarf_Bool *dw_debug_addr_unavailable, Dwarf_Unsigned *dw_cooked1, Dwarf_Unsigned *dw_cooked2, Dwarf_Error *dw_error)
Access rnglist entry details.
int dwarf_sec_group_sizes(Dwarf_Debug dw_dbg, Dwarf_Unsigned *dw_section_count_out, Dwarf_Unsigned *dw_group_count_out, Dwarf_Unsigned *dw_selected_group_out, Dwarf_Unsigned *dw_map_entry_count_out, Dwarf_Error *dw_error)
Get Section Groups data counts.
int dwarf_sec_group_map(Dwarf_Debug dw_dbg, Dwarf_Unsigned dw_map_entry_count, Dwarf_Unsigned *dw_group_numbers_array, Dwarf_Unsigned *dw_sec_numbers_array, const char **dw_sec_names_array, Dwarf_Error *dw_error)
Return a map between group numbers and section numbers.
int dwarf_get_debugfission_for_key(Dwarf_Debug dw_dbg, Dwarf_Sig8 *dw_hash_sig, const char *dw_cu_type, Dwarf_Debug_Fission_Per_CU *dw_percu_out, Dwarf_Error *dw_error)
Given a hash signature find per-cu Fission data.
int dwarf_get_xu_hash_entry(Dwarf_Xu_Index_Header dw_xuhdr, Dwarf_Unsigned dw_index, Dwarf_Sig8 *dw_hash_value, Dwarf_Unsigned *dw_index_to_sections, Dwarf_Error *dw_error)
Get a Hash Entry.
void dwarf_dealloc_xu_header(Dwarf_Xu_Index_Header dw_xuhdr)
Dealloc (free) memory associated with dw_xuhdr.
int dwarf_get_xu_index_section_type(Dwarf_Xu_Index_Header dw_xuhdr, const char **dw_typename, const char **dw_sectionname, Dwarf_Error *dw_error)
Return basic information about a Dwarf_Xu_Index_Header.
int dwarf_get_debugfission_for_die(Dwarf_Die dw_die, Dwarf_Debug_Fission_Per_CU *dw_percu_out, Dwarf_Error *dw_error)
Get debugfission data for a Dwarf_Die.
int dwarf_get_xu_section_names(Dwarf_Xu_Index_Header dw_xuhdr, Dwarf_Unsigned dw_column_index, Dwarf_Unsigned *dw_SECT_number, const char **dw_SECT_name, Dwarf_Error *dw_error)
get DW_SECT value for a column.
int dwarf_get_xu_section_offset(Dwarf_Xu_Index_Header dw_xuhdr, Dwarf_Unsigned dw_row_index, Dwarf_Unsigned dw_column_index, Dwarf_Unsigned *dw_sec_offset, Dwarf_Unsigned *dw_sec_size, Dwarf_Error *dw_error)
Get row data (section data) for a row and column.
int dwarf_get_xu_index_header(Dwarf_Debug dw_dbg, const char *dw_section_type, Dwarf_Xu_Index_Header *dw_xuhdr, Dwarf_Unsigned *dw_version_number, Dwarf_Unsigned *dw_section_count, Dwarf_Unsigned *dw_units_count, Dwarf_Unsigned *dw_hash_slots_count, const char **dw_sect_name, Dwarf_Error *dw_error)
Access a .debug_cu_index or dw_tu_index section.
int dwarf_str_offsets_statistics(Dwarf_Str_Offsets_Table dw_table_data, Dwarf_Unsigned *dw_wasted_byte_count, Dwarf_Unsigned *dw_table_count, Dwarf_Error *dw_error)
Reports final wasted-bytes count.
int dwarf_open_str_offsets_table_access(Dwarf_Debug dw_dbg, Dwarf_Str_Offsets_Table *dw_table_data, Dwarf_Error *dw_error)
Creates access to a .debug_str_offsets table.
int dwarf_next_str_offsets_table(Dwarf_Str_Offsets_Table dw_table_data, Dwarf_Unsigned *dw_unit_length, Dwarf_Unsigned *dw_unit_length_offset, Dwarf_Unsigned *dw_table_start_offset, Dwarf_Half *dw_entry_size, Dwarf_Half *dw_version, Dwarf_Half *dw_padding, Dwarf_Unsigned *dw_table_value_count, Dwarf_Error *dw_error)
Iterate through the offsets tables.
int dwarf_close_str_offsets_table_access(Dwarf_Str_Offsets_Table dw_table_data, Dwarf_Error *dw_error)
Close str_offsets access, free table_data.
int dwarf_str_offsets_value_by_index(Dwarf_Str_Offsets_Table dw_table_data, Dwarf_Unsigned dw_index_to_entry, Dwarf_Unsigned *dw_entry_value, Dwarf_Error *dw_error)
Access to an individual str offsets table entry.
int dwarf_get_str(Dwarf_Debug dw_dbg, Dwarf_Off dw_offset, char **dw_string, Dwarf_Signed *dw_strlen_of_string, Dwarf_Error *dw_error)
Reading From a String Section.
Definition libdwarf.h:330
Definition libdwarf.h:441
Definition libdwarf.h:824
Definition libdwarf.h:728
Definition libdwarf.h:815
Definition libdwarf.h:796
Definition libdwarf.h:778
Definition libdwarf.h:413
Definition libdwarf.h:469
Definition libdwarf.h:581
Definition libdwarf.h:553
Definition libdwarf.h:313