From f48088c7de251319d9f874d07317d867e0cf66cb Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Wed, 19 Mar 2014 15:22:44 +0000 Subject: [PATCH] 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 * 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(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index fa7b282af51..cc8de97b193 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-03-19 Pedro Alves + + * gdb.base/async.c (foo): Make 'x' volatile. Write to it twice in + the same line. + 2014-03-19 Pedro Alves * gdb.base/async.c (main): Add "jump here" and "until here" line diff --git a/gdb/testsuite/gdb.base/async.c b/gdb/testsuite/gdb.base/async.c index fb5308248a8..76ce8be57a6 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; -- 2.30.2