Fixes: corrects clobbering of registers appearing after k_gs_base Buglink: https://bugs.launchpad.net/qemu/+bug/1857640
Signed-off-by: Marek Dolata <mkdol...@us.ibm.com> --- target/i386/gdbstub.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/i386/gdbstub.c b/target/i386/gdbstub.c index aef25b70f1..7228d20674 100644 --- a/target/i386/gdbstub.c +++ b/target/i386/gdbstub.c @@ -350,14 +350,16 @@ int x86_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) env->segs[R_GS].base = ldl_p(mem_buf); return 4; -#ifdef TARGET_X86_64 case IDX_SEG_REGS + 8: +#ifdef TARGET_X86_64 if (env->hflags & HF_CS64_MASK) { env->kernelgsbase = ldq_p(mem_buf); return 8; } env->kernelgsbase = ldl_p(mem_buf); return 4; +#else + return 4; #endif case IDX_FP_REGS + 8: -- 2.21.0