diff --git a/src/codeview/codeview.c b/src/codeview/codeview.c index 7f8cdea6..bd32423e 100644 --- a/src/codeview/codeview.c +++ b/src/codeview/codeview.c @@ -202,28 +202,6 @@ cv_string_from_language(CV_Language x) return str8_zero(); } -internal String8 -cv_string_from_numeric(Arena *arena, CV_NumericParsed num) -{ - String8 result = str8_zero(); - switch (num.kind) { - case CV_NumericKind_FLOAT16: NotImplemented; break; // TODO: format float16 - case CV_NumericKind_FLOAT32: result = push_str8f(arena, "%f", (F64)(*(F32*)num.val)); break; - case CV_NumericKind_FLOAT48: NotImplemented; break; // TODO: format float48 - case CV_NumericKind_FLOAT64: result = push_str8f(arena, "%f", *(F64*)num.val); break; - case CV_NumericKind_FLOAT80: NotImplemented; break; // TODO: format float80 - case CV_NumericKind_FLOAT128: NotImplemented; break; // TODO: format float128 - case CV_NumericKind_CHAR: result = push_str8f(arena, "%d", *(S8 *)num.val); break; - case CV_NumericKind_SHORT: result = push_str8f(arena, "%d", *(S16*)num.val); break; - case CV_NumericKind_LONG: result = push_str8f(arena, "%d", *(S32*)num.val); break; - case CV_NumericKind_QUADWORD: result = push_str8f(arena, "%lld", *(S64*)num.val); break; - case CV_NumericKind_USHORT: result = push_str8f(arena, "%u", *(U16*)num.val); break; - case CV_NumericKind_ULONG: result = push_str8f(arena, "%u", *(U32*)num.val); break; - case CV_NumericKind_UQUADWORD: result = push_str8f(arena, "%llu", *(U64*)num.val); break; - } - return result; -} - internal String8 cv_string_from_reg_id(Arena *arena, CV_Arch arch, U32 id) { diff --git a/src/codeview/codeview.h b/src/codeview/codeview.h index da0a1395..fa8f4e09 100644 --- a/src/codeview/codeview.h +++ b/src/codeview/codeview.h @@ -2978,7 +2978,6 @@ internal U32 cv_map_encoded_base_pointer(CV_Arch arch, U32 enc internal String8 cv_string_from_inline_range_kind(CV_InlineRangeKind kind); internal String8 cv_string_from_type_index_source(CV_TypeIndexSource ti_source); internal String8 cv_string_from_language(CV_Language x); -internal String8 cv_string_from_numeric(Arena *arena, CV_NumericParsed num); internal String8 cv_string_from_reg_id(Arena *arena, CV_Arch arch, U32 id); internal String8 cv_string_from_member_access(CV_MemberAccess x); internal String8 cv_string_from_method_prop(CV_MethodProp x); diff --git a/src/codeview/codeview_dump.c b/src/codeview/codeview_dump.c new file mode 100644 index 00000000..3469f9b1 --- /dev/null +++ b/src/codeview/codeview_dump.c @@ -0,0 +1,24 @@ +// Copyright (c) Epic Games Tools +// Licensed under the MIT license (https://opensource.org/license/mit/) + +internal String8 +cv_string_from_numeric(Arena *arena, CV_NumericParsed num) +{ + String8 result = str8_zero(); + switch (num.kind) { + case CV_NumericKind_FLOAT16: NotImplemented; break; // TODO: format float16 + case CV_NumericKind_FLOAT32: result = push_str8f(arena, "%f", (F64)(*(F32*)num.val)); break; + case CV_NumericKind_FLOAT48: NotImplemented; break; // TODO: format float48 + case CV_NumericKind_FLOAT64: result = push_str8f(arena, "%f", *(F64*)num.val); break; + case CV_NumericKind_FLOAT80: NotImplemented; break; // TODO: format float80 + case CV_NumericKind_FLOAT128: NotImplemented; break; // TODO: format float128 + case CV_NumericKind_CHAR: result = push_str8f(arena, "%d", *(S8 *)num.val); break; + case CV_NumericKind_SHORT: result = push_str8f(arena, "%d", *(S16*)num.val); break; + case CV_NumericKind_LONG: result = push_str8f(arena, "%d", *(S32*)num.val); break; + case CV_NumericKind_QUADWORD: result = push_str8f(arena, "%lld", *(S64*)num.val); break; + case CV_NumericKind_USHORT: result = push_str8f(arena, "%u", *(U16*)num.val); break; + case CV_NumericKind_ULONG: result = push_str8f(arena, "%u", *(U32*)num.val); break; + case CV_NumericKind_UQUADWORD: result = push_str8f(arena, "%llu", *(U64*)num.val); break; + } + return result; +} diff --git a/src/codeview/codeview_dump.h b/src/codeview/codeview_dump.h new file mode 100644 index 00000000..fe9c8a9e --- /dev/null +++ b/src/codeview/codeview_dump.h @@ -0,0 +1,9 @@ +// Copyright (c) Epic Games Tools +// Licensed under the MIT license (https://opensource.org/license/mit/) + +#ifndef CODEVIEW_DUMP_H +#define CODEVIEW_DUMP_H + +internal String8 cv_string_from_numeric(Arena *arena, CV_NumericParsed num); + +#endif // CODEVIEW_DUMP_H diff --git a/src/radbin/radbin_main.c b/src/radbin/radbin_main.c index 776931e8..4f5cefd3 100644 --- a/src/radbin/radbin_main.c +++ b/src/radbin/radbin_main.c @@ -33,6 +33,7 @@ #include "dwarf/dwarf_parse.h" #include "dwarf/dwarf_coff.h" #include "dwarf/dwarf_elf.h" +// #include "dwarf/dwarf_dump.h" #include "msf/msf.h" #include "msf/msf_parse.h" #include "pdb/pdb.h" @@ -64,6 +65,7 @@ #include "dwarf/dwarf_parse.c" #include "dwarf/dwarf_coff.c" #include "dwarf/dwarf_elf.c" +// #include "dwarf/dwarf_dump.c" #include "msf/msf.c" #include "msf/msf_parse.c" #include "pdb/pdb.c"