53 #ifndef LIBDWARF_STATIC
54 # if defined(_WIN32) || defined(__CYGWIN__)
55 # ifdef LIBDWARF_BUILD
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.0"
103 #define DW_LIBDWARF_VERSION_MAJOR 0
104 #define DW_LIBDWARF_VERSION_MINOR 11
105 #define DW_LIBDWARF_VERSION_MICRO 0
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
116 #define DW_FTYPE_PE 3
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
982 #define DW_DLE_MDE 10
983 #define DW_DLE_MLE 11
984 #define DW_DLE_FNO 12
985 #define DW_DLE_FNR 13
986 #define DW_DLE_FWA 14
987 #define DW_DLE_NOB 15
988 #define DW_DLE_MOF 16
989 #define DW_DLE_EOLL 17
990 #define DW_DLE_NOLL 18
991 #define DW_DLE_BADOFF 19
992 #define DW_DLE_EOS 20
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
1482 #define DW_DLE_LAST 504
1483 #define DW_DLE_LO_USER 0x10000
1549 char * dw_true_path_out_buffer,
1550 unsigned int dw_true_path_bufferlen,
1551 unsigned int dw_groupnumber,
1570 char * dw_true_path_out_buffer,
1571 unsigned int dw_true_path_bufferlen,
1572 unsigned int dw_groupnumber,
1573 unsigned int dw_universalnumber,
1636 char * dw_true_path_out_buffer,
1637 unsigned int dw_true_path_bufferlen,
1638 unsigned int dw_groupnumber,
1642 char ** dw_dl_path_array,
1643 unsigned int dw_dl_path_array_size,
1644 unsigned char * dw_dl_path_source,
1664 char * dw_true_path_out_buffer,
1665 unsigned int dw_true_path_bufferlen,
1666 unsigned int dw_groupnumber,
1667 unsigned int dw_universalnumber,
1671 char ** dw_dl_path_array,
1672 unsigned int dw_dl_path_array_size,
1673 unsigned char * dw_dl_path_source,
1710 unsigned int dw_groupnumber,
1769 unsigned int dw_groupnumber,
2135 const char * dw_sig_type,
2455 char ** dw_ret_name,
3239 char ** dw_returned_string,
3338 void * dw_input_block,
3351 void *dw_value_array);
3539 char *** dw_srcfiles,
3671 const char ** dw_compilation_directory,
3713 const char ** dw_name,
3803 const char ** dw_name,
3854 const char ** dw_name,
4035 char ** dw_returned_name,
4153 int * dw_errcount_out,
4187 int * dw_errorcount_out);
4439 unsigned int * dw_entrylen,
4440 unsigned int * dw_rle_value_out,
4544 Dwarf_Bool * dw_rnglists_base_address_present,
4546 Dwarf_Bool * dw_rnglists_debug_addr_base_present,
4570 unsigned int * dw_version,
4592 unsigned int * dw_entrylen,
4593 unsigned int * dw_entry_kind,
4627 #define DW_LKIND_expression 0
4628 #define DW_LKIND_loclist 1
4629 #define DW_LKIND_GNU_exp_list 2
4630 #define DW_LKIND_loclists 5
4631 #define DW_LKIND_unknown 99
4647 unsigned int * dw_lkind,
4955 Dwarf_Bool * dw_loclists_base_address_present,
4957 Dwarf_Bool * dw_loclists_debug_addr_base_present,
4975 unsigned int * dw_version,
4992 unsigned int * dw_entrylen,
4993 unsigned int * dw_entry_kind,
5245 unsigned int * dw_flags,
5358 const char ** dw_macro_string,
5393 const char ** dw_src_file_name,
5664 char ** dw_augmenter,
6144 const char ** dw_fields_description,
6180 const char ** dw_fields_description,
6774 char ** dw_filename,
6909 char ** dw_augmentation_string,
6967 const char * dw_type,
7054 char * * dw_ptrtostr,
7360 #define DW_GL_GLOBALS 0
7361 #define DW_GL_PUBTYPES 1
7363 #define DW_GL_FUNCS 2
7364 #define DW_GL_TYPES 3
7365 #define DW_GL_VARS 4
7366 #define DW_GL_WEAKS 5
7420 int dw_requested_section,
7452 char ** dw_returned_name,
7508 char ** dw_returned_name,
7701 const char **dw_name_string,
7702 unsigned char *dw_flagbyte,
7703 unsigned char *dw_staticorglobal,
7704 unsigned char *dw_typeofentry,
7776 const char ** dw_section_name,
8055 const char ** dw_string_ptr,
8098 const char * dw_section_type,
8104 const char ** dw_sect_name,
8133 const char ** dw_typename,
8134 const char ** dw_sectionname,
8200 const char ** dw_SECT_name,
8276 const char * dw_cu_type,
8377 char ** dw_debuglink_path_returned,
8378 unsigned char ** dw_crc_returned,
8379 char ** dw_debuglink_fullpath_returned,
8380 unsigned int * dw_debuglink_path_length_returned,
8381 unsigned int * dw_buildid_type_returned,
8382 char ** dw_buildid_owner_name_returned,
8383 unsigned char ** dw_buildid_returned,
8384 unsigned int * dw_buildid_length_returned,
8385 char *** dw_paths_returned,
8386 unsigned int * dw_paths_length_returned,
8442 const char * dw_pathname,
8473 unsigned char * dw_crcbuf,
8500 unsigned long dw_len,
8501 unsigned int dw_init);
8520 #define DW_HARMLESS_ERROR_CIRCULAR_LIST_DEFAULT_SIZE 4
8565 unsigned int dw_count,
8566 const char ** dw_errmsg_ptrs_array,
8567 unsigned int * dw_newerr_count);
8591 unsigned int dw_maxcount);
8605 char * dw_newerror);
8642 const char ** dw_s_out);
8646 const char ** dw_s_out);
8650 const char ** dw_s_out);
8654 const char ** dw_s_out);
8658 const char ** dw_s_out);
8662 const char ** dw_s_out);
8666 const char ** dw_s_out);
8670 const char ** dw_s_out);
8674 const char ** dw_s_out);
8678 const char ** dw_s_out);
8682 const char ** dw_s_out);
8686 const char ** dw_s_out);
8692 const char ** dw_s_out);
8698 const char ** dw_s_out);
8702 const char ** dw_s_out);
8706 const char ** dw_s_out);
8714 const char ** dw_s_out);
8720 const char ** dw_s_out);
8725 const char ** dw_s_out);
8729 const char ** dw_s_out);
8733 const char ** dw_s_out);
8737 const char ** dw_s_out);
8741 const char ** dw_s_out);
8745 const char ** dw_s_out);
8752 const char ** dw_s_out );
8757 const char ** dw_s_out);
8761 const char ** dw_s_out);
8765 const char ** dw_s_out);
8771 const char ** dw_s_out);
8777 const char ** dw_s_out);
8781 const char ** dw_s_out);
8785 const char ** dw_s_out);
8789 const char ** dw_s_out);
8793 const char ** dw_s_out);
8797 const char ** dw_s_out);
8801 const char ** dw_s_out);
8805 const char ** dw_s_out);
8809 const char ** dw_s_out);
8822 const char ** dw_s_out);
8878 const char **dw_sec_name,
8888 const char ** dw_sec_name,
8894 const char ** dw_sec_name_out,
8940 const char * dw_std_section_name,
8941 const char ** dw_actual_sec_name_out,
8954 const char ** dw_section_name_out,
8963 const char ** dw_section_name_out,
8970 const char ** dw_section_name_out,
8977 const char ** dw_section_name_out,
9004 const char ** dw_section_name_out,
9011 const char ** dw_section_name_out,
9028 const char ** dw_section_name_out,
9078 const char * dw_section_name,
9098 const char * dw_section_name,
9149 int dw_section_index,
9150 const char ** dw_section_name,
9170 int dw_section_index,
9171 const char ** dw_section_name,
9409 const char **dw_sec_names_array,
9429 DW_API
int dwarf_encode_signed_leb128(
Dwarf_Signed dw_val,
9437 DW_API
int dwarf_decode_leb128(
char *dw_leb,
9441 DW_API
int dwarf_decode_signed_leb128(
char *dw_leb,
9528 (
void *,
const void *,
unsigned long);
9643 DW_API
int dwarf_object_detector_path_b(
const char * dw_path,
9644 char *dw_outpath_buffer,
9645 unsigned long dw_outpathlen,
9646 char ** dw_gl_pathnames,
9647 unsigned int dw_gl_pathcount,
9648 unsigned int *dw_ftype,
9649 unsigned int *dw_endian,
9650 unsigned int *dw_offsetsize,
9652 unsigned char *dw_pathsource,
9656 DW_API
int dwarf_object_detector_path_dSYM(
const char * dw_path,
9658 unsigned long dw_outpath_len,
9659 char ** dw_gl_pathnames,
9660 unsigned int dw_gl_pathcount,
9661 unsigned int *dw_ftype,
9662 unsigned int *dw_endian,
9663 unsigned int *dw_offsetsize,
9665 unsigned char *dw_pathsource,
9668 DW_API
int dwarf_object_detector_fd(
int dw_fd,
9669 unsigned int *dw_ftype,
9670 unsigned int *dw_endian,
9671 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:341
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,...
char * dwarf_errmsg_by_number(Dwarf_Unsigned dw_errornum)
What message string is associated with the error number.
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(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:9527
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.
const char * dwarf_package_version(void)
Return the version string in the library.
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...
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 from Dwarf_Debug.
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_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