]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
x32: Fix gdb.trace/mi-trace-frame-collected.exp
authorPedro Alves <palves@redhat.com>
Tue, 23 Aug 2016 22:17:14 +0000 (23:17 +0100)
committerPedro Alves <palves@redhat.com>
Tue, 23 Aug 2016 22:18:41 +0000 (23:18 +0100)
commit644e90fe669bbfe1d15d1018b4fc136af3aab424
treee1e09488b0ddf0a9263e724d2bed7e20e2ce7c22
parentc0c1412c584bc98d651354a029a50d054996bcef
x32: Fix gdb.trace/mi-trace-frame-collected.exp

gdb.trace/mi-trace-frame-collected.exp has a couple failures on x32:

 FAIL: gdb.trace/mi-trace-frame-collected.exp: live: -trace-frame-collected (register)
 FAIL: gdb.trace/mi-trace-frame-collected.exp: tfile: -trace-frame-collected (register)

gdb.log:

 -trace-frame-collected
 ^done,explicit-variables=[{name="gdb_char_test",value="0 '\\000'"}],computed-expressions=[],registers=[{number="16",value="0x4004dc"},{number="204",value="0x4004dc"}],tvars
 =[],memory=[{address="0x00601060",length="1"}]
 (gdb)
 FAIL: gdb.trace/mi-trace-frame-collected.exp: live: -trace-frame-collected (register)
[...]
 -trace-frame-collected
 ^done,explicit-variables=[{name="gdb_char_test",value="0 '\\000'"}],computed-expressions=[],registers=[{number="16",value="0x4004dc"},{number="204",value="0x4004dc"}],tvars
 =[],memory=[{address="0x00601060",length="1"}]
 (gdb)
 FAIL: gdb.trace/mi-trace-frame-collected.exp: tfile: -trace-frame-collected (register)

This test only collects the PC, and thus expects to only see one
register in the output of -trace-frame-collected.  However, while on
the 64-bit ABI gdb only exposes 64-bit $pc/$rip (register 16 above),
on x32, GDB exposes 32-bit $eip as well, as a pseudo-register
(register 204 above).  Thus, collecting $pc/$rip automatically always
collects $eip as well.

gdb/testsuite/ChangeLog:
2016-08-23  Pedro Alves  <palves@redhat.com>

* gdb.trace/mi-trace-frame-collected.exp
(test_trace_frame_collected): On x32, expect two registers.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.trace/mi-trace-frame-collected.exp