* [RFA/testsuite] check bt problem after 2 steps is gone
@ 2006-04-28 17:40 Joel Brobecker
2006-07-27 13:41 ` Daniel Jacobowitz
2006-08-08 21:51 ` Joel Brobecker
0 siblings, 2 replies; 6+ messages in thread
From: Joel Brobecker @ 2006-04-28 17:40 UTC (permalink / raw)
To: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 488 bytes --]
Hello,
This is a new testcase that checks that the issue reported in:
http://sources.redhat.com/ml/gdb-patches/2006-04/msg00367.html
will not regress again.
2006-04-28 Joel Brobecker <brobecker@adacore.com>
* gdb.base/step-bt.c: New file.
* gdb.base/step-bt.exp: New testcase.
Tested on i686-pc-cygwin. on XFAIL on the last test with the current
sources, all PASSes once the patch in the message mentioned above is
applied.
OK to apply?
Thanks,
--
Joel
[-- Attachment #2: step-bt.c --]
[-- Type: text/plain, Size: 1032 bytes --]
/* This testcase is part of GDB, the GNU debugger.
Copyright 2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Please email any bugs, comments, and/or additions to this file to:
bug-gdb@prep.ai.mit.edu */
#include <stdio.h>
void
hello (void)
{
printf ("Hello world.\n");
}
int
main (void)
{
hello ();
return 0;
}
[-- Attachment #3: step-bt.exp --]
[-- Type: text/plain, Size: 1913 bytes --]
# Copyright 2006 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# The intent of this testcase it to verify that various aliases and
# shortcuts of the "delete" command never stop working.
if $tracelevel then {
strace $tracelevel
}
set prms_id 0
set bug_id 0
set testfile step-bt
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
untested "Couldn't compile test program"
return -1
}
# Get things started.
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
gdb_test "break *hello" \
"Breakpoint.*at.* file .*$srcfile, line .*" \
"breakpoint at first instruction of hello()"
gdb_run_cmd
gdb_expect {
-re ".*Breakpoint.* hello .* at .*$srcfile:.*$gdb_prompt $" {
pass "run to hello()"
}
-re ".*$gdb_prompt $" {
fail "run to hello()"
return -1
}
timeout {
fail "run to hello() (timeout)"
return -1
}
}
gdb_test "stepi 2" \
"" \
"step 2 instructions"
gdb_test "bt" \
"#0 +0x\[0-9a-z\]+ in hello .*#1 +0x\[0-9a-z\]* in main.*" \
"backtrace after two instruction steps"
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [RFA/testsuite] check bt problem after 2 steps is gone
2006-04-28 17:40 [RFA/testsuite] check bt problem after 2 steps is gone Joel Brobecker
@ 2006-07-27 13:41 ` Daniel Jacobowitz
2006-07-28 1:11 ` Joel Brobecker
2006-08-08 21:51 ` Joel Brobecker
1 sibling, 1 reply; 6+ messages in thread
From: Daniel Jacobowitz @ 2006-07-27 13:41 UTC (permalink / raw)
To: Joel Brobecker; +Cc: gdb-patches
On Fri, Apr 28, 2006 at 10:40:35AM -0700, Joel Brobecker wrote:
> Hello,
>
> This is a new testcase that checks that the issue reported in:
>
> http://sources.redhat.com/ml/gdb-patches/2006-04/msg00367.html
>
> will not regress again.
>
> 2006-04-28 Joel Brobecker <brobecker@adacore.com>
>
> * gdb.base/step-bt.c: New file.
> * gdb.base/step-bt.exp: New testcase.
>
> Tested on i686-pc-cygwin. on XFAIL on the last test with the current
> sources, all PASSes once the patch in the message mentioned above is
> applied.
>
> OK to apply?
When the patch goes in, this is fine. Thanks for the test.
> gdb_test "stepi 2" \
> "" \
> "step 2 instructions"
>
> gdb_test "bt" \
> "#0 +0x\[0-9a-z\]+ in hello .*#1 +0x\[0-9a-z\]* in main.*" \
> "backtrace after two instruction steps"
Would it work to test backtrace after each of two stepi's? That might
turn up interesting similar problems on more platforms.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFA/testsuite] check bt problem after 2 steps is gone
2006-07-27 13:41 ` Daniel Jacobowitz
@ 2006-07-28 1:11 ` Joel Brobecker
2006-07-28 1:51 ` Daniel Jacobowitz
0 siblings, 1 reply; 6+ messages in thread
From: Joel Brobecker @ 2006-07-28 1:11 UTC (permalink / raw)
To: gdb-patches
> > 2006-04-28 Joel Brobecker <brobecker@adacore.com>
> >
> > * gdb.base/step-bt.c: New file.
> > * gdb.base/step-bt.exp: New testcase.
> >
> > Tested on i686-pc-cygwin. on XFAIL on the last test with the current
> > sources, all PASSes once the patch in the message mentioned above is
> > applied.
> >
> > OK to apply?
>
> When the patch goes in, this is fine. Thanks for the test.
Ok, will do.
> > gdb_test "stepi 2" \
> > "" \
> > "step 2 instructions"
> >
> > gdb_test "bt" \
> > "#0 +0x\[0-9a-z\]+ in hello .*#1 +0x\[0-9a-z\]* in main.*" \
> > "backtrace after two instruction steps"
>
> Would it work to test backtrace after each of two stepi's? That might
> turn up interesting similar problems on more platforms.
>
Yes it would. The semi-tricky part is to determine the number of stepi's
we can do before we end up inside printf, regardless of the architecture.
On sparc, for instance, seting up the frame can be done in one
instruction, thanks to the register rotation during calls.
I actually tried it on sparc-solaris, and indeed, the call to printf
is located at the 4th instruction.
My guess is that we should be able to add an extra "stepi 2; bt"
and that should work for all other architectures.
Another more refined approach would be to conditionalize the extra
stepis to the architecture.
--
Joel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFA/testsuite] check bt problem after 2 steps is gone
2006-07-28 1:11 ` Joel Brobecker
@ 2006-07-28 1:51 ` Daniel Jacobowitz
2006-07-28 2:37 ` Joel Brobecker
0 siblings, 1 reply; 6+ messages in thread
From: Daniel Jacobowitz @ 2006-07-28 1:51 UTC (permalink / raw)
To: Joel Brobecker; +Cc: gdb-patches
On Thu, Jul 27, 2006 at 06:11:14PM -0700, Joel Brobecker wrote:
> Yes it would. The semi-tricky part is to determine the number of stepi's
> we can do before we end up inside printf, regardless of the architecture.
> On sparc, for instance, seting up the frame can be done in one
> instruction, thanks to the register rotation during calls.
>
> I actually tried it on sparc-solaris, and indeed, the call to printf
> is located at the 4th instruction.
>
> My guess is that we should be able to add an extra "stepi 2; bt"
> and that should work for all other architectures.
Let's be conservative; how about stepi; bt; stepi; bt?
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFA/testsuite] check bt problem after 2 steps is gone
2006-07-28 1:51 ` Daniel Jacobowitz
@ 2006-07-28 2:37 ` Joel Brobecker
0 siblings, 0 replies; 6+ messages in thread
From: Joel Brobecker @ 2006-07-28 2:37 UTC (permalink / raw)
To: gdb-patches
> > My guess is that we should be able to add an extra "stepi 2; bt"
> > and that should work for all other architectures.
>
> Let's be conservative; how about stepi; bt; stepi; bt?
Doh! Rereading more carefully what you wrote, I think I misinterpreted
it. Yes, of course, adding the extra bt between the two stepi's would
work (that is: we would still have the same problem if we don't apply
the patch).
Will modify the testcase to that effect.
--
Joel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFA/testsuite] check bt problem after 2 steps is gone
2006-04-28 17:40 [RFA/testsuite] check bt problem after 2 steps is gone Joel Brobecker
2006-07-27 13:41 ` Daniel Jacobowitz
@ 2006-08-08 21:51 ` Joel Brobecker
1 sibling, 0 replies; 6+ messages in thread
From: Joel Brobecker @ 2006-08-08 21:51 UTC (permalink / raw)
To: gdb-patches
> 2006-04-28 Joel Brobecker <brobecker@adacore.com>
>
> * gdb.base/step-bt.c: New file.
> * gdb.base/step-bt.exp: New testcase.
I just checked this patch in, with the minor modification that
Daniel suggested.
--
Joel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2006-08-08 21:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-28 17:40 [RFA/testsuite] check bt problem after 2 steps is gone Joel Brobecker
2006-07-27 13:41 ` Daniel Jacobowitz
2006-07-28 1:11 ` Joel Brobecker
2006-07-28 1:51 ` Daniel Jacobowitz
2006-07-28 2:37 ` Joel Brobecker
2006-08-08 21:51 ` Joel Brobecker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox