diff --git a/common/cli.d b/common/cli.d index 1477372..72d9d95 100644 --- a/common/cli.d +++ b/common/cli.d @@ -499,7 +499,7 @@ } immutable setting_platform_t[] platforms = [ { AdbgMachine.i8086, "x86_16", "8086", "x86 16-bit (real mode)" }, - { AdbgMachine.x86, "x86", "i386", "x86 32-bit (extended mode)" }, + { AdbgMachine.i386, "x86", "i386", "x86 32-bit (extended mode)" }, { AdbgMachine.amd64, "x86_64", "amd64", "x86 64-bit (long mode)" }, { AdbgMachine.thumb, "t16", "thumb", "Thumb" }, { AdbgMachine.thumb32, "t32", "thumb32", "Thumb (32-bit)" }, diff --git a/debugger/shell.d b/debugger/shell.d index 8ae7f79..627ed45 100644 --- a/debugger/shell.d +++ b/debugger/shell.d @@ -980,7 +980,7 @@ return ShellError.alicedbg; // Assume EIP/RIP is in regs[0] switch (mach) with (AdbgMachine) { - case x86: uaddress = regs.items[0].u32; break; + case i386: uaddress = regs.items[0].u32; break; case amd64: uaddress = regs.items[0].u64; break; default: return ShellError.unavailable; } diff --git a/src/adbg/debugger/process.d b/src/adbg/debugger/process.d index d8e1a7b..6eeead9 100644 --- a/src/adbg/debugger/process.d +++ b/src/adbg/debugger/process.d @@ -1036,10 +1036,10 @@ if (tracee == null) return AdbgMachine.unknown; - //TODO: There's probably a way to remotely check this - // Windows: IsWow64Process/IsWow64Process2 with process handle + //TODO: There's probably a way to remotely check this + // Windows: IsWow64Process/IsWow64Process2 with process handle version (Win64) { - if (tracee.wow64) return AdbgMachine.x86; + if (tracee.wow64) return AdbgMachine.i386; } return adbg_machine_default(); diff --git a/src/adbg/debugger/thread.d b/src/adbg/debugger/thread.d index c6c5deb..02378dd 100644 --- a/src/adbg/debugger/thread.d +++ b/src/adbg/debugger/thread.d @@ -126,7 +126,7 @@ immutable(adbg_register_info_t)[] regs = void; switch (mach) with (AdbgMachine) { - case x86: + case i386: regs = regs_x86; break; case amd64: @@ -154,11 +154,11 @@ return; version (X86) { - adbg_registers_config(ctx, AdbgMachine.x86); + adbg_registers_config(ctx, AdbgMachine.i386); } else version (X86_64) { version (Win64) { // Windows 64-bit if (tracee.wow64) - adbg_registers_config(ctx, AdbgMachine.x86); + adbg_registers_config(ctx, AdbgMachine.i386); else adbg_registers_config(ctx, AdbgMachine.amd64); } else // Anything else 64-bit diff --git a/src/adbg/disassembler.d b/src/adbg/disassembler.d index 2376145..312e2a8 100644 --- a/src/adbg/disassembler.d +++ b/src/adbg/disassembler.d @@ -192,7 +192,7 @@ cs_arch = CS_ARCH_X86; cs_mode = CS_MODE_16; break; - case x86: + case i386: cs_arch = CS_ARCH_X86; cs_mode = CS_MODE_32; break; diff --git a/src/adbg/machines.d b/src/adbg/machines.d index 8feed42..552ddf2 100644 --- a/src/adbg/machines.d +++ b/src/adbg/machines.d @@ -1,7 +1,7 @@ /// Object name definitions. /// -/// This is expressed as instruction sets, typically ones that are -/// incompatible with the rest of the list. +/// This module handles various machine definitions as expressed as +/// baseline instruction set architectures. /// /// Authors: dd86k /// Copyright: © dd86k @@ -16,8 +16,6 @@ //TODO: Consider removing "native" as it just confused me with a process function. // There is now a function to get the default machine. -//TODO: Consider renaming x86 to i386 since it is the baseline -// And remove "x86_32" alias, it is confusing with x32 /// Object machine type. enum AdbgMachine { @@ -29,8 +27,8 @@ /// Intel x86 16-bit (8086) i8086, /// Intel x86 32-bit (i386) - x86, - /// Intel x86 64-bit (amd64) + i386, + /// AMD x86 64-bit (amd64) amd64, /// Intel MCU mcu, @@ -481,14 +479,14 @@ // NOTE: Full name consistency. // - Proper names (like an English name or title). -// - Avoid parentheses when possible (makes titles a little less clean). +// - Avoid parentheses when possible as they can be confused with another set. /// List of known machines. immutable adbg_machine_t[] machines = [ // Intel - { AdbgMachine.i8086, "8086", "x86_16", "Intel 8086" }, - { AdbgMachine.x86, "x86", "x86_32", "Intel x86" }, + { AdbgMachine.i8086, "8086", null, "Intel 8086" }, + { AdbgMachine.i386, "i386", "x86", "Intel x86" }, { AdbgMachine.amd64, "amd64", "x86_64", "AMD x86-64" }, - { AdbgMachine.mcu, "mcu", null, "Intel MCU" }, + { AdbgMachine.mcu, "mcu", null, "Intel MCU" }, { AdbgMachine.i860, "i860", null, "Intel i860" }, { AdbgMachine.i960, "i960", null, "Intel i960" }, { AdbgMachine.i8051, "8051", null, "Intel 8051" }, diff --git a/src/adbg/object/format/elf.d b/src/adbg/object/format/elf.d index c063ac6..a98b7a0 100644 --- a/src/adbg/object/format/elf.d +++ b/src/adbg/object/format/elf.d @@ -1377,7 +1377,7 @@ switch (machine) { case ELF_EM_M32: return AdbgMachine.we32100; case ELF_EM_SPARC: return AdbgMachine.sparc; - case ELF_EM_386: return AdbgMachine.x86; + case ELF_EM_386: return AdbgMachine.i386; case ELF_EM_68K: return AdbgMachine.m68k; case ELF_EM_88K: return AdbgMachine.m88k; case ELF_EM_MCU: return AdbgMachine.mcu; diff --git a/src/adbg/object/format/macho.d b/src/adbg/object/format/macho.d index e50a141..6844262 100644 --- a/src/adbg/object/format/macho.d +++ b/src/adbg/object/format/macho.d @@ -593,7 +593,7 @@ case MACHO_CPUTYPE_NS32032: case MACHO_CPUTYPE_NS32332: case MACHO_CPUTYPE_NS32532: return AdbgMachine.ns32k; - case MACHO_CPUTYPE_I386: return AdbgMachine.x86; + case MACHO_CPUTYPE_I386: return AdbgMachine.i386; case MACHO_CPUTYPE_X86_64: return AdbgMachine.amd64; case MACHO_CPUTYPE_MIPS: return AdbgMachine.mips; case MACHO_CPUTYPE_HPPA: return AdbgMachine.parisc; diff --git a/src/adbg/object/format/pe.d b/src/adbg/object/format/pe.d index 9fd2916..7cb703e 100644 --- a/src/adbg/object/format/pe.d +++ b/src/adbg/object/format/pe.d @@ -1443,7 +1443,7 @@ AdbgMachine adbg_object_pe_machine(ushort machine) { switch (machine) { - case PE_MACHINE_I386: return AdbgMachine.x86; + case PE_MACHINE_I386: return AdbgMachine.i386; case PE_MACHINE_AMD64: return AdbgMachine.amd64; case PE_MACHINE_ALPHAOLD, PE_MACHINE_ALPHA: return AdbgMachine.alpha; case PE_MACHINE_ALPHA64: return AdbgMachine.alpha64; diff --git a/src/adbg/object/server.d b/src/adbg/object/server.d index 38dfd2b..331fac1 100644 --- a/src/adbg/object/server.d +++ b/src/adbg/object/server.d @@ -860,7 +860,7 @@ case mz: return AdbgMachine.i8086; case ne: // NOTE: Can have a mix of 8086/i286/i386 instructions, take the highest if (o.i.ne.header.ne_flags & NE_HFLAG_INTI386) - return AdbgMachine.x86; + return AdbgMachine.i386; if (o.i.ne.header.ne_flags & (NE_HFLAG_INT8086 | NE_HFLAG_INTI286)) return AdbgMachine.i8086; break; @@ -868,7 +868,7 @@ switch (o.i.lx.header.cpu) { case LX_CPU_80286: return AdbgMachine.i8086; case LX_CPU_80386: - case LX_CPU_80486: return AdbgMachine.x86; + case LX_CPU_80486: return AdbgMachine.i386; default: } break; @@ -881,7 +881,7 @@ case coff: switch (o.i.coff.sig) { case COFF_MAGIC_I386: - case COFF_MAGIC_I386_AIX: return AdbgMachine.x86; + case COFF_MAGIC_I386_AIX: return AdbgMachine.i386; case COFF_MAGIC_AMD64: return AdbgMachine.amd64; case COFF_MAGIC_IA64: return AdbgMachine.ia64; case COFF_MAGIC_Z80: return AdbgMachine.z80;