From ecdee57c60550b63094741261a14c1f088c740ee Mon Sep 17 00:00:00 2001 From: Nikita Smith Date: Mon, 9 Jun 2025 16:58:51 -0700 Subject: [PATCH] move helpers to COFF layer --- src/coff/coff.c | 29 +++++++++++++++++++++++++++++ src/coff/coff.h | 2 ++ 2 files changed, 31 insertions(+) diff --git a/src/coff/coff.c b/src/coff/coff.c index b63f9d2b..5b42d057 100644 --- a/src/coff/coff.c +++ b/src/coff/coff.c @@ -337,6 +337,35 @@ coff_make_import_header(Arena *arena, return import_data; } +internal U8 +coff_code_align_byte_from_machine(COFF_MachineType machine) +{ + U8 align_byte = 0; + switch (machine) { + case COFF_MachineType_Unknown: break; + case COFF_MachineType_X64: + case COFF_MachineType_X86: { + align_byte = 0xCC; + } break; + default: { NotImplemented; } break; + } + return align_byte; +} + +internal U16 +coff_default_align_from_machine(COFF_MachineType machine) +{ + U16 align = 0; + switch (machine) { + case COFF_MachineType_Unknown: break; + case COFF_MachineType_X64: { + align = 16; + } break; + default: { NotImplemented; } break; + } + return align; +} + internal U64 coff_word_size_from_machine(COFF_MachineType machine) { diff --git a/src/coff/coff.h b/src/coff/coff.h index 2a6ca456..afbd9a2e 100644 --- a/src/coff/coff.h +++ b/src/coff/coff.h @@ -617,6 +617,8 @@ internal String8 coff_make_import_header(Arena *arena, COFF_MachineType machine, //////////////////////////////// // Misc +internal U16 coff_default_align_from_machine (COFF_MachineType machine); +internal U8 coff_code_align_byte_from_machine (COFF_MachineType machine); 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);