When running test-case gdb.reverse/i387-env-reverse.exp for x86_64-linux with
target board unix/-m32/-fPIE/-pie, we run into:
...
(gdb) PASS: gdb.reverse/i387-env-reverse.exp: push st0
info register eax^M
eax 0x56550000
1448411136^M
(gdb) FAIL: gdb.reverse/i387-env-reverse.exp: verify eax == 0x8040000
...
The problem is that the tested instruction (fstsw) only sets $ax, not $eax.
Fix this by verifying $ax instead of $eax.
Tested on x86_64-linux with target boards unix/-m32 and unix/-m32/-fPIE/-pie.
gdb_test "n" "asm.*fstsw.*" "store status word in EAX"
gdb_test "n" "asm.*fld1.*" "push st0"
- gdb_test "info register eax" "eax *0x8040000.*\[ \t\]+.*" "verify eax == 0x8040000"
+ gdb_test "info register ax" "ax *0x0.*\[ \t\]+.*" "verify eax == 0x0"
gdb_test "info register fstat" "fstat *0.*\[ \t\]+.*" "verify fstat == 0"
gdb_test "info register ftag" "ftag *0xffff.*\[ \t\]+.*" "verify ftag == 0xffff"