From 33b1e252951651b402dd3834cea8deafbd5f69a0 Mon Sep 17 00:00:00 2001 From: Nikita Smith Date: Mon, 9 Feb 2026 23:40:31 -0800 Subject: [PATCH] arch -> COFF machine --- src/coff/coff.c | 15 +++++++++++++++ src/coff/coff.h | 5 +++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/coff/coff.c b/src/coff/coff.c index eef1c129..b7534ee8 100644 --- a/src/coff/coff.c +++ b/src/coff/coff.c @@ -455,6 +455,21 @@ arch_from_coff_machine(COFF_MachineType machine) return result; } +internal COFF_MachineType +coff_machine_from_arch(Arch arch) +{ + COFF_MachineType machine = COFF_MachineType_Unknown; + switch (arch) { + case Arch_Null: machine = COFF_MachineType_Unknown; break; + case Arch_x86: machine = COFF_MachineType_X86; break; + case Arch_x64: machine = COFF_MachineType_X64; break; + case Arch_arm64: machine = COFF_MachineType_Arm64; break; + case Arch_arm32: machine = COFF_MachineType_Arm; break; + default: InvalidPath; break; + } + return machine; +} + internal U64 coff_foff_from_voff(COFF_SectionHeader *sections, U64 section_count, U64 voff) { diff --git a/src/coff/coff.h b/src/coff/coff.h index 4adff448..6c321fc6 100644 --- a/src/coff/coff.h +++ b/src/coff/coff.h @@ -628,8 +628,9 @@ internal U64 coff_word_size_from_machine (COFF_MachineType machine); internal U64 coff_default_exe_base_from_machine(COFF_MachineType machine); internal U64 coff_default_dll_base_from_machine(COFF_MachineType machine); -internal Arch arch_from_coff_machine(COFF_MachineType machine); -internal U64 coff_foff_from_voff(COFF_SectionHeader *sections, U64 section_count, U64 voff); +internal Arch arch_from_coff_machine(COFF_MachineType machine); +internal COFF_MachineType coff_machine_from_arch(Arch arch); +internal U64 coff_foff_from_voff(COFF_SectionHeader *sections, U64 section_count, U64 voff); //////////////////////////////// //~ rjf: Enum <=> String