switched to using base Arch enum for converting DWARF registers,

simplified top level building path
This commit is contained in:
Nikita Smith
2025-03-27 13:47:46 -07:00
parent dc967f5274
commit 53c889e5d3
10 changed files with 87 additions and 90 deletions
+10 -10
View File
@@ -2,7 +2,7 @@
// Licensed under the MIT license (https://opensource.org/license/mit/)
internal U64
dw_reg_size_from_code_x86(U64 reg_code)
dw_reg_size_from_code_x86(DW_Reg reg_code)
{
switch (reg_code) {
#define X(reg_name_dw, reg_code_dw, reg_name_rdi, reg_pos, reg_size) case DW_RegX86_##reg_name_dw: return reg_size;
@@ -13,7 +13,7 @@ dw_reg_size_from_code_x86(U64 reg_code)
}
internal U64
dw_reg_pos_from_code_x86(U64 reg_code)
dw_reg_pos_from_code_x86(DW_Reg reg_code)
{
switch (reg_code) {
#define X(reg_name_dw, reg_code_dw, reg_name_rdi, reg_pos, reg_size) case DW_RegX86_##reg_name_dw: return reg_pos;
@@ -24,7 +24,7 @@ dw_reg_pos_from_code_x86(U64 reg_code)
}
internal U64
dw_reg_size_from_code_x64(U64 reg_code)
dw_reg_size_from_code_x64(DW_Reg reg_code)
{
switch (reg_code) {
#define X(reg_name_dw, reg_code_dw, reg_name_rdi, reg_pos, reg_size) case DW_RegX64_##reg_name_dw: return reg_size;
@@ -35,7 +35,7 @@ dw_reg_size_from_code_x64(U64 reg_code)
}
internal U64
dw_reg_pos_from_code_x64(U64 reg_code)
dw_reg_pos_from_code_x64(DW_Reg reg_code)
{
switch (reg_code) {
#define X(reg_name_dw, reg_code_dw, reg_name_rdi, reg_pos, reg_size) case DW_RegX64_##reg_name_dw: return reg_pos;
@@ -46,21 +46,21 @@ dw_reg_pos_from_code_x64(U64 reg_code)
}
internal U64
dw_reg_size_from_code(RDI_Arch arch, U64 reg_code)
dw_reg_size_from_code(RDI_Arch arch, DW_Reg reg_code)
{
switch (arch) {
case RDI_Arch_X86: return dw_reg_size_from_code_x86(reg_code);
case RDI_Arch_X64: return dw_reg_size_from_code_x64(reg_code);
case Arch_x86: return dw_reg_size_from_code_x86(reg_code);
case Arch_x64: return dw_reg_size_from_code_x64(reg_code);
}
return 0;
}
internal U64
dw_reg_pos_from_code(RDI_Arch arch, U64 reg_code)
dw_reg_pos_from_code(RDI_Arch arch, DW_Reg reg_code)
{
switch (arch) {
case RDI_Arch_X86: return dw_reg_pos_from_code_x86(reg_code);
case RDI_Arch_X64: return dw_reg_pos_from_code_x64(reg_code);
case Arch_x86: return dw_reg_pos_from_code_x86(reg_code);
case Arch_x64: return dw_reg_pos_from_code_x64(reg_code);
}
return max_U64;
}
+6 -6
View File
@@ -1734,12 +1734,12 @@ typedef enum DW_RegX64Enum
////////////////////////////////
internal U64 dw_reg_size_from_code_x86(U64 reg_code);
internal U64 dw_reg_pos_from_code_x86(U64 reg_code);
internal U64 dw_reg_size_from_code_x64(U64 reg_code);
internal U64 dw_reg_pos_from_code_x64(U64 reg_code);
internal U64 dw_reg_size_from_code(Arch arch, U64 reg_code);
internal U64 dw_reg_pos_from_code(Arch arch, U64 reg_code);
internal U64 dw_reg_size_from_code_x86(DW_Reg reg_code);
internal U64 dw_reg_pos_from_code_x86(DW_Reg reg_code);
internal U64 dw_reg_size_from_code_x64(DW_Reg reg_code);
internal U64 dw_reg_pos_from_code_x64(DW_Reg reg_code);
internal U64 dw_reg_size_from_code(Arch arch, DW_Reg reg_code);
internal U64 dw_reg_pos_from_code(Arch arch, DW_Reg reg_code);
//- Attrib Class Encodings