* Avoid timeouts in call-sc.exp
@ 2004-08-18 21:28 Paul Gilliam
2004-08-18 21:58 ` Michael Chastain
` (2 more replies)
0 siblings, 3 replies; 23+ messages in thread
From: Paul Gilliam @ 2004-08-18 21:28 UTC (permalink / raw)
To: gdb-patches
The test "call-sc.exp" will attemt to "finish" from main if the prevous
"return foo" failed. Here is what happens:
257 gdb_test_multiple "return foo" "${test}" {
If this works, then we are in "main". If it doesn't work (say, due to a gdb
bug) then we are left in the function "fun".
334 gdb_test "advance fun" \
If the "return foo" worked, then this positions us at the start of fun(). If
it didn't work, then this acts like "finish" and we return from the current
function.
356 gdb_test_multiple "finish" "${test}" {
if the "return foo" worked, then we just finish fun(). If not, then we are
attemting to "finish" from main() and the program under test is in an
infinite loop (due to the way it's coded).
This patch fixes this problem by checking to see if the "return foo" worked or
not. If it worked, fine: things are as before. But if it didn't work, the
"finish" is skipped.
-=# Paul #=-
PS: Trying this by hand, the "finish" would complain something like:
"can't 'finish' from the outer most block"
but only if I didn't follow the test case exactly.
Here is the patch:
diff new/call-sc.exp old/call-sc.exp
334,348c334,336
< set test "advance to fun for finish; ${tests}"
< set skip_finish 0
< gdb_test_multiple "advance fun" "${test}" {
< -re "fun .*\[\r\n\]+\[0-9\].*return foo.*" {
< pass "${test}"
< }
< -re "in main" {
< # This happens if the "return foo" failed to actually return:
< # this "advance fun" will not stop on fun, but just return from
< # the routine that "return foo" should have. Then the "finish"
< # below will try to finish "main", which causes an infinte loop.
< # So to avoid the timeout, skip the "finish".
< set skip_finish 1
< }
< }
---
> gdb_test "advance fun" \
> "fun .*\[\r\n\]+\[0-9\].*return foo.*" \
> "advance to fun for finish; ${tests}"
357,368c345,352
< if $skip_finish {
< fail "${test}"
< } else {
< gdb_test_multiple "finish" "${test}" {
< -re "Value returned is .*${gdb_prompt} $" {
< pass "${test}"
< }
< -re "Cannot determine contents.*${gdb_prompt} $" {
< # Expected bad value. For the moment this is ok.
< set finish_value_unknown 1
< pass "${test}"
< }
---
> gdb_test_multiple "finish" "${test}" {
> -re "Value returned is .*${gdb_prompt} $" {
> pass "${test}"
> }
> -re "Cannot determine contents.*${gdb_prompt} $" {
> # Expected bad value. For the moment this is ok.
> set finish_value_unknown 1
> pass "${test}"
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-18 21:28 Avoid timeouts in call-sc.exp Paul Gilliam
@ 2004-08-18 21:58 ` Michael Chastain
2004-08-20 10:34 ` Michael Chastain
[not found] ` <200408261227.58890.pgilliam@us.ibm.com>
2 siblings, 0 replies; 23+ messages in thread
From: Michael Chastain @ 2004-08-18 21:58 UTC (permalink / raw)
To: pgilliam, gdb-patches
Paul Gilliam <pgilliam@us.ibm.com> wrote:
> The test "call-sc.exp" will attemt to "finish" from main if the prevous
> "return foo" failed. Here is what happens:
>
> 257 gdb_test_multiple "return foo" "${test}" {
>
> If this works, then we are in "main". If it doesn't work (say, due to a gdb
> bug) then we are left in the function "fun".
Oh yeah, that is bad news, an opening for desynchronization.
Before I go any further ... Paul, do you have a copyright assignment
with the FSF for gdb? Or maybe IBM has a blanket assignement?
I'm not familiar with IBM's arrangement with the FSF.
Thanks,
Michael Chastain
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-18 21:28 Avoid timeouts in call-sc.exp Paul Gilliam
2004-08-18 21:58 ` Michael Chastain
@ 2004-08-20 10:34 ` Michael Chastain
2004-08-20 16:17 ` Paul Gilliam
2004-08-23 21:11 ` Paul Gilliam
[not found] ` <200408261227.58890.pgilliam@us.ibm.com>
2 siblings, 2 replies; 23+ messages in thread
From: Michael Chastain @ 2004-08-20 10:34 UTC (permalink / raw)
To: pgilliam, gdb-patches; +Cc: cagney
Paul Gilliam <pgilliam@us.ibm.com> wrote:
> The test "call-sc.exp" will attemt to "finish" from main if the prevous
> "return foo" failed. Here is what happens:
>
> 257 gdb_test_multiple "return foo" "${test}" {
>
> If this works, then we are in "main". If it doesn't work (say, due to a gdb
> bug) then we are left in the function "fun".
First, can you post the gdb.log section for call-sc.exp on your
platform that is failing. Also, what system is it and what
compiler are you using to run the test suite?
Good analysis, but I think your fix is too complicated and stateful.
I'd like a different approach to this. Rather than handling various
different places where the program counter could be, it would be
better to do this at the end of the "return foo" test.
Something like this:
# If the previous test did not work, the program counter might
# still be inside foo() rather than main(). Get the program
# counter back to main().
#
# This happens on [system] with [compiler].
set try_finish 0
set test "return foo; synchronize pc to main"
gdb_test_multiple "backtrace 1" $test {
-re "#0.*main \\(\\).*$gdb_prompt $" {
pass $test
}
-re "#0.*fun \\(\\).*$gdb_prompt $" {
if { $try_finish == 0 } {
incr try_finish
gdb_test "finish" ".*" ""
exp_continue
}
fail $test
}
}
Also there is a pre-existing cut-and-paste error in the body of
"Make fun return now":
-re "Make fun return now.*y or n. $" {
gdb_test_multiple "y" "${test}" {
-re "L *= fun.*${gdb_prompt} $" {
# Need to step off the function call
gdb_test "next" "zed.*" "${test}"
}
-re "L[expr + 1] *= fun[expr + 1].*${gdb_prompt} $" {
pass "${test}"
}
}
}
The second arm, "L[expr + 1] *= ...", is supposed to handle the case
where returning from "fun" lands on the line after the call to "fun".
This happens when the compiler generates code so that the last assembly
instruction in "L = fun ();" is the actual assembly-language call
instruction. But the regular expression is wrong, it was copied from
structs.exp and it was meant for structs.c and does not work with
call-sc.c.
I'll make a patch for the cut-and-pasto first. If you want to turn
the code snippet with "try_finish" into a patch and do some testing,
that would be great. Or I could make that into a patch.
Michael
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-20 10:34 ` Michael Chastain
@ 2004-08-20 16:17 ` Paul Gilliam
2004-08-23 21:11 ` Paul Gilliam
1 sibling, 0 replies; 23+ messages in thread
From: Paul Gilliam @ 2004-08-20 16:17 UTC (permalink / raw)
To: gdb-patches
Good stuff.
I'll redo the patch as you suggest. (I'll try to avoid the cut-pasto)
And testing, of course.
-=# Paul #=-
On Friday 20 August 2004 03:35, Michael Chastain wrote:
> Paul Gilliam <pgilliam@us.ibm.com> wrote:
> > The test "call-sc.exp" will attemt to "finish" from main if the prevous
> > "return foo" failed. Here is what happens:
> >
> > 257 gdb_test_multiple "return foo" "${test}" {
> >
> > If this works, then we are in "main". If it doesn't work (say, due to a
> > gdb bug) then we are left in the function "fun".
>
> First, can you post the gdb.log section for call-sc.exp on your
> platform that is failing. Also, what system is it and what
> compiler are you using to run the test suite?
>
> Good analysis, but I think your fix is too complicated and stateful.
> I'd like a different approach to this. Rather than handling various
> different places where the program counter could be, it would be
> better to do this at the end of the "return foo" test.
> Something like this:
>
> # If the previous test did not work, the program counter might
> # still be inside foo() rather than main(). Get the program
> # counter back to main().
> #
> # This happens on [system] with [compiler].
>
> set try_finish 0
> set test "return foo; synchronize pc to main"
> gdb_test_multiple "backtrace 1" $test {
> -re "#0.*main \\(\\).*$gdb_prompt $" {
> pass $test
> }
> -re "#0.*fun \\(\\).*$gdb_prompt $" {
> if { $try_finish == 0 } {
> incr try_finish
> gdb_test "finish" ".*" ""
> exp_continue
> }
> fail $test
> }
> }
>
> Also there is a pre-existing cut-and-paste error in the body of
> "Make fun return now":
>
> -re "Make fun return now.*y or n. $" {
> gdb_test_multiple "y" "${test}" {
> -re "L *= fun.*${gdb_prompt} $" {
> # Need to step off the function call
> gdb_test "next" "zed.*" "${test}"
> }
> -re "L[expr + 1] *= fun[expr + 1].*${gdb_prompt} $" {
> pass "${test}"
> }
> }
> }
>
> The second arm, "L[expr + 1] *= ...", is supposed to handle the case
> where returning from "fun" lands on the line after the call to "fun".
> This happens when the compiler generates code so that the last assembly
> instruction in "L = fun ();" is the actual assembly-language call
> instruction. But the regular expression is wrong, it was copied from
> structs.exp and it was meant for structs.c and does not work with
> call-sc.c.
>
> I'll make a patch for the cut-and-pasto first. If you want to turn
> the code snippet with "try_finish" into a patch and do some testing,
> that would be great. Or I could make that into a patch.
>
> Michael
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-20 10:34 ` Michael Chastain
2004-08-20 16:17 ` Paul Gilliam
@ 2004-08-23 21:11 ` Paul Gilliam
2004-08-23 21:55 ` Michael Chastain
1 sibling, 1 reply; 23+ messages in thread
From: Paul Gilliam @ 2004-08-23 21:11 UTC (permalink / raw)
To: gdb-patches
Michael,
What is the purpose of 'try_finish'? I don't see how the test 'if (try_finish
== 0)' will ever fail to be true. What am I missing?
-=# Paul #=-
On Friday 20 August 2004 03:35, Michael Chastain wrote:
> Paul Gilliam <pgilliam@us.ibm.com> wrote:
> > The test "call-sc.exp" will attemt to "finish" from main if the prevous
> > "return foo" failed. Here is what happens:
> >
> > 257 gdb_test_multiple "return foo" "${test}" {
> >
> > If this works, then we are in "main". If it doesn't work (say, due to a
> > gdb bug) then we are left in the function "fun".
>
> First, can you post the gdb.log section for call-sc.exp on your
> platform that is failing. Also, what system is it and what
> compiler are you using to run the test suite?
>
> Good analysis, but I think your fix is too complicated and stateful.
> I'd like a different approach to this. Rather than handling various
> different places where the program counter could be, it would be
> better to do this at the end of the "return foo" test.
> Something like this:
>
> # If the previous test did not work, the program counter might
> # still be inside foo() rather than main(). Get the program
> # counter back to main().
> #
> # This happens on [system] with [compiler].
>
> set try_finish 0
> set test "return foo; synchronize pc to main"
> gdb_test_multiple "backtrace 1" $test {
> -re "#0.*main \\(\\).*$gdb_prompt $" {
> pass $test
> }
> -re "#0.*fun \\(\\).*$gdb_prompt $" {
> if { $try_finish == 0 } {
> incr try_finish
> gdb_test "finish" ".*" ""
> exp_continue
> }
> fail $test
> }
> }
>
> Also there is a pre-existing cut-and-paste error in the body of
> "Make fun return now":
>
> -re "Make fun return now.*y or n. $" {
> gdb_test_multiple "y" "${test}" {
> -re "L *= fun.*${gdb_prompt} $" {
> # Need to step off the function call
> gdb_test "next" "zed.*" "${test}"
> }
> -re "L[expr + 1] *= fun[expr + 1].*${gdb_prompt} $" {
> pass "${test}"
> }
> }
> }
>
> The second arm, "L[expr + 1] *= ...", is supposed to handle the case
> where returning from "fun" lands on the line after the call to "fun".
> This happens when the compiler generates code so that the last assembly
> instruction in "L = fun ();" is the actual assembly-language call
> instruction. But the regular expression is wrong, it was copied from
> structs.exp and it was meant for structs.c and does not work with
> call-sc.c.
>
> I'll make a patch for the cut-and-pasto first. If you want to turn
> the code snippet with "try_finish" into a patch and do some testing,
> that would be great. Or I could make that into a patch.
>
> Michael
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-23 21:11 ` Paul Gilliam
@ 2004-08-23 21:55 ` Michael Chastain
2004-08-24 16:15 ` Paul Gilliam
2004-08-25 17:54 ` Paul Gilliam
0 siblings, 2 replies; 23+ messages in thread
From: Michael Chastain @ 2004-08-23 21:55 UTC (permalink / raw)
To: pgilliam, gdb-patches
Paul Gilliam <pgilliam@us.ibm.com> wrote:
> What is the purpose of 'try_finish'? I don't see how the test 'if
> (try_finish == 0)' will ever fail to be true. What am I missing?
The idea is to allow either this:
backtrace 1
#0 int main() ... blah
(gdb) PASS: return foo; synchronize pc to main
Or this:
backtrace 1
#0 ... fun () ... blah
#1 int main () ... blah
(gdb) finish
finishing ... blah
(gdb) backtrace 1
#0 int main () ... blah
(gdb) PASS: return foo; synchronize pc to main
In the first case, the program counter is already back in main()
after the call to "return", and everything is cool.
In the second case, "return" spazzed out, and the program counter
is still left back inside fun(). That's the case that attracted
you to call-sc.exp.
What I tried to write was:
int try_finish = 0;
while (gdb is stuck in fun())
{
if (try_finish == 0)
{
try_finish++;
tell gdb to "finish";
continue;
}
}
But exp_continue does not quite work because it does not re-issue
the "backtrace 1" command.
The simple way out is not to use exp_continue:
set test "return foo; synchronize pc to main"
gdb_test_multiple "backtrace 1" $test {
-re "#0.*main \\(\\).*$gdb_prompt $" {
pass $test
}
-re "#0.*fun \\(\\).*$gdb_prompt $" {
gdb_test "finish" ".*" ""
gdb_test "backtrace 1" "#0.*main \\(\\)" $test
}
Can you play with that?
Also I am still hoping to see the gdb.log file from your system
where call-sc.exp has this problem.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-23 21:55 ` Michael Chastain
@ 2004-08-24 16:15 ` Paul Gilliam
2004-08-24 17:26 ` Michael Chastain
2004-08-25 17:54 ` Paul Gilliam
1 sibling, 1 reply; 23+ messages in thread
From: Paul Gilliam @ 2004-08-24 16:15 UTC (permalink / raw)
To: Michael Chastain; +Cc: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 2157 bytes --]
On Monday 23 August 2004 14:55, Michael Chastain wrote:
> Paul Gilliam <pgilliam@us.ibm.com> wrote:
> > What is the purpose of 'try_finish'? I don't see how the test 'if
> > (try_finish == 0)' will ever fail to be true. What am I missing?
>
> The idea is to allow either this:
>
> backtrace 1
> #0 int main() ... blah
> (gdb) PASS: return foo; synchronize pc to main
>
> Or this:
>
> backtrace 1
> #0 ... fun () ... blah
> #1 int main () ... blah
> (gdb) finish
> finishing ... blah
> (gdb) backtrace 1
> #0 int main () ... blah
> (gdb) PASS: return foo; synchronize pc to main
>
> In the first case, the program counter is already back in main()
> after the call to "return", and everything is cool.
>
> In the second case, "return" spazzed out, and the program counter
> is still left back inside fun(). That's the case that attracted
> you to call-sc.exp.
>
> What I tried to write was:
>
> int try_finish = 0;
> while (gdb is stuck in fun())
> {
> if (try_finish == 0)
> {
> try_finish++;
> tell gdb to "finish";
> continue;
> }
> }
>
> But exp_continue does not quite work because it does not re-issue
> the "backtrace 1" command.
>
> The simple way out is not to use exp_continue:
>
> set test "return foo; synchronize pc to main"
> gdb_test_multiple "backtrace 1" $test {
> -re "#0.*main \\(\\).*$gdb_prompt $" {
> pass $test
> }
> -re "#0.*fun \\(\\).*$gdb_prompt $" {
> gdb_test "finish" ".*" ""
> gdb_test "backtrace 1" "#0.*main \\(\\)" $test
> }
>
> Can you play with that?
>
> Also I am still hoping to see the gdb.log file from your system
> where call-sc.exp has this problem.
I will play with this and post it back.
In the mean time, I have attached a couple of logs. 'ppc32.gdb.log' is an
example of things working correctly. (It was generated using a 64-bit GDB and
a 32-bit application-under-test). 'ppc64.gdb.log' is a partial log (I got
tired of waiting for the timeouts). In this case, gdb was again 64-bits but
the application-under-test was also 64-bits. This combination has a bug that
caused the problem to show up.
[-- Attachment #2: ppc32.gdb.log --]
[-- Type: text/x-log, Size: 30886 bytes --]
Test Run By pgilliam on Tue Aug 24 16:04:51 2004
Native configuration is powerpc64-unknown-linux-gnu
=== gdb tests ===
Schedule of variations:
unix/-m32
Running target unix/-m32
Using ./dejagnu/baseboards/unix.exp as board description file for target.
Using ./dejagnu/config/unix.exp as generic interface file for target.
Using ./config/unix.exp as tool-and-target-specific interface file.
Running ./gdb.base/call-sc.exp ...
get_compiler_info: gcc-3-4-1
Executing on host: gcc ./gdb.base/call-sc.c -DT=tc -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-tc (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tc
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tc...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tc
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tc
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tc
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tc
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tc
type = char
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tc (char)
ptype foo
type = char
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tc char
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tc
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tc
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tc
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tc
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tc
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tc
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tc
advance fun
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
(gdb) FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tc
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tc
finish
"finish" not meaningful in the outermost frame.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tc
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tc
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tc
Executing on host: gcc ./gdb.base/call-sc.c -DT=ts -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-ts (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-ts
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-ts...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-ts
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-ts
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-ts
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-ts
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype ts
type = short int
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-ts (short int)
ptype foo
type = short int
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-ts short int
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-ts
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-ts
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-ts
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-ts
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-ts
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-ts
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-ts
advance fun
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
(gdb) FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-ts
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-ts
finish
"finish" not meaningful in the outermost frame.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-ts
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-ts
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-ts
Executing on host: gcc ./gdb.base/call-sc.c -DT=ti -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-ti (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-ti
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-ti...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-ti
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-ti
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-ti
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-ti
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype ti
type = int
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-ti (int)
ptype foo
type = int
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-ti int
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-ti
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-ti
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-ti
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-ti
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-ti
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-ti
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-ti
advance fun
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
(gdb) FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-ti
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-ti
finish
"finish" not meaningful in the outermost frame.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-ti
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-ti
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-ti
Executing on host: gcc ./gdb.base/call-sc.c -DT=tl -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-tl (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tl
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tl...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tl
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tl
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tl
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tl
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tl
type = long int
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tl (long int)
ptype foo
type = long int
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tl long int
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tl
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tl
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tl
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tl
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tl
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tl
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tl
advance fun
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
(gdb) FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tl
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tl
finish
"finish" not meaningful in the outermost frame.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tl
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tl
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tl
Executing on host: gcc ./gdb.base/call-sc.c -DT=tll -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-tll (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tll
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tll...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tll
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tll
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tll
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tll
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tll
type = long long int
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tll (long long int)
ptype foo
type = long long int
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tll long long int
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tll
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tll
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tll
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tll
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tll
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tll
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tll
advance fun
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
(gdb) FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tll
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tll
finish
"finish" not meaningful in the outermost frame.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tll
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tll
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tll
Executing on host: gcc ./gdb.base/call-sc.c -DT=tf -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-tf (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tf
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tf...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tf
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tf
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tf
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tf
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tf
type = float
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tf (float)
ptype foo
type = float
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tf float
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tf
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tf
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tf
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tf
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tf
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tf
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tf
advance fun
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
(gdb) FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tf
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tf
finish
"finish" not meaningful in the outermost frame.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tf
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tf
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tf
Executing on host: gcc ./gdb.base/call-sc.c -DT=td -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-td (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-td
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-td...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-td
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-td
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-td
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-td
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype td
type = double
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-td (double)
ptype foo
type = double
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-td double
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-td
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-td
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-td
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-td
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-td
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-td
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-td
advance fun
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
(gdb) FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-td
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-td
finish
"finish" not meaningful in the outermost frame.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-td
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-td
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-td
Executing on host: gcc ./gdb.base/call-sc.c -DT=tld -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-tld (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tld
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tld...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tld
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tld
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tld
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tld
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tld
type = long double
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tld (long double)
ptype foo
type = long double
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tld long double
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tld
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tld
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tld
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tld
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tld
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tld
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tld
advance fun
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
(gdb) FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tld
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tld
finish
"finish" not meaningful in the outermost frame.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tld
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tld
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tld
Executing on host: gcc ./gdb.base/call-sc.c -DT=te -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-te (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-te
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-te...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-te
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-te
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-te
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-te
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype te
type = enum {e = 49}
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-te (enum {e = 49})
ptype foo
type = enum {e = 49}
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-te enum {e = 49}
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-te
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-te
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-te
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-te
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-te
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-te
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-te
advance fun
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
(gdb) FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-te
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-te
finish
"finish" not meaningful in the outermost frame.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-te
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-te
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-te
testcase ./gdb.base/call-sc.exp completed in 15 seconds
=== gdb Summary ===
# of expected passes 90
# of unexpected failures 63
Executing on host: /usr/bin/gdb -nw --command gdb_cmd (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
/usr/bin/gdb version 2004 -nx
runtest completed at Tue Aug 24 16:05:06 2004
[-- Attachment #3: ppc64.gdb.log --]
[-- Type: text/x-log, Size: 7583 bytes --]
Test Run By pgilliam on Mon Aug 23 20:19:15 2004
Native configuration is powerpc64-unknown-linux-gnu
=== gdb tests ===
Schedule of variations:
unix/-m64
Running target unix/-m64
Using ./dejagnu/baseboards/unix.exp as board description file for target.
Using ./dejagnu/config/unix.exp as generic interface file for target.
Using ./config/unix.exp as tool-and-target-specific interface file.
Running ./gdb.base/call-sc.exp ...
get_compiler_info: gcc-3-4-1
Executing on host: gcc ./gdb.base/call-sc.c -DT=tc -g -lm -m64 -o /home/gdb-testsuite/gdb.base/call-sc-tc (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tc
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tc...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tc
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tc
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tc
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tc
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tc
type = char
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tc (char)
ptype foo
type = char
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tc char
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tc
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tc
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tc
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tc
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tc
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tc
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tc
advance fun
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
(gdb) FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tc
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tc
finish
Run till exit from #0 main () at ./gdb.base/call-sc.c:78
FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tc (timeout)
p/c
FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tc (timeout)
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tc
Executing on host: gcc ./gdb.base/call-sc.c -DT=ts -g -lm -m64 -o /home/gdb-testsuite/gdb.base/call-sc-ts (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-ts
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-ts...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-ts
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-ts
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-ts
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-ts
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype ts
type = short int
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-ts (short int)
ptype foo
type = short int
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-ts short int
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-ts
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-ts
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-ts
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-ts
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-ts
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-ts
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-ts
advance fun
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
(gdb) FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-ts
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-ts
finish
Run till exit from #0 main () at ./gdb.base/call-sc.c:78
FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-ts (timeout)
p/c
got a INT signal, interrupted by user
=== gdb Summary ===
# of expected passes 19
# of unexpected failures 13
Executing on host: /usr/bin/gdb -nw --command gdb_cmd (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
/usr/bin/gdb version 2004 -nx
runtest completed at Mon Aug 23 20:23:08 2004
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-24 16:15 ` Paul Gilliam
@ 2004-08-24 17:26 ` Michael Chastain
2004-08-24 18:50 ` Paul Gilliam
0 siblings, 1 reply; 23+ messages in thread
From: Michael Chastain @ 2004-08-24 17:26 UTC (permalink / raw)
To: pgilliam; +Cc: gdb-patches
Good logs!
Both of the logs show similar de-synchronization.
The problem starts here in ppc32.gdb.log:
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tc
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tc
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tc
advance fun
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
(gdb) FAIL: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tc
p/c L
I presume the I/O error on fpscr is a bug in gdb.
After the bug happens, variable 'L' is not set to its new value.
And then "advance" starts from some de-synchronized place.
ppc64.gdb.log has the same problem.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-24 17:26 ` Michael Chastain
@ 2004-08-24 18:50 ` Paul Gilliam
2004-08-24 18:52 ` Daniel Jacobowitz
2004-08-24 18:55 ` Michael Chastain
0 siblings, 2 replies; 23+ messages in thread
From: Paul Gilliam @ 2004-08-24 18:50 UTC (permalink / raw)
To: gdb-patches; +Cc: Michael Chastain
Here is a diff between the two logs from where their difference is
non-trivial:
< Running target unix/-m32
---
> Running target unix/-m64
94,95c94,95
< "finish" not meaningful in the outermost frame.
< (gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tc
---
> Run till exit from #0 main () at ./gdb.base/call-sc.c:78
> FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tc (timeout)
Here is the $64000 question: why did GDB recognize we were in the
outermost frame for the 32-bit case and not for the 64-bit case? Is main()
not the outermost frame for ppc64 but is for ppc32? Guess I'll have to
break-down and check the API's.
-=# Paul #=-
On Tuesday 24 August 2004 10:26, Michael Chastain wrote:
> Good logs!
>
> Both of the logs show similar de-synchronization.
>
> The problem starts here in ppc32.gdb.log:
>
> p/c L
> $2 = 90 'Z'
> (gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tc
> return foo
> Make fun return now? (y or n) y
> reading register fpscr (#70): Input/output error.
> (gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tc
> p/c L
> $3 = 90 'Z'
> (gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tc
> advance fun
> main () at ./gdb.base/call-sc.c:78
> 78 L = fun ();
> (gdb) FAIL: gdb.base/call-sc.exp: advance to fun for finish; return
> call-sc-tc p/c L
>
> I presume the I/O error on fpscr is a bug in gdb.
> After the bug happens, variable 'L' is not set to its new value.
> And then "advance" starts from some de-synchronized place.
>
> ppc64.gdb.log has the same problem.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-24 18:50 ` Paul Gilliam
@ 2004-08-24 18:52 ` Daniel Jacobowitz
2004-08-24 18:55 ` Michael Chastain
1 sibling, 0 replies; 23+ messages in thread
From: Daniel Jacobowitz @ 2004-08-24 18:52 UTC (permalink / raw)
To: Paul Gilliam; +Cc: gdb-patches, Michael Chastain
On Tue, Aug 24, 2004 at 11:48:06AM -0700, Paul Gilliam wrote:
> Here is a diff between the two logs from where their difference is
> non-trivial:
>
> < Running target unix/-m32
> ---
> > Running target unix/-m64
>
> 94,95c94,95
> < "finish" not meaningful in the outermost frame.
> < (gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tc
> ---
> > Run till exit from #0 main () at ./gdb.base/call-sc.c:78
> > FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tc (timeout)
>
> Here is the $64000 question: why did GDB recognize we were in the
> outermost frame for the 32-bit case and not for the 64-bit case? Is main()
> not the outermost frame for ppc64 but is for ppc32? Guess I'll have to
> break-down and check the API's.
Probably GDB is confused about main and ".main"...
--
Daniel Jacobowitz
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-24 18:50 ` Paul Gilliam
2004-08-24 18:52 ` Daniel Jacobowitz
@ 2004-08-24 18:55 ` Michael Chastain
2004-08-24 19:14 ` Paul Gilliam
1 sibling, 1 reply; 23+ messages in thread
From: Michael Chastain @ 2004-08-24 18:55 UTC (permalink / raw)
To: pgilliam, gdb-patches
Paul Gilliam <pgilliam@us.ibm.com> wrote:
> Here is the $64000 question: why did GDB recognize we were in the
> outermost frame for the 32-bit case and not for the 64-bit case?
Two things at a time.
The problem in call-sc.exp is that it assumes that the inferior
program is at a well-defined location after 'return'. When that's
not true, it derails. I want to get that fixed.
The problem in gdb is that 'return' is the I/O error on fpscr.
It's yet another issue about recognizing the outermost frame
on different ports, and I'm not going to care about that now.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-24 18:55 ` Michael Chastain
@ 2004-08-24 19:14 ` Paul Gilliam
0 siblings, 0 replies; 23+ messages in thread
From: Paul Gilliam @ 2004-08-24 19:14 UTC (permalink / raw)
To: gdb-patches
On Tuesday 24 August 2004 11:55, Michael Chastain wrote:
> Paul Gilliam <pgilliam@us.ibm.com> wrote:
> > Here is the $64000 question: why did GDB recognize we were in the
> > outermost frame for the 32-bit case and not for the 64-bit case?
>
> Two things at a time.
>
> The problem in call-sc.exp is that it assumes that the inferior
> program is at a well-defined location after 'return'. When that's
> not true, it derails. I want to get that fixed.
>
> The problem in gdb is that 'return' is the I/O error on fpscr.
>
> It's yet another issue about recognizing the outermost frame
> on different ports, and I'm not going to care about that now.
Fair enough. Fix call-sc.exp first, then look into the outer-most block thing
as a seperate bug.
-=# Paul #=-
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-23 21:55 ` Michael Chastain
2004-08-24 16:15 ` Paul Gilliam
@ 2004-08-25 17:54 ` Paul Gilliam
2004-08-25 18:11 ` Michael Chastain
1 sibling, 1 reply; 23+ messages in thread
From: Paul Gilliam @ 2004-08-25 17:54 UTC (permalink / raw)
To: Michael Chastain; +Cc: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 2914 bytes --]
ok, here is the new patch. The logs are attached.
diff -Naur old/call-sc.exp new/call-sc.exp
--- old/call-sc.exp 2004-08-24 01:11:59.000000000 +0000
+++ new/call-sc.exp 2004-08-25 22:27:04.089926216 +0000
@@ -281,6 +281,30 @@
}
}
+ # If the previous test did not work, the program counter might
+ # still be inside foo() rather than main(). Make sure the program
+ # counter is is main().
+ #
+ # This happens on ppc64 GNU/Linux with gcc 3.4.1 and a buggy GDB
+
+ set test "return foo; syncronize pc to main()"
+ for {set loop_count 0} {${loop_count} < 2} {incr loop_count} {
+ gdb_test_multiple "backtrace 1" $test {
+ -re "#0.*main \\(\\).*${gdb_prompt} $" {
+ pass ${test}
+ set loop_count 2
+ }
+ -re "#0.*fun \\(\\).*${gdb_prompt} $" {
+ if {${loop_count} < 1} {
+ gdb_test "finish" ".*" ""
+ } else {
+ fail ${test}
+ set loop_count 2
+ }
+ }
+ }
+ }
+
# Check that the return-value is as expected. At this stage we're
# just checking that GDB has returned a value consistent with
# "return_value_unknown" set above.
-=# Paul #=-
On Monday 23 August 2004 14:55, Michael Chastain wrote:
> Paul Gilliam <pgilliam@us.ibm.com> wrote:
> > What is the purpose of 'try_finish'? I don't see how the test 'if
> > (try_finish == 0)' will ever fail to be true. What am I missing?
>
> The idea is to allow either this:
>
> backtrace 1
> #0 int main() ... blah
> (gdb) PASS: return foo; synchronize pc to main
>
> Or this:
>
> backtrace 1
> #0 ... fun () ... blah
> #1 int main () ... blah
> (gdb) finish
> finishing ... blah
> (gdb) backtrace 1
> #0 int main () ... blah
> (gdb) PASS: return foo; synchronize pc to main
>
> In the first case, the program counter is already back in main()
> after the call to "return", and everything is cool.
>
> In the second case, "return" spazzed out, and the program counter
> is still left back inside fun(). That's the case that attracted
> you to call-sc.exp.
>
> What I tried to write was:
>
> int try_finish = 0;
> while (gdb is stuck in fun())
> {
> if (try_finish == 0)
> {
> try_finish++;
> tell gdb to "finish";
> continue;
> }
> }
>
> But exp_continue does not quite work because it does not re-issue
> the "backtrace 1" command.
>
> The simple way out is not to use exp_continue:
>
> set test "return foo; synchronize pc to main"
> gdb_test_multiple "backtrace 1" $test {
> -re "#0.*main \\(\\).*$gdb_prompt $" {
> pass $test
> }
> -re "#0.*fun \\(\\).*$gdb_prompt $" {
> gdb_test "finish" ".*" ""
> gdb_test "backtrace 1" "#0.*main \\(\\)" $test
> }
>
> Can you play with that?
>
> Also I am still hoping to see the gdb.log file from your system
> where call-sc.exp has this problem.
[-- Attachment #2: ppc32_gdb.log --]
[-- Type: text/x-log, Size: 35346 bytes --]
Test Run By root on Wed Aug 25 17:41:04 2004
Native configuration is powerpc64-unknown-linux-gnu
=== gdb tests ===
Schedule of variations:
unix/-m32
Running target unix/-m32
Using ./dejagnu/baseboards/unix.exp as board description file for target.
Using ./dejagnu/config/unix.exp as generic interface file for target.
Using ./config/unix.exp as tool-and-target-specific interface file.
Running ./gdb.base/call-sc.exp ...
get_compiler_info: gcc-3-4-1
Executing on host: gcc ./gdb.base/call-sc.c -DT=tc -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-tc (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tc
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tc...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tc
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tc
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tc
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tc
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tc
type = char
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tc (char)
ptype foo
type = char
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tc char
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tc
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tc
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tc
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tc
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tc
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tc
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tc
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tc
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tc
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tc
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tc
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tc
Executing on host: gcc ./gdb.base/call-sc.c -DT=ts -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-ts (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-ts
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-ts...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-ts
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-ts
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-ts
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-ts
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype ts
type = short int
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-ts (short int)
ptype foo
type = short int
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-ts short int
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-ts
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-ts
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-ts
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-ts
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-ts
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-ts
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-ts
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-ts
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-ts
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-ts
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-ts
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-ts
Executing on host: gcc ./gdb.base/call-sc.c -DT=ti -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-ti (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-ti
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-ti...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-ti
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-ti
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-ti
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-ti
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype ti
type = int
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-ti (int)
ptype foo
type = int
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-ti int
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-ti
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-ti
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-ti
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-ti
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-ti
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-ti
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-ti
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-ti
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-ti
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-ti
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-ti
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-ti
Executing on host: gcc ./gdb.base/call-sc.c -DT=tl -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-tl (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tl
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tl...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tl
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tl
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tl
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tl
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tl
type = long int
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tl (long int)
ptype foo
type = long int
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tl long int
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tl
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tl
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tl
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tl
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tl
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tl
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tl
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tl
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tl
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tl
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tl
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tl
Executing on host: gcc ./gdb.base/call-sc.c -DT=tll -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-tll (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tll
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tll...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tll
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tll
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tll
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tll
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tll
type = long long int
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tll (long long int)
ptype foo
type = long long int
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tll long long int
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tll
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tll
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tll
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tll
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tll
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tll
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tll
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tll
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tll
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tll
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tll
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tll
Executing on host: gcc ./gdb.base/call-sc.c -DT=tf -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-tf (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tf
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tf...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tf
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tf
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tf
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tf
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tf
type = float
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tf (float)
ptype foo
type = float
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tf float
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tf
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tf
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tf
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tf
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tf
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tf
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tf
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tf
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tf
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tf
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tf
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tf
Executing on host: gcc ./gdb.base/call-sc.c -DT=td -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-td (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-td
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-td...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-td
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-td
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-td
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-td
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype td
type = double
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-td (double)
ptype foo
type = double
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-td double
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-td
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-td
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-td
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-td
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-td
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-td
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-td
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-td
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-td
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-td
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-td
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-td
Executing on host: gcc ./gdb.base/call-sc.c -DT=tld -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-tld (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tld
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tld...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tld
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tld
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tld
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tld
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tld
type = long double
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tld (long double)
ptype foo
type = long double
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tld long double
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tld
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tld
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tld
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tld
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tld
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tld
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tld
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tld
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tld
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tld
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tld
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tld
Executing on host: gcc ./gdb.base/call-sc.c -DT=te -g -lm -m32 -o /home/gdb-testsuite/gdb.base/call-sc-te (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-te
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-te...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-te
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-te
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-te
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-te
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype te
type = enum {e = 49}
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-te (enum {e = 49})
ptype foo
type = enum {e = 49}
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-te enum {e = 49}
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-te
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-te
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-te
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-te
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-te
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-te
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-te
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-te
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-te
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-te
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-te
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-te
testcase ./gdb.base/call-sc.exp completed in 3 seconds
=== gdb Summary ===
# of expected passes 108
# of unexpected failures 54
Executing on host: /usr/bin/gdb -nw --command gdb_cmd (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
/usr/bin/gdb version 2004 -nx
runtest completed at Wed Aug 25 17:41:08 2004
[-- Attachment #3: ppc64_gdb.log --]
[-- Type: text/x-log, Size: 35616 bytes --]
Test Run By root on Wed Aug 25 17:42:16 2004
Native configuration is powerpc64-unknown-linux-gnu
=== gdb tests ===
Schedule of variations:
unix/-m64
Running target unix/-m64
Using ./dejagnu/baseboards/unix.exp as board description file for target.
Using ./dejagnu/config/unix.exp as generic interface file for target.
Using ./config/unix.exp as tool-and-target-specific interface file.
Running ./gdb.base/call-sc.exp ...
get_compiler_info: gcc-3-4-1
Executing on host: gcc ./gdb.base/call-sc.c -DT=tc -g -lm -m64 -o /home/gdb-testsuite/gdb.base/call-sc-tc (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tc
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tc...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tc
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tc
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tc
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tc
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tc
type = char
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tc (char)
ptype foo
type = char
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tc char
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tc
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tc
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tc
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tc
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tc
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tc
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(More stack frames follow...)
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tc
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tc
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tc
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tc
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tc
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tc
Executing on host: gcc ./gdb.base/call-sc.c -DT=ts -g -lm -m64 -o /home/gdb-testsuite/gdb.base/call-sc-ts (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-ts
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-ts...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-ts
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-ts
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-ts
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-ts
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype ts
type = short int
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-ts (short int)
ptype foo
type = short int
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-ts short int
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-ts
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-ts
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-ts
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-ts
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-ts
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-ts
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(More stack frames follow...)
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-ts
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-ts
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-ts
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-ts
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-ts
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-ts
Executing on host: gcc ./gdb.base/call-sc.c -DT=ti -g -lm -m64 -o /home/gdb-testsuite/gdb.base/call-sc-ti (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-ti
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-ti...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-ti
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-ti
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-ti
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-ti
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype ti
type = int
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-ti (int)
ptype foo
type = int
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-ti int
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-ti
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-ti
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-ti
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-ti
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-ti
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-ti
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(More stack frames follow...)
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-ti
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-ti
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-ti
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-ti
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-ti
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-ti
Executing on host: gcc ./gdb.base/call-sc.c -DT=tl -g -lm -m64 -o /home/gdb-testsuite/gdb.base/call-sc-tl (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tl
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tl...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tl
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tl
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tl
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tl
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tl
type = long int
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tl (long int)
ptype foo
type = long int
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tl long int
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tl
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tl
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tl
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tl
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tl
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tl
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(More stack frames follow...)
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tl
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tl
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tl
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tl
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tl
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tl
Executing on host: gcc ./gdb.base/call-sc.c -DT=tll -g -lm -m64 -o /home/gdb-testsuite/gdb.base/call-sc-tll (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tll
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tll...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tll
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tll
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tll
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tll
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tll
type = long long int
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tll (long long int)
ptype foo
type = long long int
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tll long long int
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tll
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tll
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tll
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tll
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tll
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tll
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(More stack frames follow...)
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tll
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tll
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tll
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tll
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tll
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tll
Executing on host: gcc ./gdb.base/call-sc.c -DT=tf -g -lm -m64 -o /home/gdb-testsuite/gdb.base/call-sc-tf (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tf
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tf...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tf
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tf
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tf
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tf
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tf
type = float
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tf (float)
ptype foo
type = float
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tf float
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tf
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tf
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tf
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tf
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tf
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tf
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(More stack frames follow...)
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tf
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tf
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tf
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tf
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tf
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tf
Executing on host: gcc ./gdb.base/call-sc.c -DT=td -g -lm -m64 -o /home/gdb-testsuite/gdb.base/call-sc-td (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-td
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-td...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-td
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-td
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-td
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-td
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype td
type = double
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-td (double)
ptype foo
type = double
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-td double
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-td
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-td
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-td
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-td
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-td
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-td
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(More stack frames follow...)
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-td
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-td
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-td
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-td
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-td
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-td
Executing on host: gcc ./gdb.base/call-sc.c -DT=tld -g -lm -m64 -o /home/gdb-testsuite/gdb.base/call-sc-tld (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-tld
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-tld...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-tld
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-tld
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-tld
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-tld
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype tld
type = long double
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-tld (long double)
ptype foo
type = long double
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-tld long double
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-tld
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-tld
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-tld
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-tld
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-tld
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-tld
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(More stack frames follow...)
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-tld
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-tld
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-tld
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-tld
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-tld
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-tld
Executing on host: gcc ./gdb.base/call-sc.c -DT=te -g -lm -m64 -o /home/gdb-testsuite/gdb.base/call-sc-te (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir ./gdb.base
Source directories searched: /home/gdb-testsuite/./gdb.base:$cdir:$cwd
(gdb) file /home/gdb-testsuite/gdb.base/call-sc-te
Reading symbols from /home/gdb-testsuite/gdb.base/call-sc-te...done.
Using host libthread_db library "/lib64/tls/libthread_db.so.1".
(gdb) set print sevenbit-strings
(gdb) PASS: gdb.base/call-sc.exp: set print sevenbit-strings; call-sc-te
set print address off
(gdb) PASS: gdb.base/call-sc.exp: set print address off; call-sc-te
set width 0
(gdb) PASS: gdb.base/call-sc.exp: set width 0; call-sc-te
delete breakpoints
(gdb) info breakpoints
No breakpoints or watchpoints.
(gdb) break main
Breakpoint 1: file ./gdb.base/call-sc.c, line 68.
(gdb) run
Starting program: /home/gdb-testsuite/gdb.base/call-sc-te
Breakpoint 1, main () at ./gdb.base/call-sc.c:68
68 Fun(foo);
(gdb) info source
Current source file is ./gdb.base/call-sc.c
Compilation directory is /home/gdb-testsuite
Located in /home/gdb-testsuite/gdb.base/call-sc.c
Contains 83 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
(gdb) ptype te
type = enum {e = 49}
(gdb) PASS: gdb.base/call-sc.exp: ptype; call-sc-te (enum {e = 49})
ptype foo
type = enum {e = 49}
(gdb) PASS: gdb.base/call-sc.exp: ptype foo; call-sc-te enum {e = 49}
p/c fun()
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: p/c fun(); call call-sc-te
call Fun(foo)
reading register fpscr (#70): Input/output error.
(gdb) PASS: gdb.base/call-sc.exp: call Fun(foo); call call-sc-te
p/c L
$1 = 0 '\0'
(gdb) FAIL: gdb.base/call-sc.exp: p/c L; call call-sc-te
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for return; return call-sc-te
p/c L
$2 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for return; return call-sc-te
return foo
Make fun return now? (y or n) y
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: return foo; return call-sc-te
backtrace 1
#0 fun () at ./gdb.base/call-sc.c:42
(More stack frames follow...)
(gdb) finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) backtrace 1
#0 main () at ./gdb.base/call-sc.c:78
(More stack frames follow...)
(gdb) PASS: gdb.base/call-sc.exp: return foo; syncronize pc to main()
p/c L
$3 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo returned; return call-sc-te
advance fun
fun () at ./gdb.base/call-sc.c:42
42 return foo;
(gdb) PASS: gdb.base/call-sc.exp: advance to fun for finish; return call-sc-te
p/c L
$4 = 90 'Z'
(gdb) PASS: gdb.base/call-sc.exp: zed L for finish; return call-sc-te
finish
Run till exit from #0 fun () at ./gdb.base/call-sc.c:42
main () at ./gdb.base/call-sc.c:78
78 L = fun ();
reading register fpscr (#70): Input/output error.
(gdb) FAIL: gdb.base/call-sc.exp: finish foo; return call-sc-te
p/c
$5 = 90 'Z'
(gdb) FAIL: gdb.base/call-sc.exp: value foo finished; return call-sc-te
PASS: gdb.base/call-sc.exp: return and finish use same convention; return call-sc-te
testcase ./gdb.base/call-sc.exp completed in 3 seconds
=== gdb Summary ===
# of expected passes 108
# of unexpected failures 54
Executing on host: /usr/bin/gdb -nw --command gdb_cmd (timeout = 300)
GNU gdb Red Hat Linux (6.1post-1.20040607.8rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu".
/usr/bin/gdb version 2004 -nx
runtest completed at Wed Aug 25 17:42:19 2004
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-25 17:54 ` Paul Gilliam
@ 2004-08-25 18:11 ` Michael Chastain
2004-08-25 18:21 ` Paul Gilliam
2004-08-25 19:08 ` Paul Gilliam
0 siblings, 2 replies; 23+ messages in thread
From: Michael Chastain @ 2004-08-25 18:11 UTC (permalink / raw)
To: pgilliam; +Cc: gdb-patches
It's a little weird, but it's much better.
. "synchronize" is spelled with an h.
. include a changelog entry with the submission
. you don't need ${...} for each variable access.
just $loop_count, $test, and so on.
. this is the fsf version of gdb, it's better to work with
fsf sources -- either gdb 6.2 or the cvs version of gdb,
not a red hat gdb.
Can you fix those things up, then download gdb 6.2 or the
cvs version of gdb, and do your work against that.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-25 18:11 ` Michael Chastain
@ 2004-08-25 18:21 ` Paul Gilliam
2004-08-25 18:52 ` Michael Chastain
2004-08-25 19:08 ` Paul Gilliam
1 sibling, 1 reply; 23+ messages in thread
From: Paul Gilliam @ 2004-08-25 18:21 UTC (permalink / raw)
To: Michael Chastain; +Cc: gdb-patches
On Wednesday 25 August 2004 11:11, Michael Chastain wrote:
> It's a little weird, but it's much better.
>
> . "synchronize" is spelled with an h.
> . include a changelog entry with the submission
> . you don't need ${...} for each variable access.
> just $loop_count, $test, and so on.
> . this is the fsf version of gdb, it's better to work with
> fsf sources -- either gdb 6.2 or the cvs version of gdb,
> not a red hat gdb.
>
> Can you fix those things up, then download gdb 6.2 or the
> cvs version of gdb, and do your work against that.
I don't think 6.2 or CVS head would work: they don't exibite the underling bug
that triggers the problem in the test case.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-25 18:21 ` Paul Gilliam
@ 2004-08-25 18:52 ` Michael Chastain
0 siblings, 0 replies; 23+ messages in thread
From: Michael Chastain @ 2004-08-25 18:52 UTC (permalink / raw)
To: pgilliam; +Cc: gdb-patches
> I don't think 6.2 or CVS head would work: they don't exibite the
> underling bug that triggers the problem in the test case.
Good point. Okay.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-25 18:11 ` Michael Chastain
2004-08-25 18:21 ` Paul Gilliam
@ 2004-08-25 19:08 ` Paul Gilliam
2004-08-26 14:17 ` Michael Chastain
1 sibling, 1 reply; 23+ messages in thread
From: Paul Gilliam @ 2004-08-25 19:08 UTC (permalink / raw)
To: Michael Chastain; +Cc: gdb-patches
Here is another try.
-=# Paul #=-
PS: I only did the ${....} because that seemed to be the usage in call-sc.exp
2004-08-25 Paul Gilliam <pgilliam@us.ibm.com>
* gdb.base/call-sc: Make sure PC is syncronized after the "return".
diff -Naur old/call-sc.exp new/call-sc.exp
--- old/call-sc.exp 2004-08-24 01:11:59.000000000 +0000
+++ new/call-sc.exp 2004-08-25 22:27:04.089926216 +0000
@@ -281,6 +281,30 @@
}
}
+ # If the previous test did not work, the program counter might
+ # still be inside foo() rather than main(). Make sure the program
+ # counter is is main().
+ #
+ # This happens on ppc64 GNU/Linux with gcc 3.4.1 and a buggy GDB
+
+ set test "return foo; syncronize pc to main()"
+ for {set loop_count 0} {$loop_count < 2} {incr loop_count} {
+ gdb_test_multiple "backtrace 1" $test {
+ -re "#0.*main \\(\\).*${gdb_prompt} $" {
+ pass $test
+ set loop_count 2
+ }
+ -re "#0.*fun \\(\\).*${gdb_prompt} $" {
+ if {$loop_count < 1} {
+ gdb_test "finish" ".*" ""
+ } else {
+ fail $test
+ set loop_count 2
+ }
+ }
+ }
+ }
+
# Check that the return-value is as expected. At this stage we're
# just checking that GDB has returned a value consistent with
# "return_value_unknown" set above.
On Wednesday 25 August 2004 11:11, Michael Chastain wrote:
> It's a little weird, but it's much better.
>
> . "synchronize" is spelled with an h.
> . include a changelog entry with the submission
> . you don't need ${...} for each variable access.
> just $loop_count, $test, and so on.
> . this is the fsf version of gdb, it's better to work with
> fsf sources -- either gdb 6.2 or the cvs version of gdb,
> not a red hat gdb.
>
> Can you fix those things up, then download gdb 6.2 or the
> cvs version of gdb, and do your work against that.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-25 19:08 ` Paul Gilliam
@ 2004-08-26 14:17 ` Michael Chastain
2004-08-26 16:17 ` Paul Gilliam
0 siblings, 1 reply; 23+ messages in thread
From: Michael Chastain @ 2004-08-26 14:17 UTC (permalink / raw)
To: pgilliam; +Cc: gdb-patches
> Here is another try.
All right! You got everything but the "synchronize" with an "h".
s/syncronize/synchronize/g, both the ChangeLog entry and the
call-sc.exp code.
In the ChangeLog entry, it should read: "gdb.base/call-sc.exp",
not just "gdb.base/call-sc".
With those changes, this patch is approved, and you can check it in.
Do you have write access to the gdb cvs repository,
or would you like me to check it in for you?
> PS: I only did the ${....} because that seemed to be the usage in
> call-sc.exp.
Yes. So I'm trying to get new code written the simple way but there's
that huge body of old code.
===
2004-08-25 Paul Gilliam <pgilliam@us.ibm.com>
* gdb.base/call-sc: Make sure PC is syncronized after the "return".
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-26 14:17 ` Michael Chastain
@ 2004-08-26 16:17 ` Paul Gilliam
2004-08-26 16:26 ` Michael Chastain
0 siblings, 1 reply; 23+ messages in thread
From: Paul Gilliam @ 2004-08-26 16:17 UTC (permalink / raw)
To: Michael Chastain; +Cc: gdb-patches
On Thursday 26 August 2004 07:17, Michael Chastain wrote:
> > Here is another try.
>
> All right! You got everything but the "synchronize" with an "h".
> s/syncronize/synchronize/g, both the ChangeLog entry and the
> call-sc.exp code.
>
> In the ChangeLog entry, it should read: "gdb.base/call-sc.exp",
> not just "gdb.base/call-sc".
>
> With those changes, this patch is approved, and you can check it in.
>
> Do you have write access to the gdb cvs repository,
> or would you like me to check it in for you?
Not to be a pain, but I am a CVS virgin. Could you check it in inside of a
'script' and send me (or post) the transcript?
>
> > PS: I only did the ${....} because that seemed to be the usage in
> > call-sc.exp.
>
> Yes. So I'm trying to get new code written the simple way but there's
> that huge body of old code.
Isn't that Newton's first law of software momentem? (or was it Knuth?)
>
> ===
>
> 2004-08-25 Paul Gilliam <pgilliam@us.ibm.com>
>
> * gdb.base/call-sc: Make sure PC is syncronized after the "return".
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-26 16:17 ` Paul Gilliam
@ 2004-08-26 16:26 ` Michael Chastain
2004-08-26 16:34 ` Paul Gilliam
0 siblings, 1 reply; 23+ messages in thread
From: Michael Chastain @ 2004-08-26 16:26 UTC (permalink / raw)
To: pgilliam; +Cc: gdb-patches
Paul Gilliam <pgilliam@us.ibm.com> wrote:
> Not to be a pain, but I am a CVS virgin. Could you check it in inside of a
> 'script' and send me (or post) the transcript?
Sure, I can do that.
Just fix the syncHronize and "gdb.base/call-sc.exp" bits and send me a
fresh patch, and I'll commit it and send you a script. Also I'll dig
up some CVS references for you.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-26 16:26 ` Michael Chastain
@ 2004-08-26 16:34 ` Paul Gilliam
0 siblings, 0 replies; 23+ messages in thread
From: Paul Gilliam @ 2004-08-26 16:34 UTC (permalink / raw)
To: Michael Chastain; +Cc: gdb-patches
On Thursday 26 August 2004 09:26, Michael Chastain wrote:
> Paul Gilliam <pgilliam@us.ibm.com> wrote:
> > Not to be a pain, but I am a CVS virgin. Could you check it in inside of
> > a 'script' and send me (or post) the transcript?
>
> Sure, I can do that.
>
> Just fix the syncHronize and "gdb.base/call-sc.exp" bits and send me a
> fresh patch, and I'll commit it and send you a script. Also I'll dig
> up some CVS references for you.
Thanks a lot.
Here is the new patch.. synchronized and 'exp'idited. I also updated the
date.
-=# Paul #=-
2004-08-26 Paul Gilliam <pgilliam@us.ibm.com>
* gdb.base/call-sc.exp: Make sure PC is syncronized after the
"return".
diff -Naur old/call-sc.exp new/call-sc.exp
--- old/call-sc.exp 2004-08-24 01:11:59.000000000 +0000
+++ new/call-sc.exp 2004-08-25 22:27:04.089926216 +0000
@@ -281,6 +281,30 @@
}
}
+ # If the previous test did not work, the program counter might
+ # still be inside foo() rather than main(). Make sure the program
+ # counter is is main().
+ #
+ # This happens on ppc64 GNU/Linux with gcc 3.4.1 and a buggy GDB
+
+ set test "return foo; synchronize pc to main()"
+ for {set loop_count 0} {$loop_count < 2} {incr loop_count} {
+ gdb_test_multiple "backtrace 1" $test {
+ -re "#0.*main \\(\\).*${gdb_prompt} $" {
+ pass $test
+ set loop_count 2
+ }
+ -re "#0.*fun \\(\\).*${gdb_prompt} $" {
+ if {$loop_count < 1} {
+ gdb_test "finish" ".*" ""
+ } else {
+ fail $test
+ set loop_count 2
+ }
+ }
+ }
+ }
+
# Check that the return-value is as expected. At this stage we're
# just checking that GDB has returned a value consistent with
# "return_value_unknown" set above.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
[not found] ` <412E5915.8010401@gnu.org>
@ 2004-08-31 19:30 ` Paul Gilliam
2004-08-31 20:48 ` Paul Gilliam
0 siblings, 1 reply; 23+ messages in thread
From: Paul Gilliam @ 2004-08-31 19:30 UTC (permalink / raw)
To: gdb-patches; +Cc: Michael Elizabeth Chastain, Andrew Cagney
On Thursday 26 August 2004 14:41, Andrew Cagney wrote:
> (I see michael got a bit ahead of himself.)
>
> Paul,
>
> Can you please:
>
> - create a new patch to MAINTAINERS adding your self to write after
> approval (its alphabetic)
>
> - add a corresponding ChangeLog
>
> - post both to gdb-patches
>
> - commit just this change.
>
> This, if nothing else confirms that you can use CVS.
>
> Once that's done you can go back to Michael's patch.
>
> Andrew
Andrew,
Here is the patch... I will commit this in 1 hour unless I hear from someone.
004-08-31 Paul Gilliam <pgilliam@us.ibm.com>
* MAINTAINERS: Add self to Write-After-Approval.
diff -c -3 -p -r1.286 MAINTAINERS
*** MAINTAINERS 30 Aug 2004 20:05:41 -0000 1.286
--- MAINTAINERS 31 Aug 2004 19:26:17 -0000
*************** Adam Fedor fedor@gnu.org
*** 340,345 ****
--- 340,346 ----
Fred Fish fnf@ninemoons.com
Brian Ford ford@vss.fsi.com
Orjan Friberg orjanf@axis.com
+ Paul Gilliam pgilliam@us.ibm.com
Raoul Gough RaoulGough@yahoo.co.uk
Anthony Green green@redhat.com
Matthew Green mrg@eterna.com.au
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Avoid timeouts in call-sc.exp
2004-08-31 19:30 ` Paul Gilliam
@ 2004-08-31 20:48 ` Paul Gilliam
0 siblings, 0 replies; 23+ messages in thread
From: Paul Gilliam @ 2004-08-31 20:48 UTC (permalink / raw)
To: gdb-patches; +Cc: Michael Elizabeth Chastain, Andrew Cagney
On Tuesday 31 August 2004 12:28, Paul Gilliam wrote:
> On Thursday 26 August 2004 14:41, Andrew Cagney wrote:
> > (I see michael got a bit ahead of himself.)
> >
> > Paul,
> >
> > Can you please:
> >
> > - create a new patch to MAINTAINERS adding your self to write after
> > approval (its alphabetic)
> >
> > - add a corresponding ChangeLog
> >
> > - post both to gdb-patches
> >
> > - commit just this change.
> >
> > This, if nothing else confirms that you can use CVS.
> >
> > Once that's done you can go back to Michael's patch.
> >
> > Andrew
>
> Andrew,
> Here is the patch... I will commit this in 1 hour unless I hear from
> someone.
>
>
> 004-08-31 Paul Gilliam <pgilliam@us.ibm.com>
>
> * MAINTAINERS: Add self to Write-After-Approval.
>
>
> diff -c -3 -p -r1.286 MAINTAINERS
> *** MAINTAINERS 30 Aug 2004 20:05:41 -0000 1.286
> --- MAINTAINERS 31 Aug 2004 19:26:17 -0000
> *************** Adam Fedor
> fedor@gnu.org *** 340,345 ****
> --- 340,346 ----
> Fred Fish fnf@ninemoons.com
> Brian Ford ford@vss.fsi.com
> Orjan Friberg orjanf@axis.com
> + Paul Gilliam pgilliam@us.ibm.com
> Raoul Gough RaoulGough@yahoo.co.uk
> Anthony Green green@redhat.com
> Matthew Green mrg@eterna.com.au
committed
-=# Paul #=-
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2004-08-31 20:48 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-18 21:28 Avoid timeouts in call-sc.exp Paul Gilliam
2004-08-18 21:58 ` Michael Chastain
2004-08-20 10:34 ` Michael Chastain
2004-08-20 16:17 ` Paul Gilliam
2004-08-23 21:11 ` Paul Gilliam
2004-08-23 21:55 ` Michael Chastain
2004-08-24 16:15 ` Paul Gilliam
2004-08-24 17:26 ` Michael Chastain
2004-08-24 18:50 ` Paul Gilliam
2004-08-24 18:52 ` Daniel Jacobowitz
2004-08-24 18:55 ` Michael Chastain
2004-08-24 19:14 ` Paul Gilliam
2004-08-25 17:54 ` Paul Gilliam
2004-08-25 18:11 ` Michael Chastain
2004-08-25 18:21 ` Paul Gilliam
2004-08-25 18:52 ` Michael Chastain
2004-08-25 19:08 ` Paul Gilliam
2004-08-26 14:17 ` Michael Chastain
2004-08-26 16:17 ` Paul Gilliam
2004-08-26 16:26 ` Michael Chastain
2004-08-26 16:34 ` Paul Gilliam
[not found] ` <200408261227.58890.pgilliam@us.ibm.com>
[not found] ` <412E5915.8010401@gnu.org>
2004-08-31 19:30 ` Paul Gilliam
2004-08-31 20:48 ` Paul Gilliam
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox