diff options
author | Pedro Alves <palves@redhat.com> | 2014-03-19 15:22:44 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2014-03-19 15:50:53 +0000 |
commit | f48088c7de251319d9f874d07317d867e0cf66cb (patch) | |
tree | 9cabe492ef1c77cc76295b961d2e4b6a3ba4edd4 | |
parent | e2f6c966284e2f204779e9c7becf260bd4fe5117 (diff) | |
download | binutils-f48088c7de251319d9f874d07317d867e0cf66cb.zip binutils-f48088c7de251319d9f874d07317d867e0cf66cb.tar.gz binutils-f48088c7de251319d9f874d07317d867e0cf66cb.tar.bz2 |
gdb.base/async.exp: Fix stepi& test.
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.
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/async.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index fa7b282..cc8de97 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -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. diff --git a/gdb/testsuite/gdb.base/async.c b/gdb/testsuite/gdb.base/async.c index fb53082..76ce8be 100644 --- a/gdb/testsuite/gdb.base/async.c +++ b/gdb/testsuite/gdb.base/async.c @@ -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; |