mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-10-14 12:59:41 -07:00
sketch out revised pdb conversion path which just uses the codeview conversion pass
This commit is contained in:
1 parent
c411895db5
commit
d56cd83cac
4 files changed
+416
-2
No files matched your search
@@ -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, ¶ms->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;
|
||||
|
||||
Reference in new issue
Block a user