Where both gdb_read/write_register() functions check for 'TARGET_LONG_BITS == 64' we can expand the following definitions:
ldtul_p() -> ldq_p() gdb_get_regl() -> gdb_get_reg64() Do the same in i386_cpu_gdb_get_egprs(): check TARGET_LONG_BITS to effectively inline gdb_get_regl(). Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- target/i386/gdbstub.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/target/i386/gdbstub.c b/target/i386/gdbstub.c index f358bcf9e86..f1ce90a046e 100644 --- a/target/i386/gdbstub.c +++ b/target/i386/gdbstub.c @@ -129,7 +129,7 @@ int x86_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n) return gdb_get_reg64(mem_buf, env->regs[gpr_map[n]] & 0xffffffffUL); } else { - return gdb_get_regl(mem_buf, 0); + return gdb_get_reg64(mem_buf, 0); } } else { return gdb_get_reg32(mem_buf, env->regs[gpr_map32[n]]); @@ -283,9 +283,9 @@ int x86_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) if (n < CPU_NB_REGS) { if (TARGET_LONG_BITS == 64) { if (env->hflags & HF_CS64_MASK) { - env->regs[gpr_map[n]] = ldtul_p(mem_buf); + env->regs[gpr_map[n]] = ldq_p(mem_buf); } else if (n < CPU_NB_REGS32) { - env->regs[gpr_map[n]] = ldtul_p(mem_buf) & 0xffffffffUL; + env->regs[gpr_map[n]] = ldq_p(mem_buf) & 0xffffffffUL; } return sizeof(target_ulong); } else if (n < CPU_NB_REGS32) { @@ -449,8 +449,10 @@ static int i386_cpu_gdb_get_egprs(CPUState *cs, GByteArray *mem_buf, int n) /* EGPRs can be only directly accessible in 64-bit mode. */ if (env->hflags & HF_CS64_MASK) { return gdb_get_reg64(mem_buf, env->regs[gpr_map[n + CPU_NB_REGS]]); + } else if (TARGET_LONG_BITS == 64) { + return gdb_get_reg64(mem_buf, 0); } else { - return gdb_get_regl(mem_buf, 0); + return gdb_get_reg32(mem_buf, 0); } } -- 2.52.0
