mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-24 04:34:59 -07:00
option to rdi_from_pdb for deterministic generation; omits non-intrinsic, build-dependent information
This commit is contained in:
@@ -95,7 +95,7 @@ p2r_user2convert_from_cmdln(Arena *arena, CmdLine *cmdline)
|
||||
}
|
||||
}
|
||||
|
||||
//- rjf: define string -> flag bits
|
||||
//- rjf: define string -> section flag bits
|
||||
#define FlagNameMapXList \
|
||||
Case("sections", BinarySections)\
|
||||
Case("units", Units)\
|
||||
@@ -114,7 +114,7 @@ Case("type_name_map", TypeNameMap)\
|
||||
Case("link_name_map", LinkNameProcedureNameMap)\
|
||||
Case("source_path_name_map",NormalSourcePathNameMap)\
|
||||
|
||||
//- rjf: get flags
|
||||
//- rjf: get section flags
|
||||
{
|
||||
result->flags = P2R_ConvertFlag_All;
|
||||
String8List only_names = cmd_line_strings(cmdline, str8_lit("only"));
|
||||
@@ -142,6 +142,14 @@ Case("source_path_name_map",NormalSourcePathNameMap)\
|
||||
}
|
||||
}
|
||||
|
||||
//- rjf: get other flags
|
||||
{
|
||||
if(cmd_line_has_flag(cmdline, str8_lit("deterministic")))
|
||||
{
|
||||
result->flags |= P2R_ConvertFlag_Deterministic;
|
||||
}
|
||||
}
|
||||
|
||||
#undef FlagNameMapXList
|
||||
return result;
|
||||
}
|
||||
@@ -3349,7 +3357,10 @@ p2r_convert(Arena *arena, P2R_User2Convert *in)
|
||||
top_level_info.exe_name = str8_skip_last_slash(in->input_exe_name);
|
||||
top_level_info.exe_hash = exe_hash;
|
||||
top_level_info.voff_max = exe_voff_max;
|
||||
top_level_info.producer_name = str8_lit(BUILD_TITLE_STRING_LITERAL);
|
||||
if(!(in->flags & P2R_ConvertFlag_Deterministic))
|
||||
{
|
||||
top_level_info.producer_name = str8_lit(BUILD_TITLE_STRING_LITERAL);
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -28,6 +28,7 @@ enum
|
||||
P2R_ConvertFlag_TypeNameMap = (1<<15),
|
||||
P2R_ConvertFlag_LinkNameProcedureNameMap= (1<<16),
|
||||
P2R_ConvertFlag_NormalSourcePathNameMap = (1<<17),
|
||||
P2R_ConvertFlag_Deterministic = (1<<18),
|
||||
P2R_ConvertFlag_All = 0xffffffff,
|
||||
};
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ entry_point(CmdLine *cmdline)
|
||||
{
|
||||
String8 rdi_path = push_str8f(arena, "%S/repeat_%I64u.rdi", repeat_folder, repeat_idx);
|
||||
str8_list_push(arena, &rdi_paths, rdi_path);
|
||||
os_handle_list_push(arena, &processes, os_cmd_line_launchf("rdi_from_pdb --pdb:%S --out:%S > %S/repeat_%I64u.dump", pdb_path, rdi_path, repeat_folder, repeat_idx));
|
||||
os_handle_list_push(arena, &processes, os_cmd_line_launchf("rdi_from_pdb --deterministic --pdb:%S --out:%S", pdb_path, rdi_path));
|
||||
}
|
||||
for(OS_HandleNode *n = processes.first; n != 0; n = n->next)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user