1 diff -urp bochs-2.2.6/gdbstub.cc bochs-2.2.6.orig/gdbstub.cc
2 --- bochs-2.2.6/gdbstub.cc 2006-04-03 13:47:39.000000000 -0700
3 +++ bochs-2.2.6.orig/gdbstub.cc 2006-01-17 09:15:29.000000000 -0800
4 @@ -672,36 +672,35 @@ static void debug_loop(void)
8 - WriteHostDWordToLittleEndian(registers + 0, EAX);
9 - WriteHostDWordToLittleEndian(registers + 1, ECX);
10 - WriteHostDWordToLittleEndian(registers + 2, EDX);
11 - WriteHostDWordToLittleEndian(registers + 3, EBX);
12 - WriteHostDWordToLittleEndian(registers + 4, ESP);
13 - WriteHostDWordToLittleEndian(registers + 5, EBP);
14 - WriteHostDWordToLittleEndian(registers + 6, ESI);
15 - WriteHostDWordToLittleEndian(registers + 7, EDI);
24 if (last_stop_reason == GDBSTUB_EXECUTION_BREAKPOINT)
26 - WriteHostDWordToLittleEndian(registers + 8, EIP + 1);
27 + registers[8] = EIP + 1;
31 - WriteHostDWordToLittleEndian(registers + 8, EIP);
34 - WriteHostDWordToLittleEndian(registers + 9,
35 - BX_CPU_THIS_PTR read_eflags());
36 - WriteHostDWordToLittleEndian(registers + 10,
37 - BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].selector.value);
38 - WriteHostDWordToLittleEndian(registers + 11,
39 - BX_CPU_THIS_PTR sregs[BX_SEG_REG_SS].selector.value);
40 - WriteHostDWordToLittleEndian(registers + 12,
41 - BX_CPU_THIS_PTR sregs[BX_SEG_REG_DS].selector.value);
42 - WriteHostDWordToLittleEndian(registers + 13,
43 - BX_CPU_THIS_PTR sregs[BX_SEG_REG_ES].selector.value);
44 - WriteHostDWordToLittleEndian(registers + 14,
45 - BX_CPU_THIS_PTR sregs[BX_SEG_REG_FS].selector.value);
46 - WriteHostDWordToLittleEndian(registers + 15,
47 - BX_CPU_THIS_PTR sregs[BX_SEG_REG_GS].selector.value);
48 + registers[9] = BX_CPU_THIS_PTR read_eflags();
50 + BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].selector.value;
52 + BX_CPU_THIS_PTR sregs[BX_SEG_REG_SS].selector.value;
54 + BX_CPU_THIS_PTR sregs[BX_SEG_REG_DS].selector.value;
56 + BX_CPU_THIS_PTR sregs[BX_SEG_REG_ES].selector.value;
58 + BX_CPU_THIS_PTR sregs[BX_SEG_REG_FS].selector.value;
60 + BX_CPU_THIS_PTR sregs[BX_SEG_REG_GS].selector.value;
61 mem2hex((char *)registers, obuf, NUMREGSBYTES);
63 #define PUTREG(buf, val, len) do { \