3#ifndef SYMS_DWARF_PARSER_C
4#define SYMS_DWARF_PARSER_C
75 for(
SYMS_U64 i = 0; i <
string.size; i += 1)
77 result = ((result << 5) + result) +
string.str[i];
96 hash = ((hash & 0xE000000000000000) >> 61) | ((hash & 0x1FFFFFFFFFFFFFFF) << 3);
106 h &= 0xfffffffffffffffe;
115 SYMS_U64 z = (x += 0x9e3779b97f4a7c15);
116 z = (z ^ (z >> 30)) * 0xbf58476d1ce4e5b9;
117 z = (z ^ (z >> 27)) * 0x94d049bb133111eb;
118 return z ^ (z >> 31);
125 key =
~key + (key << 21);
126 key = (key << 21) - key - 1;
127 key = key ^ (key >> 24);
128 key = (key + (key << 3)) + (key << 8);
129 key = key ^ (key >> 14);
130 key = (key + (key << 2)) + (key << 4);
131 key = key ^ (key >> 28);
132 key = key + (key << 31);
337 if(idx ==
dir.size && idx > start)
342 else if(idx <
dir.size && (
dir.str[idx] ==
'/' ||
dir.str[idx] ==
'\\'))
348 if(
dir.str[idx] ==
'\\')
367 if(idx ==
filename.size && idx > start)
401 list->chunk_count += 1;
405 list->total_id_count += 1;
493 abbrev.sub_kind = sub_kind;
544 abbrev.sub_kind = sub_kind;
603 form_value.
v[0] = value;
612 form_value.
v[0] = value;
620 form_value.
v[0] = value;
631 form_value.
v[0] = size;
632 form_value.
v[1] = offset;
641 form_value.
v[0] = size;
642 form_value.
v[1] = offset;
683 form_value.
v[1] = size;
810 text_section_idx = idx;
951 if(segment == 0 && address == 0 && length == 0)
955 if(length != 0 && acceptable_vrange.
min <= address && address < acceptable_vrange.
max)
967#if SYMS_ENABLE_DEV_LOG
970 SYMS_Log(
".debug_aranges [unit #%i]:\n", uid);
1050 if(
ext_ref.dwo_path.size != 0)
1057 list.node_count += 1;
1125 if(size > 0xffffffff)
1289 if((addr_size == 4 && v0 == 0xffffffff) ||
1290 (addr_size == 8 && v0 == 0xffffffffffffffff))
1295 else if(v0 == 0 && v1 == 0)
1332 if((addr_size == 4 && v0 == 0xffffffff) ||
1333 (addr_size == 8 && v0 == 0xffffffffffffffff))
1338 else if(v0 == 0 && v1 == 0)
1519 if (unit_length >=
sizeof(
SYMS_U16)*2)
1523 if(0 <= index && index <
count)
1528 case 4: {result = ((
SYMS_U32 *)entries)[index];}
break;
1529 case 8: {result = ((
SYMS_U64 *)entries)[index];}
break;
1562 SYMS_U8 segment_selector_size = 0;
1568 if(0 <= index && index <
count)
1619 SYMS_U8 segment_selector_size = 0;
1989 value.
v[1] = value.
v[0] +
string.size;
2037 value.
v[0] = form_value.
v[0];
2038 value.
v[1] = value.
v[0] +
string.size;
2047 value.
v[0] = form_value.
v[0];
2048 value.
v[1] = value.
v[0] +
string.size;
2068 value.
v[0] = offset;
2071 else if(value_class == 0)
2094 string.size = value.
v[1] - value.
v[0];
2177 form_kind,
abbrev.const_value, &form_value);
2294 stub.
ref = value.
v[0];
2617 if(external_dwo_name.
size)
2689 return accel->root_count;
2698 root = &
accel->roots[uid-1];
3066 4073, 5821, 7369, 7919, 8971, 10687, 13217, 14639, 16193, 17389, 19373,
3067 22123, 24517, 26029, 27259, 29633, 32917, 35381, 37139, 37813, 39631,
3068 42641, 45263, 47653, 54037, 57119, 59183, 62927, 66103, 69389, 70657,
3069 72467, 76819, 80051, 84017, 87071, 93179, 97303, 99817, 102397, 104677,
3070 112967, 116371, 128111, 161407, 178301, 187963, 200003, 249439, 312583,
3071 411637, 466019, 545959, 745709, 796571, 862177, 918539, 1032683, 1187239,
3082 if(
left <=
v &&
v <= right)
3107 SYMS_F64 a = -0.0000000001700537876;
3362 n->parent_stub = stub;
3411 SYMS_ProfBegin(
"syms_dw_unit_accel_from_comp_root.top_level_array_build");
3666 if(n->stub.sid == sid)
3765 return parse.attribs;
3904 virtual_offset = value.
v[0];
3945 offset = value.
v[0];
3955 offset = value.
v[0];
4194 enum_members[idx].
val = val;
4202 array.enum_members = enum_members;
4274 if(result.
size == 0)
4351 type_uid = unit->
uid;
4359 containing_type.
uid = unit->
uid;
4372 size = (value.
v[0] + 7)/8;
4416 if(sid !=
void_id && type == 0 &&
4540 const_value = value.
v[0];
4552 info.
val = const_value;
4622 result = value.
v[0];
4670 node->
id = n->stub.sid;
4911 ranges_attrib_value = value;
4915 low_pc = value.
v[0];
4919 high_pc = value.
v[0];
4926 high_pc = low_pc + high_pc;
4934 ranges_attrib_value);
5074 state->
is_stmt = default_is_stmt;
5086 state->
address += min_inst_len*(op_index/max_ops_for_inst);
5087 state->
op_index = op_index % max_ops_for_inst;
5109 if(
seq &&
seq->count == 1)
5111 SYMS_Log(
"ERROR! do not emit sequences with only one line...\n");
5123 SYMS_Log(
" line: [%i] %i:%i => %llx\n",
5234 SYMS_Log(
"advance line by %i\n", (
int)s);
5242 SYMS_Log(
"set file to %i\n", (
int)file_index);
5250 SYMS_Log(
"set column to %i\n", (
int)column);
5262 SYMS_Log(
"set basic_block to true\n");
5348 SYMS_Log(
"UNHANDLED DEFINE FILE!!!\n");
5394 line_count +=
seq->count;
5429syms_dw_read_line_file(
void *line_base,
SYMS_U64Range line_rng,
SYMS_U64 line_off,
SYMS_DwMode mode,
SYMS_DwDbgAccel *dbg,
SYMS_String8 data,
SYMS_DwCompRoot *unit,
SYMS_U8 address_size,
SYMS_U64 format_count,
SYMS_U64Range *
formats,
SYMS_DwLineFile *
line_file_out)
5557 line_off += 4 *
sizeof(
SYMS_U8);
5600 header_out->dir_table.strings[dir_idx] = file_name;
5642 line_off +=
dir.size + 1;
5668 line_off += file_name.
size + 1;
5669 if (file_name.
size == 0)
OODEFFUNC typedef const char * file
Definition oodle2.h:678
OODEFFUNC typedef const char int line
Definition oodle2.h:678
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
bool left(const int *a, const int *b, const int *c)
Definition RecastMesh.cpp:182
int next(int i, int n)
Definition RecastMesh.cpp:164
char * dst
Definition lz4.h:735
float v
Definition radaudio_mdct.cpp:62
Definition syms_base.h:402
Definition syms_debug_info.h:300
SYMS_U64 val
Definition syms_debug_info.h:303
SYMS_TypeKind kind
Definition syms_debug_info.h:302
Definition syms_dwarf_parser.h:63
SYMS_U64 id
Definition syms_dwarf_parser.h:64
SYMS_U64 off
Definition syms_dwarf_parser.h:65
Definition syms_dwarf_parser.h:70
SYMS_U64 count
Definition syms_dwarf_parser.h:71
SYMS_DwAbbrevTableEntry * entries
Definition syms_dwarf_parser.h:72
Definition syms_dwarf_parser.h:164
SYMS_U64Range abbrev_range
Definition syms_dwarf_parser.h:166
SYMS_U64 id
Definition syms_dwarf_parser.h:168
Definition syms_dwarf_parser.h:231
SYMS_U64 max_abbrev_off
Definition syms_dwarf_parser.h:234
SYMS_DwAttribList attribs
Definition syms_dwarf_parser.h:232
SYMS_U64 max_info_off
Definition syms_dwarf_parser.h:233
Definition syms_dwarf_parser.h:223
SYMS_DwAttribNode * last
Definition syms_dwarf_parser.h:225
SYMS_DwAttribNode * first
Definition syms_dwarf_parser.h:224
SYMS_U64 count
Definition syms_dwarf_parser.h:226
Definition syms_dwarf_parser.h:216
SYMS_DwAttrib attrib
Definition syms_dwarf_parser.h:218
Definition syms_dwarf_parser.h:178
SYMS_U64 debug_str_offs_base
Definition syms_dwarf_parser.h:185
SYMS_U64 debug_rnglists_base
Definition syms_dwarf_parser.h:184
SYMS_U64 containing_unit_info_off
Definition syms_dwarf_parser.h:182
SYMS_U64 debug_addrs_base
Definition syms_dwarf_parser.h:183
SYMS_U64 debug_loclists_base
Definition syms_dwarf_parser.h:186
SYMS_DwLanguage language
Definition syms_dwarf_parser.h:180
SYMS_U64 addr_size
Definition syms_dwarf_parser.h:181
SYMS_DwVersion version
Definition syms_dwarf_parser.h:179
Definition syms_dwarf_parser.h:191
SYMS_U64 v[2]
Definition syms_dwarf_parser.h:193
SYMS_DwSectionKind section
Definition syms_dwarf_parser.h:192
Definition syms_dwarf_parser.h:198
SYMS_DwAttribClass value_class
Definition syms_dwarf_parser.h:203
SYMS_DwAttribValue form_value
Definition syms_dwarf_parser.h:204
SYMS_U64 abbrev_id
Definition syms_dwarf_parser.h:200
SYMS_U64 info_off
Definition syms_dwarf_parser.h:199
SYMS_DwAttribKind attrib_kind
Definition syms_dwarf_parser.h:201
SYMS_DwFormKind form_kind
Definition syms_dwarf_parser.h:202
Definition syms_dwarf_parser.h:242
SYMS_U64 addrs_base
Definition syms_dwarf_parser.h:257
SYMS_DwLineVMFileArray file_table
Definition syms_dwarf_parser.h:277
SYMS_U64Range tags_info_range
Definition syms_dwarf_parser.h:251
SYMS_DwAbbrevTable abbrev_table
Definition syms_dwarf_parser.h:252
SYMS_B32 use_utf8
Definition syms_dwarf_parser.h:268
SYMS_U64 dwo_id
Definition syms_dwarf_parser.h:265
SYMS_U64 loclist_base
Definition syms_dwarf_parser.h:256
SYMS_DwAttribValue ranges_attrib_value
Definition syms_dwarf_parser.h:272
SYMS_U64 abbrev_off
Definition syms_dwarf_parser.h:248
SYMS_U64 low_pc
Definition syms_dwarf_parser.h:270
SYMS_U64 high_pc
Definition syms_dwarf_parser.h:271
SYMS_U64 rnglist_base
Definition syms_dwarf_parser.h:255
SYMS_U64 size
Definition syms_dwarf_parser.h:244
SYMS_U64 address_size
Definition syms_dwarf_parser.h:247
SYMS_U64 info_off
Definition syms_dwarf_parser.h:249
SYMS_String8 external_dwo_name
Definition syms_dwarf_parser.h:264
SYMS_String8Array dir_table
Definition syms_dwarf_parser.h:276
SYMS_U64 name_case
Definition syms_dwarf_parser.h:267
SYMS_U64 index
Definition syms_dwarf_parser.h:250
SYMS_String8 name
Definition syms_dwarf_parser.h:261
SYMS_String8 compile_dir
Definition syms_dwarf_parser.h:263
SYMS_String8 producer
Definition syms_dwarf_parser.h:262
SYMS_U64 line_off
Definition syms_dwarf_parser.h:269
SYMS_U64 stroffs_base
Definition syms_dwarf_parser.h:258
SYMS_DwCompUnitKind kind
Definition syms_dwarf_parser.h:245
SYMS_DwVersion version
Definition syms_dwarf_parser.h:246
SYMS_DwLanguage language
Definition syms_dwarf_parser.h:266
SYMS_U64 base_addr
Definition syms_dwarf_parser.h:273
Definition syms_dwarf_parser.h:94
SYMS_U64 text_section_idx
Definition syms_dwarf_parser.h:99
SYMS_DwUnitRangeInfo * unit_range_info
Definition syms_dwarf_parser.h:103
SYMS_U64Range acceptable_vrange
Definition syms_dwarf_parser.h:100
SYMS_DwSection * section_map
Definition syms_dwarf_parser.h:101
SYMS_Arch arch
Definition syms_dwarf_parser.h:96
SYMS_FileFormat format
Definition syms_dwarf_parser.h:95
SYMS_U64 vbase
Definition syms_dwarf_parser.h:97
SYMS_SecInfoArray sections
Definition syms_dwarf_parser.h:98
SYMS_U64 unit_count
Definition syms_dwarf_parser.h:102
SYMS_B32 is_dwo
Definition syms_dwarf_parser.h:104
Definition syms_dwarf_parser.h:52
SYMS_String8 dwo_path
Definition syms_dwarf_parser.h:54
SYMS_U64 dwo_id
Definition syms_dwarf_parser.h:55
Definition syms_dwarf_parser.h:112
SYMS_String8 file_name
Definition syms_dwarf_parser.h:113
SYMS_U64 dir_idx
Definition syms_dwarf_parser.h:114
SYMS_U64 modify_time
Definition syms_dwarf_parser.h:115
SYMS_U64 file_size
Definition syms_dwarf_parser.h:117
Definition syms_dwarf_parser.h:430
SYMS_Line line
Definition syms_dwarf_parser.h:432
Definition syms_dwarf_parser.h:437
Definition syms_dwarf_parser.h:446
SYMS_DwLineSeqNode * last_seq
Definition syms_dwarf_parser.h:449
SYMS_U64 count
Definition syms_dwarf_parser.h:138
SYMS_DwLineFile * v
Definition syms_dwarf_parser.h:139
Definition syms_dwarf_parser.h:129
Definition syms_dwarf_parser.h:122
SYMS_DwLineFile file
Definition syms_dwarf_parser.h:124
Definition syms_dwarf_parser.h:397
SYMS_U64 discriminator
Definition syms_dwarf_parser.h:419
SYMS_U32 op_index
Definition syms_dwarf_parser.h:399
SYMS_U32 line
Definition syms_dwarf_parser.h:406
SYMS_U64 isa
Definition syms_dwarf_parser.h:418
SYMS_B32 epilogue_begin
Definition syms_dwarf_parser.h:417
SYMS_B32 prologue_end
Definition syms_dwarf_parser.h:415
SYMS_U32 column
Definition syms_dwarf_parser.h:407
SYMS_B32 is_stmt
Definition syms_dwarf_parser.h:409
SYMS_U64 address
Definition syms_dwarf_parser.h:398
SYMS_U32 file_index
Definition syms_dwarf_parser.h:404
SYMS_B32 basic_block
Definition syms_dwarf_parser.h:410
Definition syms_dwarf_parser.h:557
SYMS_FileFormat format
Definition syms_dwarf_parser.h:558
SYMS_DwPubStringsTable tbl
Definition syms_dwarf_parser.h:559
Definition syms_dwarf_parser.h:543
SYMS_MemInfo * mem_infos
Definition syms_dwarf_parser.h:546
SYMS_USID * full_symbols
Definition syms_dwarf_parser.h:548
SYMS_SymbolID * sig_symbols
Definition syms_dwarf_parser.h:549
SYMS_U64 count
Definition syms_dwarf_parser.h:545
SYMS_USID * type_symbols
Definition syms_dwarf_parser.h:547
Definition syms_dwarf_parser.h:457
Definition syms_dwarf_parser.h:466
SYMS_DwPubStringsBucket ** buckets
Definition syms_dwarf_parser.h:468
SYMS_U64 size
Definition syms_dwarf_parser.h:467
Definition syms_dwarf_parser.h:80
SYMS_U64Range range
Definition syms_dwarf_parser.h:81
Definition syms_dwarf_expr.h:159
SYMS_DwSimpleLocKind kind
Definition syms_dwarf_expr.h:160
SYMS_U64 addr
Definition syms_dwarf_expr.h:162
Definition syms_dwarf_parser.h:40
Definition syms_dwarf_parser.h:32
Definition syms_dwarf_parser.h:476
SYMS_SymbolID dst
Definition syms_dwarf_parser.h:478
SYMS_SymbolID src
Definition syms_dwarf_parser.h:479
Definition syms_dwarf_parser.h:484
SYMS_DwTagRefNode ** v
Definition syms_dwarf_parser.h:486
SYMS_U64 size
Definition syms_dwarf_parser.h:485
Definition syms_dwarf_parser.h:301
SYMS_U64Range abbrev_range
Definition syms_dwarf_parser.h:307
SYMS_DwTagKind kind
Definition syms_dwarf_parser.h:310
SYMS_U64 abbrev_id
Definition syms_dwarf_parser.h:309
SYMS_U64 attribs_info_off
Definition syms_dwarf_parser.h:311
SYMS_U64Range info_range
Definition syms_dwarf_parser.h:306
SYMS_B32 has_children
Definition syms_dwarf_parser.h:308
SYMS_U64 attribs_abbrev_off
Definition syms_dwarf_parser.h:312
SYMS_DwAttribList attribs
Definition syms_dwarf_parser.h:313
Definition syms_dwarf_parser.h:505
SYMS_DwAttribValueResolveParams resolve_params
Definition syms_dwarf_parser.h:535
SYMS_U64 stub_table_size
Definition syms_dwarf_parser.h:518
SYMS_DwAbbrevTable abbrev_table
Definition syms_dwarf_parser.h:515
SYMS_DwTagRefTable parent_table
Definition syms_dwarf_parser.h:523
SYMS_SymbolIDArray all_top_ids
Definition syms_dwarf_parser.h:529
SYMS_SymbolIDArray var_ids
Definition syms_dwarf_parser.h:531
SYMS_DwTagRefTable ref_table
Definition syms_dwarf_parser.h:522
SYMS_DwTagStubCacheNode ** stub_table
Definition syms_dwarf_parser.h:519
SYMS_DwVersion version
Definition syms_dwarf_parser.h:510
SYMS_DwLanguage language
Definition syms_dwarf_parser.h:514
SYMS_U64 addrs_base
Definition syms_dwarf_parser.h:513
SYMS_FileFormat format
Definition syms_dwarf_parser.h:506
SYMS_U64 base_addr
Definition syms_dwarf_parser.h:512
SYMS_SymbolIDArray type_ids
Definition syms_dwarf_parser.h:532
SYMS_U64 address_size
Definition syms_dwarf_parser.h:511
SYMS_SymbolIDArray proc_ids
Definition syms_dwarf_parser.h:530
SYMS_DwTagStubCacheNode * stub_root
Definition syms_dwarf_parser.h:526
SYMS_UnitID uid
Definition syms_dwarf_parser.h:509
Definition syms_dwarf_parser.h:86
SYMS_U64RangeArray addr_ranges
Definition syms_dwarf_parser.h:89
SYMS_UnitID uid
Definition syms_dwarf_parser.h:87
SYMS_U64Range frange
Definition syms_dwarf_parser.h:88
Definition syms_dwarf_parser.h:24
Definition syms_dwarf_parser.h:290
Definition syms_elf_parser.h:68
SYMS_ElfImgHeader header
Definition syms_elf_parser.h:70
Definition syms_debug_info.h:346
Definition syms_debug_info.h:341
SYMS_String8 name
Definition syms_debug_info.h:342
SYMS_U64 val
Definition syms_debug_info.h:343
Definition syms_debug_info.h:119
Definition syms_debug_info.h:114
SYMS_ExtFile ext_file
Definition syms_debug_info.h:116
SYMS_String8 file_name
Definition syms_debug_info.h:110
SYMS_ExtMatchKey match_key
Definition syms_debug_info.h:111
Definition syms_debug_info.h:105
SYMS_U8 v[16]
Definition syms_debug_info.h:106
Definition syms_debug_info.h:164
SYMS_LineTable line_table
Definition syms_debug_info.h:165
SYMS_U64 line_count
Definition syms_debug_info.h:161
SYMS_Line * line_array
Definition syms_debug_info.h:160
SYMS_U64 * sequence_index_array
Definition syms_debug_info.h:157
SYMS_U64 sequence_count
Definition syms_debug_info.h:158
Definition syms_debug_info.h:136
SYMS_U64 voff
Definition syms_debug_info.h:138
SYMS_SrcCoord src_coord
Definition syms_debug_info.h:137
Definition syms_debug_info.h:361
SYMS_LocRange * loc_ranges
Definition syms_debug_info.h:362
SYMS_U64 count
Definition syms_debug_info.h:363
Definition syms_debug_info.h:371
Definition syms_debug_info.h:366
SYMS_LocRange loc_range
Definition syms_debug_info.h:368
Definition syms_debug_info.h:356
SYMS_LocID loc_id
Definition syms_debug_info.h:358
SYMS_U64Range vrange
Definition syms_debug_info.h:357
Definition syms_eval.h:62
Definition syms_mach_parser.h:40
SYMS_Arch arch
Definition syms_mach_parser.h:43
Definition syms_debug_info.h:325
Definition syms_debug_info.h:21
SYMS_U64 count
Definition syms_debug_info.h:23
SYMS_SecInfo * sec_info
Definition syms_debug_info.h:22
Definition syms_debug_info.h:15
SYMS_U64Range vrange
Definition syms_debug_info.h:17
SYMS_String8 name
Definition syms_debug_info.h:16
SYMS_U64Range frange
Definition syms_debug_info.h:18
Definition syms_debug_info.h:255
Definition syms_debug_info.h:334
SYMS_SymbolIDArray param_type_ids
Definition syms_debug_info.h:336
SYMS_SymbolID this_type_id
Definition syms_debug_info.h:338
SYMS_SymbolID return_type_id
Definition syms_debug_info.h:337
SYMS_UnitID uid
Definition syms_debug_info.h:335
SYMS_FileID file_id
Definition syms_debug_info.h:131
SYMS_U32 line
Definition syms_debug_info.h:132
SYMS_U32 col
Definition syms_debug_info.h:133
Definition syms_base.h:313
SYMS_String8 * strings
Definition syms_base.h:314
SYMS_U64 count
Definition syms_base.h:315
Definition syms_base.h:306
Definition syms_base.h:301
SYMS_String8 string
Definition syms_base.h:303
struct SYMS_String8Node * next
Definition syms_base.h:302
Definition syms_base.h:296
SYMS_U8 * str
Definition syms_base.h:297
SYMS_U64 size
Definition syms_base.h:298
Definition syms_base.h:325
SYMS_String8 pre
Definition syms_base.h:326
Definition syms_debug_info.h:228
SYMS_SymbolID * ids
Definition syms_debug_info.h:229
SYMS_U64 count
Definition syms_debug_info.h:230
Definition syms_debug_info.h:222
Definition syms_debug_info.h:217
SYMS_SymbolID id
Definition syms_debug_info.h:219
Definition syms_debug_info.h:264
SYMS_U64 reported_size
Definition syms_debug_info.h:275
SYMS_USID direct_type
Definition syms_debug_info.h:290
SYMS_SizeInterpretation reported_size_interp
Definition syms_debug_info.h:274
SYMS_TypeKind kind
Definition syms_debug_info.h:265
SYMS_USID containing_type
Definition syms_debug_info.h:296
SYMS_TypeModifiers mods
Definition syms_debug_info.h:271
SYMS_CallConvention call_convention
Definition syms_debug_info.h:294
SYMS_SrcCoord src_coord
Definition syms_debug_info.h:278
Definition syms_base.h:280
SYMS_U64Range * ranges
Definition syms_base.h:281
SYMS_U64 count
Definition syms_base.h:282
Definition syms_base.h:274
SYMS_U64 node_count
Definition syms_base.h:277
Definition syms_base.h:269
Definition syms_base.h:264
SYMS_U64 max
Definition syms_base.h:266
SYMS_U64 min
Definition syms_base.h:265
Definition syms_debug_info.h:244
Definition syms_debug_info.h:239
SYMS_USID usid
Definition syms_debug_info.h:241
Definition syms_debug_info.h:234
SYMS_UnitID uid
Definition syms_debug_info.h:235
SYMS_SymbolID sid
Definition syms_debug_info.h:236
Definition syms_debug_info.h:259
Definition syms_debug_info.h:79
SYMS_Language language
Definition syms_debug_info.h:81
SYMS_UnitFeatures features
Definition syms_debug_info.h:80
Definition syms_debug_info.h:84
SYMS_String8 source_file
Definition syms_debug_info.h:85
SYMS_String8 compile_dir
Definition syms_debug_info.h:89
SYMS_String8 compiler
Definition syms_debug_info.h:88
Definition syms_debug_info.h:97
SYMS_U64 count
Definition syms_debug_info.h:99
SYMS_UnitRange * ranges
Definition syms_debug_info.h:98
Definition syms_debug_info.h:92
SYMS_U64Range vrange
Definition syms_debug_info.h:93
SYMS_UnitID uid
Definition syms_debug_info.h:94
SYMS_API SYMS_U64 syms_u64_range_size(SYMS_U64Range range)
Definition syms_base.c:31
SYMS_API SYMS_U64 syms_based_range_read(void *base, SYMS_U64Range range, SYMS_U64 offset, SYMS_U64 out_size, void *out)
Definition syms_base.c:753
SYMS_API SYMS_String8 syms_string_list_join(SYMS_Arena *arena, SYMS_String8List *list, SYMS_StringJoin *join_ptr)
Definition syms_base.c:315
SYMS_API void syms_u64_range_list_concat(SYMS_U64RangeList *list, SYMS_U64RangeList *to_push)
Definition syms_base.c:570
SYMS_API SYMS_ArenaTemp syms_get_scratch(SYMS_Arena **conflicts, SYMS_U64 conflict_count)
Definition syms_base.c:694
SYMS_API SYMS_B32 syms_string_match(SYMS_String8 a, SYMS_String8 b, SYMS_StringMatchFlags flags)
Definition syms_base.c:210
SYMS_API void * syms_based_range_ptr(void *base, SYMS_U64Range range, SYMS_U64 offset)
Definition syms_base.c:744
SYMS_API SYMS_String8 syms_string_trunc_symbol_heuristic(SYMS_String8 string)
Definition syms_base.c:361
SYMS_API void syms_u64_range_list_push(SYMS_Arena *arena, SYMS_U64RangeList *list, SYMS_U64Range range)
Definition syms_base.c:564
SYMS_API SYMS_U64Range syms_make_u64_range(SYMS_U64 min, SYMS_U64 max)
Definition syms_base.c:18
SYMS_API SYMS_U64RangeArray syms_u64_range_array_from_list(SYMS_Arena *arena, SYMS_U64RangeList *list)
Definition syms_base.c:585
SYMS_API SYMS_U64 syms_based_range_read_sleb128(void *base, SYMS_U64Range range, SYMS_U64 offset, SYMS_S64 *out_value)
Definition syms_base.c:792
SYMS_API SYMS_String8 syms_based_range_read_string(void *base, SYMS_U64Range range, SYMS_U64 offset)
Definition syms_base.c:823
SYMS_API void syms_arena_temp_end(SYMS_ArenaTemp temp)
Definition syms_base.c:689
SYMS_API SYMS_String8 syms_str8(SYMS_U8 *str, SYMS_U64 size)
Definition syms_base.c:169
SYMS_API SYMS_U64 syms_based_range_read_uleb128(void *base, SYMS_U64Range range, SYMS_U64 offset, SYMS_U64 *out_value)
Definition syms_base.c:765
SYMS_API SYMS_String8 syms_push_string_copy(SYMS_Arena *arena, SYMS_String8 string)
Definition syms_base.c:353
SYMS_API void syms_string_list_push(SYMS_Arena *arena, SYMS_String8List *list, SYMS_String8 string)
Definition syms_base.c:282
SYMS_API SYMS_ArenaTemp syms_arena_temp_begin(SYMS_Arena *arena)
Definition syms_base.c:682
float SYMS_F32
Definition syms_base.h:101
#define syms_true
Definition syms_base.h:105
#define syms_str8_comp(s)
Definition syms_base.h:482
#define SYMS_MIN(a, b)
Definition syms_base.h:179
#define SYMS_Swap(T, a, b)
Definition syms_base.h:190
double SYMS_F64
Definition syms_base.h:102
#define SYMS_StackPush(f, n)
Definition syms_base.h:227
#define syms_based_range_read_struct(b, r, o, p)
Definition syms_base.h:593
#define syms_push_array(a, T, c)
Definition syms_base.h:561
#define syms_memzero_struct(s)
Definition syms_base.h:161
#define SYMS_AlignPow2(a, b)
Definition syms_base.h:187
#define SYMS_LOCAL
Definition syms_base.h:43
#define SYMS_StackPush_N(f, n, next)
Definition syms_base.h:224
@ SYMS_StringMatchFlag_RightSideSloppy
Definition syms_base.h:321
#define SYMS_READ_ONLY
Definition syms_base.h:57
#define SYMS_INVALID_CODE_PATH
Definition syms_base.h:142
#define syms_expand_string(s)
Definition syms_base.h:484
#define syms_false
Definition syms_base.h:104
#define SYMS_API
Definition syms_base.h:29
#define SYMS_ARRAY_SIZE(x)
Definition syms_base.h:144
SYMS_S32 SYMS_B32
Definition syms_base.h:99
#define syms_push_array_zero(a, T, c)
Definition syms_base.h:564
#define SYMS_MAX(a, b)
Definition syms_base.h:180
#define syms_string_from_enum_value(enum_type, value)
Definition syms_base.h:461
#define SYMS_ASSERT_PARANOID(x)
Definition syms_base.h:132
#define SYMS_U64_MAX
Definition syms_base.h:176
#define syms_str8_lit(s)
Definition syms_base.h:483
#define SYMS_QueuePush(f, l, n)
Definition syms_base.h:220
#define syms_release_scratch
Definition syms_base.h:567
#define SYMS_GLOBAL
Definition syms_base.h:42
int32_t SYMS_S32
Definition syms_crt_overrides.h:34
uint32_t SYMS_U32
Definition syms_crt_overrides.h:38
#define SYMS_U8
Definition syms_crt_overrides.h:51
#define SYMS_PRIu64
Definition syms_crt_overrides.h:41
#define SYMS_U16
Definition syms_crt_overrides.h:52
uint64_t SYMS_U64
Definition syms_crt_overrides.h:39
#define syms_memmove
Definition syms_crt_overrides.h:65
#define SYMS_U64
Definition syms_crt_overrides.h:54
#define SYMS_U32
Definition syms_crt_overrides.h:53
uint16_t SYMS_U16
Definition syms_crt_overrides.h:37
int64_t SYMS_S64
Definition syms_crt_overrides.h:35
#define SYMS_S32
Definition syms_crt_overrides.h:49
#define SYMS_S64
Definition syms_crt_overrides.h:50
#define SYMS_PRIx64
Definition syms_crt_overrides.h:43
#define syms_memset
Definition syms_crt_overrides.h:66
uint8_t SYMS_U8
Definition syms_crt_overrides.h:36
SYMS_API void syms_push_sid_to_list(SYMS_Arena *arena, SYMS_SymbolIDList *list, SYMS_SymbolID id)
Definition syms_debug_info.c:28
SYMS_API SYMS_SymbolIDArray syms_sid_array_from_list(SYMS_Arena *arena, SYMS_SymbolIDList *list)
Definition syms_debug_info.c:115
SYMS_U32 SYMS_MemFlags
Definition syms_debug_info.h:318
SYMS_ProcLoc
Definition syms_debug_info.h:377
@ SYMS_ProcLoc_FrameBase
Definition syms_debug_info.h:378
@ SYMS_ProcLoc_ReturnAddress
Definition syms_debug_info.h:379
SYMS_U64 SYMS_UnitID
Definition syms_debug_info.h:77
SYMS_U64 SYMS_FileID
Definition syms_debug_info.h:128
SYMS_SizeInterpretation
Definition syms_debug_info.h:205
@ SYMS_SizeInterpretation_ByteCount
Definition syms_debug_info.h:207
@ SYMS_SizeInterpretation_Multiplier
Definition syms_debug_info.h:208
SYMS_U64 SYMS_SymbolID
Definition syms_debug_info.h:215
SYMS_U64 SYMS_LocID
Definition syms_debug_info.h:354
@ SYMS_MemFlag_Destructor
Definition syms_debug_info.h:322
@ SYMS_MemFlag_Constructor
Definition syms_debug_info.h:321
@ SYMS_MemFlag_Virtual
Definition syms_debug_info.h:320
SYMS_MemKind
Definition syms_debug_info.h:306
@ SYMS_MemKind_StaticMethod
Definition syms_debug_info.h:311
@ SYMS_MemKind_Null
Definition syms_debug_info.h:307
@ SYMS_MemKind_VBaseClassPtr
Definition syms_debug_info.h:314
@ SYMS_MemKind_StaticData
Definition syms_debug_info.h:309
@ SYMS_MemKind_NestedType
Definition syms_debug_info.h:315
@ SYMS_MemKind_Method
Definition syms_debug_info.h:310
@ SYMS_MemKind_DataField
Definition syms_debug_info.h:308
@ SYMS_MemKind_BaseClass
Definition syms_debug_info.h:313
SYMS_READ_ONLY SYMS_GLOBAL SYMS_FileFormat syms_format_nil
Definition syms_debug_info.h:398
#define SYMS_Arena
Definition syms_default_arena.h:61
#define SYMS_LogClose(block)
Definition syms_dev.h:142
#define SYMS_LogOpen(ftr, uid, block)
Definition syms_dev.h:141
#define SYMS_ProfEnd()
Definition syms_dev.h:212
#define SYMS_ProfBegin(str)
Definition syms_dev.h:209
@ SYMS_LogFeature_DwarfTags
Definition syms_dev.h:22
@ SYMS_LogFeature_LineTable
Definition syms_dev.h:20
@ SYMS_LogFeature_DwarfUnitRanges
Definition syms_dev.h:21
#define SYMS_Log(fmt,...)
Definition syms_dev.h:143
SYMS_API SYMS_B32 syms_dw_are_attrib_class_and_form_kind_compatible(SYMS_DwAttribClass attrib_class, SYMS_DwFormKind form_kind)
Definition syms_dwarf.c:126
SYMS_API SYMS_String8 syms_dw_name_string_from_section_kind(SYMS_DwSectionKind kind)
Definition syms_dwarf.c:17
SYMS_API SYMS_DwAttribClass syms_dw_attrib_class_from_form_kind_v2(SYMS_DwFormKind form)
Definition syms_dwarf.c:473
SYMS_API SYMS_TypeKind syms_dw_type_kind_from_tag_encoding_size(SYMS_DwTagKind tag_kind, SYMS_DwAttribTypeEncoding encoding, SYMS_U64 size)
Definition syms_dwarf.c:229
SYMS_API SYMS_DwAttribClass syms_dw_attrib_class_from_attrib_kind_v2(SYMS_DwAttribKind attrib)
Definition syms_dwarf.c:404
SYMS_API SYMS_U64 syms_dw_offset_size_from_mode(SYMS_DwMode mode)
Definition syms_dwarf.c:113
SYMS_API SYMS_TypeModifiers syms_dw_type_modifiers_from_tag_kind(SYMS_DwTagKind tag_kind)
Definition syms_dwarf.c:319
SYMS_API SYMS_String8 syms_dw_mach_name_string_from_section_kind(SYMS_DwSectionKind kind)
Definition syms_dwarf.c:49
SYMS_API SYMS_String8 syms_dw_dwo_name_string_from_section_kind(SYMS_DwSectionKind kind)
Definition syms_dwarf.c:81
SYMS_DwLNCT
Definition syms_dwarf.h:30
@ SYMS_DwLNCT_USER_LO
Definition syms_dwarf.h:36
@ SYMS_DwLNCT_MD5
Definition syms_dwarf.h:35
@ SYMS_DwLNCT_PATH
Definition syms_dwarf.h:31
@ SYMS_DwLNCT_DIRECTORY_INDEX
Definition syms_dwarf.h:32
@ SYMS_DwLNCT_USER_HI
Definition syms_dwarf.h:37
@ SYMS_DwLNCT_SIZE
Definition syms_dwarf.h:34
@ SYMS_DwLNCT_TIMESTAMP
Definition syms_dwarf.h:33
SYMS_DwCompUnitKind
Definition syms_dwarf.h:16
@ SYMS_DwCompUnitKind_RESERVED
Definition syms_dwarf.h:17
@ SYMS_DwCompUnitKind_SKELETON
Definition syms_dwarf.h:21
SYMS_API SYMS_DwSimpleLoc syms_dw_expr__analyze_fast(void *base, SYMS_U64Range range, SYMS_U64 text_section_base)
Definition syms_dwarf_expr.c:17
@ SYMS_DwSimpleLocKind_Address
Definition syms_dwarf_expr.h:128
SYMS_API SYMS_String8Array syms_dw_file_table_from_uid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_dwarf_parser.c:2993
SYMS_API SYMS_U64 syms_dw_unit_number_from_uid(SYMS_DwUnitSetAccel *accel, SYMS_UnitID uid)
Definition syms_dwarf_parser.c:2710
SYMS_API SYMS_ExtFileList syms_dw_ext_file_list_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:1038
SYMS_API SYMS_U64 syms_dw_abbrev_offset_from_abbrev_id(SYMS_DwAbbrevTable table, SYMS_U64 abbrev_id)
Definition syms_dwarf_parser.c:1236
SYMS_API SYMS_LocRangeArray syms_dw_location_ranges_from_proc_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid, SYMS_ProcLoc proc_loc)
Definition syms_dwarf_parser.c:4826
SYMS_API SYMS_DwUnitAccel * syms_dw_unit_accel_from_uid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_dwarf_parser.c:3642
SYMS_API SYMS_ExtMatchKey syms_dw_ext_match_key_from_dbg(SYMS_String8 data, SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:1072
SYMS_API SYMS_SecInfoArray syms_dw_copy_sec_info_array(SYMS_Arena *arena, SYMS_SecInfoArray array)
Definition syms_dwarf_parser.c:310
SYMS_API SYMS_MemInfo syms_dw_mem_info_from_number(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_DwMemsAccel *mems, SYMS_U64 n)
Definition syms_dwarf_parser.c:4079
SYMS_API SYMS_DwAttribListParseResult syms_dw_parse_attrib_list_from_info_abbrev_offsets(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwLanguage lang, SYMS_DwVersion ver, SYMS_U64 address_size, SYMS_U64 info_off, SYMS_U64 abbrev_off)
Definition syms_dwarf_parser.c:2129
SYMS_API SYMS_FileID syms_dw_file_id_from_index(SYMS_U64 idx)
Definition syms_dwarf_parser.c:4843
SYMS_API SYMS_DwAbbrevTable syms_dw_make_abbrev_table(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_U64 abbrev_offset)
Definition syms_dwarf_parser.c:1159
SYMS_API SYMS_DwLineTableParseResult syms_dw_parsed_line_table_from_comp_root(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwCompRoot *root)
Definition syms_dwarf_parser.c:5130
SYMS_API SYMS_U64 syms_dw_voff_from_var_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4591
SYMS_API SYMS_String8 syms_dw_attrib_string_from_sid__unstable_chain(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_DwAttribKind kind, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4266
SYMS_API SYMS_DwMemsAccel * syms_dw_mems_accel_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:3800
SYMS_API SYMS_U64RangeList syms_dw_v4_range_list_from_range_offset(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_U64 addr_size, SYMS_U64 comp_unit_base_addr, SYMS_U64 range_off)
Definition syms_dwarf_parser.c:1270
SYMS_API SYMS_U64 syms_dw_unit_count_from_set(SYMS_DwUnitSetAccel *accel)
Definition syms_dwarf_parser.c:2687
SYMS_API SYMS_String8 syms_dw_path_from_dir_and_filename(SYMS_Arena *arena, SYMS_String8 dir, SYMS_String8 filename)
Definition syms_dwarf_parser.c:325
SYMS_API void syms_dw_tag_ref_table_insert(SYMS_Arena *arena, SYMS_DwTagRefTable *table, SYMS_SymbolID src, SYMS_SymbolID dst)
Definition syms_dwarf_parser.c:3031
SYMS_API SYMS_USIDList syms_dw_v4_usid_list_from_pub_table_string(SYMS_Arena *arena, SYMS_DwPubStringsTable tbl, SYMS_String8 string)
Definition syms_dwarf_parser.c:1470
SYMS_API SYMS_LocRangeList syms_dw_v5_location_ranges_from_loclist_offset(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwSectionKind section, SYMS_U64 addr_size, SYMS_U64 addr_section_base, SYMS_U64 offset)
Definition syms_dwarf_parser.c:1743
SYMS_API SYMS_Location syms_dw_v4_location_from_loc_id(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_LocID id)
Definition syms_dwarf_parser.c:1366
SYMS_API SYMS_String8 syms_dw_attrib_string_from_sid__unstable(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_DwAttribKind kind, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4235
SYMS_API SYMS_LocRangeArray syms_dw_location_ranges_from_var_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4811
SYMS_API SYMS_Location syms_dw_location_from_id(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_LocID loc_id)
Definition syms_dwarf_parser.c:4778
SYMS_API SYMS_DwPubStringsTable syms_dw_v4_pub_strings_table_from_section_kind(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwSectionKind section_kind)
Definition syms_dwarf_parser.c:1388
SYMS_API SYMS_LineParseOut syms_dw_line_parse_from_uid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_dwarf_parser.c:5380
SYMS_API SYMS_DwDbgAccel * syms_dw_dbg_accel_from_mach_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachBinAccel *bin)
Definition syms_dwarf_parser.c:1028
SYMS_API void syms_dw_line_vm_reset(SYMS_DwLineVMState *state, SYMS_B32 default_is_stmt)
Definition syms_dwarf_parser.c:5068
SYMS_API SYMS_DwExtDebugRef syms_dw_ext_debug_ref_from_comp_root(SYMS_DwCompRoot *root)
Definition syms_dwarf_parser.c:2662
SYMS_API SYMS_U64RangeList syms_dw_v5_range_list_from_rnglist_offset(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwSectionKind section, SYMS_U64 addr_size, SYMS_U64 addr_section_base, SYMS_U64 offset)
Definition syms_dwarf_parser.c:1645
SYMS_API SYMS_U64RangeList syms_dw_range_list_from_high_low_pc_and_ranges_attrib_value(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_U64 address_size, SYMS_U64 comp_unit_base_addr, SYMS_U64 addr_section_base, SYMS_U64 low_pc, SYMS_U64 high_pc, SYMS_DwAttribValue ranges_value)
Definition syms_dwarf_parser.c:2099
SYMS_API SYMS_DwTagStub syms_dw_stub_from_tag(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwAttribValueResolveParams resolve_params, SYMS_DwTag *tag)
Definition syms_dwarf_parser.c:2276
SYMS_API SYMS_SigInfo syms_dw_sig_info_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID id)
Definition syms_dwarf_parser.c:4945
SYMS_API SYMS_DwMode syms_dw_mode_from_sec(SYMS_DwSection *section_map, SYMS_DwSectionKind kind)
Definition syms_dwarf_parser.c:1121
SYMS_READ_ONLY SYMS_GLOBAL SYMS_DwCompRoot syms_dw_nil_comp_root
Definition syms_dwarf_parser.c:66
SYMS_API SYMS_B32 syms_dw_mach_bin_accel_is_dbg(SYMS_MachBinAccel *bin_accel)
Definition syms_dwarf_parser.c:753
SYMS_API SYMS_DwAttribKind syms_dw_attrib_kind_from_proc_loc(SYMS_ProcLoc proc_loc)
Definition syms_dwarf_parser.c:4793
SYMS_API SYMS_SymbolIDArray syms_dw_copy_sid_array_if_needed(SYMS_Arena *arena, SYMS_SymbolIDArray arr)
Definition syms_dwarf_parser.c:3769
SYMS_API SYMS_U64 syms_dw_mem_count_from_mems(SYMS_DwMemsAccel *mems)
Definition syms_dwarf_parser.c:4073
SYMS_API SYMS_UnitID syms_dw_uid_from_accel(SYMS_DwUnitAccel *unit)
Definition syms_dwarf_parser.c:3652
SYMS_API void syms_dw_sort_unit_range_point_array_in_place__merge(SYMS_DwUnitRangePoint *a, SYMS_U64 left, SYMS_U64 right, SYMS_U64 end, SYMS_DwUnitRangePoint *b)
Definition syms_dwarf_parser.c:2740
SYMS_API SYMS_Location syms_dw_location_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid, SYMS_DwAttribKind loc_attrib)
Definition syms_dwarf_parser.c:4682
SYMS_API SYMS_U64 syms_dw_hash_from_string(SYMS_String8 string)
Definition syms_dwarf_parser.c:72
SYMS_API SYMS_SymbolKind syms_dw_symbol_kind_from_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4295
SYMS_API SYMS_DwDbgAccel * syms_dw_dbg_accel_from_elf_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_ElfBinAccel *bin)
Definition syms_dwarf_parser.c:1018
SYMS_API void * syms_dw_sec_base_from_dbg(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwSectionKind kind)
Definition syms_dwarf_parser.c:1144
SYMS_API SYMS_U64 syms_dw_v5_header_offset_from_table_offset(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwSectionKind section, SYMS_U64 table_off)
Definition syms_dwarf_parser.c:2314
SYMS_API void syms_dw_symbol_id_chunk_list_push(SYMS_Arena *arena, SYMS_DwSymbolIDChunkList *list, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:394
SYMS_API SYMS_DwLineSeqNode * syms_dw_push_line_seq(SYMS_Arena *arena, SYMS_DwLineTableParseResult *parsed_tbl)
Definition syms_dwarf_parser.c:5091
SYMS_API SYMS_SymbolIDList syms_dw_children_from_sid_with_kinds(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid, SYMS_DwTagKind *kinds, SYMS_U64 count)
Definition syms_dwarf_parser.c:4649
SYMS_API SYMS_UnitID syms_dw_uid_from_foff(SYMS_DwDbgAccel *dbg, SYMS_U64 foff)
Definition syms_dwarf_parser.c:1104
SYMS_API SYMS_U64 syms_dw_based_range_read_length(void *base, SYMS_U64Range range, SYMS_U64 offset, SYMS_U64 *out_value)
Definition syms_dwarf_parser.c:427
SYMS_API SYMS_U64 syms_dw_based_range_read_abbrev_tag(void *base, SYMS_U64Range range, SYMS_U64 offset, SYMS_DwAbbrev *out_abbrev)
Definition syms_dwarf_parser.c:455
SYMS_API SYMS_EnumMemberArray syms_dw_enum_member_array_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4134
SYMS_API SYMS_UnitRangeArray syms_dw_unit_ranges_from_set(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitSetAccel *unit_set)
Definition syms_dwarf_parser.c:2782
SYMS_API SYMS_SymbolKind syms_dw_symbol_kind_from_tag_stub(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwAttribValueResolveParams resolve_params, SYMS_DwTagStub *stub)
Definition syms_dwarf_parser.c:198
SYMS_API SYMS_DwUnitAccel * syms_dw_unit_accel_from_comp_root(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwCompRoot *comp_root)
Definition syms_dwarf_parser.c:3120
SYMS_API SYMS_SymbolIDArray syms_dw_var_sid_array_from_unit(SYMS_Arena *arena, SYMS_DwUnitAccel *unit)
Definition syms_dwarf_parser.c:3785
SYMS_API SYMS_U64 syms_dw_v5_sec_offset_from_rnglist_or_loclist_section_base_index(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwSectionKind section_kind, SYMS_U64 base, SYMS_U64 index)
Definition syms_dwarf_parser.c:1585
SYMS_API SYMS_SecInfoArray syms_dw_sec_info_array_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:1065
SYMS_API SYMS_U64 syms_dw_primify_table_size(SYMS_U64 v)
Definition syms_dwarf_parser.c:3062
SYMS_API SYMS_U64RangeArray syms_dw_scope_vranges_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4882
SYMS_API SYMS_DwTag * syms_dw_tag_from_info_offset(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwAbbrevTable abbrev_table, SYMS_DwLanguage lang, SYMS_DwVersion ver, SYMS_U64 address_size, SYMS_U64 info_offset)
Definition syms_dwarf_parser.c:2202
SYMS_API void syms_dw_line_vm_advance(SYMS_DwLineVMState *state, SYMS_U64 advance, SYMS_U64 min_inst_len, SYMS_U64 max_ops_for_inst)
Definition syms_dwarf_parser.c:5083
SYMS_API SYMS_DwMapAccel * syms_dw_type_map_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:5723
SYMS_API SYMS_U64 syms_dw_v5_offset_from_offs_section_base_index(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwSectionKind section, SYMS_U64 base, SYMS_U64 index)
Definition syms_dwarf_parser.c:1492
SYMS_API SYMS_DwUnitSetAccel * syms_dw_unit_set_accel_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:2672
SYMS_API SYMS_SymbolIDArray syms_dw_scope_children_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID id)
Definition syms_dwarf_parser.c:5044
SYMS_API SYMS_Location syms_dw_location_from_proc_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid, SYMS_ProcLoc proc_loc)
Definition syms_dwarf_parser.c:4818
SYMS_API SYMS_USID syms_dw_symbol_from_mem_number(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_DwMemsAccel *mems, SYMS_U64 n)
Definition syms_dwarf_parser.c:4120
SYMS_API SYMS_DwDbgAccel * syms_dw_dbg_accel_from_sec_info_array(SYMS_Arena *arena, SYMS_String8 data, SYMS_U64 vbase, SYMS_Arch arch, SYMS_SecInfoArray sections)
Definition syms_dwarf_parser.c:772
SYMS_API SYMS_U64 syms_dw_read_line_file(void *line_base, SYMS_U64Range line_rng, SYMS_U64 line_off, SYMS_DwMode mode, SYMS_DwDbgAccel *dbg, SYMS_String8 data, SYMS_DwCompRoot *unit, SYMS_U8 address_size, SYMS_U64 format_count, SYMS_U64Range *formats, SYMS_DwLineFile *line_file_out)
Definition syms_dwarf_parser.c:5429
SYMS_API SYMS_SigInfo syms_dw_sig_info_from_mem_number(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_DwMemsAccel *mems, SYMS_U64 n)
Definition syms_dwarf_parser.c:4106
SYMS_API void syms_dw_sort_unit_range_point_array_in_place(SYMS_DwUnitRangePoint *a, SYMS_U64 count)
Definition syms_dwarf_parser.c:2760
SYMS_API SYMS_LocRangeList syms_dw_v4_location_ranges_from_loc_offset(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_U64 addr_size, SYMS_U64 comp_unit_base_addr, SYMS_U64 offset)
Definition syms_dwarf_parser.c:1314
SYMS_API SYMS_DwCompRoot * syms_dw_comp_root_from_uid(SYMS_DwUnitSetAccel *accel, SYMS_UnitID uid)
Definition syms_dwarf_parser.c:2693
SYMS_API SYMS_UnitNames syms_dw_unit_names_from_uid(SYMS_Arena *arena, SYMS_DwUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_dwarf_parser.c:2729
SYMS_API SYMS_LocRangeArray syms_dw_location_ranges_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid, SYMS_DwAttribKind loc_attrib)
Definition syms_dwarf_parser.c:4717
SYMS_API SYMS_U64 syms_dw_hash_from_sid(SYMS_SymbolID id)
Definition syms_dwarf_parser.c:84
SYMS_API SYMS_USID syms_dw_type_from_var_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID id)
Definition syms_dwarf_parser.c:4560
SYMS_API SYMS_U64Range syms_dw_sec_range_from_dbg(SYMS_DwDbgAccel *dbg, SYMS_DwSectionKind kind)
Definition syms_dwarf_parser.c:1150
SYMS_API SYMS_U64 syms_dw_predict_good_stub_table_size_from_range_size(SYMS_U64 size)
Definition syms_dwarf_parser.c:3100
SYMS_API SYMS_DwTagStubCacheNode * syms_dw_tag_stub_cache_node_from_sid(SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:3659
SYMS_API SYMS_DwAttribList syms_dw_attrib_list_from_stub(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwLanguage lang, SYMS_DwVersion ver, SYMS_U64 addr_size, SYMS_DwTagStub *stub)
Definition syms_dwarf_parser.c:3762
SYMS_API SYMS_DwTagRefTable syms_dw_tag_ref_table_make(SYMS_Arena *arena, SYMS_U64 size)
Definition syms_dwarf_parser.c:3022
SYMS_API SYMS_Location syms_dw_v5_location_from_loclist_id(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwSectionKind section, SYMS_LocID id)
Definition syms_dwarf_parser.c:1870
SYMS_API SYMS_String8 syms_dw_symbol_name_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4304
SYMS_API SYMS_DwTagStub syms_dw_tag_stub_from_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:3676
SYMS_API SYMS_USID syms_dw_containing_type_from_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4210
SYMS_API SYMS_DwMapAccel * syms_dw_image_symbol_map_from_dbg(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:5737
SYMS_API SYMS_UnitInfo syms_dw_unit_info_from_uid(SYMS_DwUnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_dwarf_parser.c:2715
SYMS_API SYMS_Location syms_dw_location_from_var_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4805
SYMS_API SYMS_U64 syms_dw_based_range_read_abbrev_attrib_info(void *base, SYMS_U64Range range, SYMS_U64 offset, SYMS_DwAbbrev *out_abbrev)
Definition syms_dwarf_parser.c:506
SYMS_API SYMS_U64 syms_dw_based_range_read_attrib_form_value(void *base, SYMS_U64Range range, SYMS_U64 offset, SYMS_DwMode mode, SYMS_U64 address_size, SYMS_DwFormKind form_kind, SYMS_U64 implicit_const, SYMS_DwAttribValue *form_value_out)
Definition syms_dwarf_parser.c:558
SYMS_API SYMS_SymbolIDArray syms_dw_sid_array_from_chunk_list(SYMS_Arena *arena, SYMS_DwSymbolIDChunkList list)
Definition syms_dwarf_parser.c:409
SYMS_API SYMS_DwLineNode * syms_dw_push_line(SYMS_Arena *arena, SYMS_DwLineTableParseResult *tbl, SYMS_DwLineVMState *vm_state, SYMS_B32 start_of_sequence)
Definition syms_dwarf_parser.c:5101
SYMS_API SYMS_DwAttribValue syms_dw_attrib_value_from_form_value(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwAttribValueResolveParams resolve_params, SYMS_DwFormKind form_kind, SYMS_DwAttribClass value_class, SYMS_DwAttribValue form_value)
Definition syms_dwarf_parser.c:1909
SYMS_API SYMS_ConstInfo syms_dw_const_info_from_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID id)
Definition syms_dwarf_parser.c:4509
SYMS_API SYMS_DwAttribClass syms_dw_pick_attrib_value_class(SYMS_DwLanguage lang, SYMS_DwVersion ver, SYMS_DwAttribKind attrib, SYMS_DwFormKind form_kind)
Definition syms_dwarf_parser.c:144
SYMS_API SYMS_SymbolID syms_dw_tag_ref_table_lookup_src(SYMS_DwTagRefTable table, SYMS_SymbolID dst)
Definition syms_dwarf_parser.c:3042
SYMS_API SYMS_SigInfo syms_dw_sig_info_from_handle(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SigHandle handle)
Definition syms_dwarf_parser.c:5038
SYMS_API SYMS_SymbolID syms_dw_sid_from_info_offset(SYMS_U64 info_offset)
Definition syms_dwarf_parser.c:138
SYMS_API SYMS_USID syms_dw_type_from_mem_number(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_DwMemsAccel *mems, SYMS_U64 n)
Definition syms_dwarf_parser.c:4092
SYMS_API SYMS_B32 syms_dw_sec_is_present(SYMS_DwDbgAccel *dbg, SYMS_DwSectionKind kind)
Definition syms_dwarf_parser.c:1136
SYMS_API SYMS_String8 syms_dw_file_name_from_id(SYMS_Arena *arena, SYMS_DwUnitSetAccel *unit_set, SYMS_UnitID uid, SYMS_FileID file_id)
Definition syms_dwarf_parser.c:4849
SYMS_API SYMS_SymbolIDArray syms_dw_proc_sid_array_from_unit(SYMS_Arena *arena, SYMS_DwUnitAccel *unit)
Definition syms_dwarf_parser.c:3779
SYMS_API SYMS_DwTagStub syms_dw_cached_tag_stub_from_sid__parse_fallback(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:3692
SYMS_API SYMS_DwCompRoot syms_dw_comp_root_from_range(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_U64 index, SYMS_U64Range range)
Definition syms_dwarf_parser.c:2406
SYMS_API SYMS_U64 syms_dw_read_line_vm_header(SYMS_Arena *arena, void *line_base, SYMS_U64Range line_rng, SYMS_U64 line_off, SYMS_String8 data, SYMS_DwMode mode, SYMS_DwDbgAccel *dbg, SYMS_DwCompRoot *unit, SYMS_DwLineVMHeader *header_out)
Definition syms_dwarf_parser.c:5499
SYMS_API SYMS_DwAttribValueResolveParams syms_dw_attrib_value_resolve_params_from_comp_root(SYMS_DwCompRoot *root)
Definition syms_dwarf_parser.c:1893
SYMS_API SYMS_SymbolIDArray syms_dw_type_sid_array_from_unit(SYMS_Arena *arena, SYMS_DwUnitAccel *unit)
Definition syms_dwarf_parser.c:3791
SYMS_API SYMS_U64 syms_dw_v5_addr_from_addrs_section_base_index(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwSectionKind section, SYMS_U64 base, SYMS_U64 index)
Definition syms_dwarf_parser.c:1540
SYMS_API SYMS_String8 syms_dw_linkage_name_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4224
SYMS_API SYMS_TypeInfo syms_dw_type_info_from_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:4312
SYMS_API SYMS_U64 syms_dw_default_vbase_from_dbg(SYMS_DwDbgAccel *dbg)
Definition syms_dwarf_parser.c:1096
SYMS_API SYMS_B32 syms_dw_elf_bin_accel_is_dbg(SYMS_ElfBinAccel *bin_accel)
Definition syms_dwarf_parser.c:717
SYMS_API SYMS_String8 syms_dw_string_from_attrib_value(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwAttribValue value)
Definition syms_dwarf_parser.c:2086
SYMS_API SYMS_UnitID syms_dw_uid_from_number(SYMS_DwUnitSetAccel *accel, SYMS_U64 n)
Definition syms_dwarf_parser.c:2704
SYMS_API SYMS_USIDList syms_dw_usid_list_from_string(SYMS_Arena *arena, SYMS_DwMapAccel *map, SYMS_String8 string)
Definition syms_dwarf_parser.c:5751
SYMS_API SYMS_UnitIDAndSig syms_dw_proc_sig_handle_from_sid(SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_dwarf_parser.c:5031
SYMS_API SYMS_DwTagStubList syms_dw_children_from_tag_stub(SYMS_Arena *arena, SYMS_String8 data, SYMS_DwDbgAccel *dbg, SYMS_DwUnitAccel *unit, SYMS_DwTagStub stub)
Definition syms_dwarf_parser.c:3711
SYMS_API SYMS_U64 syms_dw_file_index_from_id(SYMS_FileID id)
Definition syms_dwarf_parser.c:4837
@ SYMS_DwAbbrevKind_Tag
Definition syms_dwarf_parser.h:148
@ SYMS_DwAbbrevKind_Attrib
Definition syms_dwarf_parser.h:149
@ SYMS_DwAbbrevFlag_HasImplicitConst
Definition syms_dwarf_parser.h:158
@ SYMS_DwAbbrevFlag_HasChildren
Definition syms_dwarf_parser.h:159
@ SYMS_DwTagStubFlag_HasSpecification
Definition syms_dwarf_parser.h:322
@ SYMS_DwTagStubFlag_HasObjectPointerArg
Definition syms_dwarf_parser.h:319
@ SYMS_DwTagStubFlag_HasExternal
Definition syms_dwarf_parser.h:321
@ SYMS_DwTagStubFlag_HasLocation
Definition syms_dwarf_parser.h:320
#define SYMS_DWARF_VOID_TYPE_ID
Definition syms_dwarf_parser.h:17
SYMS_U32 SYMS_DwTagStubFlags
Definition syms_dwarf_parser.h:316
SYMS_API SYMS_String8 syms_dw_expr__transpile_to_eval(SYMS_Arena *arena, SYMS_DwDbgAccel *dbg, void *expr_base, SYMS_U64Range expr_range)
Definition syms_dwarf_transpiler.c:733
SYMS_API SYMS_U32 syms_elf_gnu_debuglink_crc32(SYMS_U32 crc, SYMS_String8 data)
Definition syms_elf.c:116
SYMS_API SYMS_U64 syms_elf_default_vbase_from_bin(SYMS_ElfBinAccel *bin)
Definition syms_elf_parser.c:479
SYMS_API SYMS_SecInfoArray syms_elf_sec_info_array_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_ElfBinAccel *bin)
Definition syms_elf_parser.c:466
SYMS_API SYMS_U64 syms_mach_default_vbase_from_bin(SYMS_MachBinAccel *bin)
Definition syms_mach_parser.c:448
SYMS_API SYMS_SecInfoArray syms_mach_sec_info_array_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_MachBinAccel *bin)
Definition syms_mach_parser.c:423