sketch out revised pdb conversion path which just uses the codeview conversion pass

This commit is contained in:
Ryan Fleury committed 2026-06-18 08:24:02 -07:00
1 parent c411895db5
commit d56cd83cac
4 files changed
+416 -2

No files matched your search

+39 -1
View File
@@ -671,6 +671,44 @@ cv2r_convert(Arena *arena, CV2R_ConvertParams *params)
}
lane_sync_u64(&exe_hash, 0);
//////////////////////////////////////////////////////////////
//- rjf: calculate EXE's max voff
//
U64 exe_voff_max = 0;
{
Temp scratch2 = scratch_begin(&scratch.arena, 1);
// rjf: set up
U64 *lane_voff_maxes = 0;
if(lane_idx() == 0)
{
lane_voff_maxes = push_array(scratch2.arena, U64, lane_count());
}
lane_sync_u64(&lane_voff_maxes, 0);
// rjf: compute each lane's max
{
U64 lane_voff_max = 0;
Rng1U64 range = lane_range(sections_count);
for EachInRange(idx, range)
{
lane_voff_max = Max(lane_voff_max, sections[idx].voff + sections[idx].vsize);
}
lane_voff_maxes[lane_idx()] = lane_voff_max;
}
lane_sync();
// rjf: find max from all lanes
U64 exe_voff_max = 0;
for EachIndex(l_idx, lane_count())
{
exe_voff_max = Max(exe_voff_max, lane_voff_maxes[l_idx]);
}
lane_sync();
scratch_end(scratch2);
}
//////////////////////////////////////////////////////////////
//- rjf: determine architecture
//
@@ -5032,7 +5070,7 @@ cv2r_convert(Arena *arena, CV2R_ConvertParams *params)
top_level_info.arch = arch;
top_level_info.exe_name = str8_skip_last_slash(params->exe_name);
top_level_info.exe_hash = exe_hash;
top_level_info.voff_max = params->exe_voff_max;
top_level_info.voff_max = exe_voff_max;
if(!params->deterministic)
{
MemoryCopy(&top_level_info.guid, &params->guid, Min(sizeof top_level_info.guid, sizeof params->guid));
@@ -79,7 +79,6 @@ struct CV2R_ConvertParams
CV2R_CompUnitContribution *comp_unit_contributions;
U64 sections_count;
CV2R_Section *sections;
U64 exe_voff_max;
CV2R_StringTable *strtbl;
CV_LeafParsed *tpi_leaf;
CV_LeafParsed *ipi_leaf;