aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2014-03-19 15:22:44 +0000
committerPedro Alves <palves@redhat.com>2014-03-19 15:50:53 +0000
commitf48088c7de251319d9f874d07317d867e0cf66cb (patch)
tree9cabe492ef1c77cc76295b961d2e4b6a3ba4edd4
parente2f6c966284e2f204779e9c7becf260bd4fe5117 (diff)
downloadbinutils-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/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.base/async.c5
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;