[binutils-gdb] [gdb/testsuite] Fix gdb.reverse/i387-env-reverse.exp for -pie

Tom de Vries vries@sourceware.org
Mon Jun 27 10:47:57 GMT 2022


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=772f8196d621a8009035ff4cb8aab2d7343269a9

commit 772f8196d621a8009035ff4cb8aab2d7343269a9
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jun 27 12:47:26 2022 +0200

    [gdb/testsuite] Fix gdb.reverse/i387-env-reverse.exp for -pie
    
    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.

Diff:
---
 gdb/testsuite/gdb.reverse/i387-env-reverse.exp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.reverse/i387-env-reverse.exp b/gdb/testsuite/gdb.reverse/i387-env-reverse.exp
index a0a79c22ed0..53fee0986df 100644
--- a/gdb/testsuite/gdb.reverse/i387-env-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/i387-env-reverse.exp
@@ -64,7 +64,7 @@ with_test_prefix "forward" {
     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"


More information about the Gdb-cvs mailing list