[testsuite patch] i386 regression for funcargs.exp [Re: [PATCH 3/3] Remove HP-UX references fom testsuite]

Jan Kratochvil
2016-01-08T19:30:42Z

[-- Attachment #1: Type: text/plain, Size: 1917 bytes --]

On Mon, 21 Dec 2015 18:52:59 +0100, Simon Marchi wrote:
> Ok, I pushed this one in. Thanks!

3ca22649a6dfeb71058c33be4d0542b98f1f0ff5 is the first bad commit
commit 3ca22649a6dfeb71058c33be4d0542b98f1f0ff5
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Mon Dec 21 12:51:54 2015 -0500
Remove HP-UX references fom testsuite
### a/gdb/testsuite/gdb.base/funcargs.exp
### b/gdb/testsuite/gdb.base/funcargs.exp
@@ -1013,13 +1013,6 @@ proc localvars_in_indirect_call { } {
#

gdb_test_multiple "finish" "finish from indirectly called function" {
- -re "\\(\\*pointer_to_call0a\\) \\(c, s, i, l\\);.*First.*$gdb_prompt $" {
- #On hppa2.0w-hp-hpux11.00, gdb finishes at one line earlier than
- #hppa1.1-hp-hpux11.00. Therefore, an extra "step" is necessary
- #to continue the test.
- send_gdb "step\n"
- exp_continue
- }
-re ".*\\(\\*pointer_to_call0a\\) \\(c, s, i, l\\);.*Second.*$gdb_prompt $" {
pass "finish from indirectly called function"
}

->

finish^M
Run till exit from #0 call0a (c=97 'a', s=1, i=2, l=3) at ./gdb.base/funcargs.c:82^M
0x0804a189 in main () at ./gdb.base/funcargs.c:583^M
583 (*pointer_to_call0a) (c, s, i, l); /* First step into call0a. */^M
-(gdb) step^M
-584 (*pointer_to_call0a) (c, s, i, l); /* Second step into call0a. */^M
-(gdb) PASS: gdb.base/funcargs.exp: finish from indirectly called function
+(gdb) FAIL: gdb.base/funcargs.exp: finish from indirectly called function
step^M
-call0a (c=97 'a', s=1, i=2, l=3) at ./gdb.base/funcargs.c:82^M
-82 c = 'a';^M
-(gdb) PASS: gdb.base/funcargs.exp: stepping into indirectly called function
+584 (*pointer_to_call0a) (c, s, i, l); /* Second step into call0a. */^M
+(gdb) FAIL: gdb.base/funcargs.exp: stepping into indirectly called function

At least on x86_64 with testsuite in -m32 (expecting native i386 would be the
same).

OK for check-in?

Jan

[-- Attachment #2: 1 --]
[-- Type: text/plain, Size: 926 bytes --]

gdb/testsuite/ChangeLog
2016-01-08 Jan Kratochvil <jan.kratochvil@redhat.com>

* gdb.base/funcargs.exp (finish from indirectly called function):
Reintroduce the case for 'First'.

diff --git a/gdb/testsuite/gdb.base/funcargs.exp b/gdb/testsuite/gdb.base/funcargs.exp
index e5b6ced..a476169 100644
--- a/gdb/testsuite/gdb.base/funcargs.exp
+++ b/gdb/testsuite/gdb.base/funcargs.exp
@@ -1013,6 +1013,12 @@ proc localvars_in_indirect_call { } {
#

gdb_test_multiple "finish" "finish from indirectly called function" {
+ -re "\\(\\*pointer_to_call0a\\) \\(c, s, i, l\\);.*First.*$gdb_prompt $" {
+ # On i386, gdb finishes at one line earlier than on x86_64.
+ # Therefore, an extra "step" is necessary to continue the test.
+ send_gdb "step\n"
+ exp_continue
+ }
-re ".*\\(\\*pointer_to_call0a\\) \\(c, s, i, l\\);.*Second.*$gdb_prompt $" {
pass "finish from indirectly called function"
}