[PUSHED,3/8] gdb.base/async.exp: Fix stepi& test.
Commit Message
Currently the test assumes that "stepi" over:
13 x = 5;
end up somewhere midline. But, (at least) on x86, that assignment
ends up compiled as just one movl instruction, so a stepi stops at the
next line already:
completed.
PASS: gdb.base/async.exp: step &
step&
(gdb) foo () at ../../../src/gdb/testsuite/gdb.base/async.c:13
13 x = 5;
completed.
PASS: gdb.base/async.exp: step &
stepi&
(gdb) 14 y = 3;
completed.
FAIL: gdb.base/async.exp: (timeout) stepi &
nexti&
(gdb) 16 return x + y;
completed.
FAIL: gdb.base/async.exp: (timeout) nexti &
finish&
Run till exit from #0 foo () at ../../../src/gdb/testsuite/gdb.base/async.c:16
This patch fixes it, by making sure there's more than one instruction
in that line.
gdb/testsuite/
2014-03-19 Pedro Alves <palves@redhat.com>
* gdb.base/async.c (foo): Make 'x' volatile. Write to it twice in
the same line.
---
gdb/testsuite/ChangeLog | 5 +++++
gdb/testsuite/gdb.base/async.c | 5 +++--
2 files changed, 8 insertions(+), 2 deletions(-)
@@ -1,5 +1,10 @@
2014-03-19 Pedro Alves <palves@redhat.com>
+ * gdb.base/async.c (foo): Make 'x' volatile. Write to it twice in
+ the same line.
+
+2014-03-19 Pedro Alves <palves@redhat.com>
+
* gdb.base/async.c (main): Add "jump here" and "until here" line
marker comments.
* gdb.base/async.exp (jump_here): New global.
@@ -8,9 +8,10 @@ int
foo ()
#endif
{
- int x, y;
+ int y;
+ volatile int x;
- x = 5;
+ x = 5; x = 5;
y = 3;
return x + y;