define enum for image type

This commit is contained in:
Nikita Smith
2025-01-08 03:17:37 -08:00
parent 0d0a6d3980
commit d0d1786cec
3 changed files with 14 additions and 5 deletions
+9
View File
@@ -454,6 +454,15 @@ typedef enum OperatingSystem
}
OperatingSystem;
typedef enum ImageType
{
Image_Null,
Image_CoffPe,
Image_Elf32,
Image_Elf64,
Image_Macho
} ImageType;
typedef enum Arch
{
Arch_Null,
+3 -3
View File
@@ -1473,15 +1473,15 @@ dw_ext_from_params(String8 producer, Arch arch, ImageType image_type)
DW_Ext ext = DW_Ext_Null;
switch (image_type) {
case Image_Null: break;
case Image_COFF_PE: {
case Image_CoffPe: {
if (str8_match(str8_lit("clang"), producer, StringMatchFlag_RightSideSloppy|StringMatchFlag_CaseInsensitive)) {
ext = DW_Ext_GNU | DW_Ext_LLVM;
} else if (str8_match(str8_lit("GNU"), producer, StringMatchFlag_RightSideSloppy|StringMatchFlag_CaseInsensitive)) {
ext = DW_Ext_GNU;
}
} break;
case Image_ELF32:
case Image_ELF64: {
case Image_Elf32:
case Image_Elf64: {
if (str8_match(str8_lit("clang"), producer, StringMatchFlag_RightSideSloppy|StringMatchFlag_CaseInsensitive)) {
ext = DW_Ext_GNU | DW_Ext_LLVM;
} else if (str8_match(str8_lit("GNU"), producer, StringMatchFlag_RightSideSloppy|StringMatchFlag_CaseInsensitive)) {
+2 -2
View File
@@ -5159,7 +5159,7 @@ coff_print_obj(Arena *arena, String8List *out, String8 indent, String8 raw_data,
if (opts & RD_Option_Dwarf) {
DW_SectionArray dwarf_sections = rd_dw_sections_from_coff_section_table(scratch.arena, raw_data, string_table_off, header->section_count, sections);
dw_format(arena, out, indent, opts, &dwarf_sections, arch, Image_COFF_PE);
dw_format(arena, out, indent, opts, &dwarf_sections, arch, Image_CoffPe);
}
exit:;
@@ -6857,7 +6857,7 @@ pe_print(Arena *arena, String8List *out, String8 indent, String8 raw_data, RD_Op
if (opts & RD_Option_Dwarf) {
DW_SectionArray dwarf_sections = rd_dw_sections_from_coff_section_table(scratch.arena, raw_data, string_table_off, coff_header->section_count, sections);
dw_format(arena, out, indent, opts, &dwarf_sections, arch, Image_COFF_PE);
dw_format(arena, out, indent, opts, &dwarf_sections, arch, Image_CoffPe);
}
exit:;