pipe through guids in rdi conversion; sketch out 'query' meta cfg evaluation members, which are not stored but computed, but are not sets; plug in debug info guid evaluation that way

This commit is contained in:
Ryan Fleury
2025-10-23 12:10:23 -07:00
parent e83a95f370
commit c318c10486
15 changed files with 125 additions and 51 deletions
+5 -1
View File
@@ -62,6 +62,9 @@
"typedef union RDI_SHA256 RDI_SHA256;";
"union RDI_SHA256 {RDI_U8 u8[32]; RDI_U64 u64[4];};";
"";
"typedef union RDI_GUID RDI_GUID;";
"union RDI_GUID {RDI_U8 u8[16]; RDI_U64 u64[2];};";
"";
"////////////////////////////////////////////////////////////////";
"//~ Overridable Enabling/Disabling Of Table Index Typechecking";
"";
@@ -74,7 +77,7 @@
"";
"// \"raddbg\\0\\0\"";
"#define RDI_MAGIC_CONSTANT 0x0000676264646172";
"#define RDI_ENCODING_VERSION 16";
"#define RDI_ENCODING_VERSION 17";
"";
"////////////////////////////////////////////////////////////////";
"//~ Format Types & Functions";
@@ -495,6 +498,7 @@ RDI_TopLevelInfoMemberTable:
{exe_name_string_idx RDI_U32 ""}
{exe_hash RDI_U64 ""}
{voff_max RDI_U64 ""}
{guid RDI_GUID ""}
{producer_name_string_idx RDI_U32 ""}
}
+3
View File
@@ -587,11 +587,14 @@ lane_sync(); if(flags & RDI_DumpSubsetFlag_##name) ProfScope(#name)
{
RDI_TopLevelInfo *tli = rdi_element_from_name_idx(rdi, TopLevelInfo, 0);
Temp scratch = scratch_begin(&arena, 1);
Guid guid = {0};
MemoryCopy(&guid, &tli->guid, Min(sizeof guid, sizeof tli->guid));
dumpf("\n");
dumpf(" arch: %S\n", rdi_string_from_arch(scratch.arena, tli->arch));
dumpf(" exe_name: '%S'\n", str8_from_rdi_string_idx(rdi, tli->exe_name_string_idx));
dumpf(" voff_max: %#08llx\n", tli->voff_max);
dumpf(" producer_name: '%S'\n", str8_from_rdi_string_idx(rdi, tli->producer_name_string_idx));
dumpf(" guid: %S\n", string_from_guid(scratch.arena, guid));
scratch_end(scratch);
}
}