mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-13 07:32:23 -07:00
pass over raddump
- made inline sites section more compact - consistent indentation for PE/COFF printers
This commit is contained in:
+351
-341
File diff suppressed because it is too large
Load Diff
@@ -213,7 +213,7 @@ internal void rdi_print_global_variable(Arena *arena, String8List *out, String8
|
||||
internal void rdi_print_thread_variable(Arena *arena, String8List *out, String8 indent, RDI_Parsed *rdi, RDI_ThreadVariable *tvar);
|
||||
internal void rdi_print_procedure (Arena *arena, String8List *out, String8 indent, RDI_Parsed *rdi, RDI_Procedure *proc, RDI_Arch arch);
|
||||
internal void rdi_print_scope (Arena *arena, String8List *out, String8 indent, RDI_Parsed *rdi, RDI_Scope *scope, RDI_Arch arch);
|
||||
internal void rdi_print_inline_site (Arena *arena, String8List *out, String8 indent, RDI_Parsed *rdi, RDI_InlineSite *inline_site);
|
||||
internal void rdi_print_inline_site (Arena *arena, String8List *out, String8 indent, RDI_Parsed *rdi, U64 idx, RDI_InlineSite *inline_site);
|
||||
internal void rdi_print_vmap_entry (Arena *arena, String8List *out, String8 indent, RDI_VMapEntry *v);
|
||||
|
||||
// DWARF
|
||||
|
||||
@@ -274,17 +274,19 @@ entry_point(CmdLine *cmdline)
|
||||
RDI_Parsed rdi = {0};
|
||||
RDI_ParseStatus parse_status = rdi_parse(raw_data.str, raw_data.size, &rdi);
|
||||
switch (parse_status) {
|
||||
case RDI_ParseStatus_Good: rdi_print(arena, out, indent, &rdi, opts); break;
|
||||
case RDI_ParseStatus_Good: {
|
||||
RD_Option rdi_print_opts = opts;
|
||||
if ((rdi_print_opts & RD_Option_RdiAll) == 0) {
|
||||
rdi_print_opts |= RD_Option_RdiAll;
|
||||
}
|
||||
rdi_print(arena, out, indent, &rdi, rdi_print_opts);
|
||||
} break;
|
||||
case RDI_ParseStatus_HeaderDoesNotMatch: rd_errorf("RDI Parse: header does not match"); break;
|
||||
case RDI_ParseStatus_UnsupportedVersionNumber: rd_errorf("RDI Parse: unsupported version"); break;
|
||||
case RDI_ParseStatus_InvalidDataSecionLayout: rd_errorf("RDI Parse: invalid data section layout"); break;
|
||||
case RDI_ParseStatus_MissingRequiredSection: rd_errorf("RDI Parse: missing required section"); break;
|
||||
default: rd_errorf("RDI Parse: unknown parse status %u", parse_status); break;
|
||||
}
|
||||
if ((opts & RD_Option_RdiAll) == 0) {
|
||||
opts = RD_Option_RdiAll;
|
||||
}
|
||||
rdi_print(arena, out, indent, &rdi, opts);
|
||||
} else if (coff_is_regular_archive(raw_data) || coff_is_thin_archive(raw_data)) {
|
||||
coff_print_archive(arena, out, indent, raw_data, opts);
|
||||
} else if (coff_is_big_obj(raw_data)) {
|
||||
|
||||
Reference in New Issue
Block a user