* [RFA/testsuite] New (Ada) testcase for watchpoint issue
@ 2006-10-06 1:15 Joel Brobecker
2006-10-06 1:20 ` Daniel Jacobowitz
2006-10-06 1:42 ` Joel Brobecker
0 siblings, 2 replies; 5+ messages in thread
From: Joel Brobecker @ 2006-10-06 1:15 UTC (permalink / raw)
To: gdb-patches
Here is a new testcase that reproduces the issue presented in:
http://www.sourceware.org/ml/gdb-patches/2006-10/msg00044.html
I tried reproducing this problem in C, but didn't manage too. Perhaps
I could have tried using a GCC extension and used a nested function,
but I thought it was cleaner to do it in pure legal Ada instead.
The only difference between the example in the message above and
the example I'm posting now is that I got read of the "delay 1.0"
statement, and replaced it with something much simpler in terms
of code generation - for targets that only have software watchpoints,
that should help shorten the time it takes to run this test (as well
as removing and unnecessary delay while waiting for the inferior
to run, actually!).
2006-10-05 Joel Brobecker <brobecker@adacore.com>
* gdb.ada/watch_arg/watch.adb: New file.
* gdb.ada/watch_arg.exp: New testcase.
Tested on x86-linux, all PASSES with the patch submitted in the message
mentioned above, 1 FAIL without it:
FAIL: gdb.ada/watch_arg.exp: Continuing to second breakpoint
OK to apply?
Thanks,
--
Joel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFA/testsuite] New (Ada) testcase for watchpoint issue
2006-10-06 1:15 [RFA/testsuite] New (Ada) testcase for watchpoint issue Joel Brobecker
@ 2006-10-06 1:20 ` Daniel Jacobowitz
2006-10-06 1:42 ` Joel Brobecker
1 sibling, 0 replies; 5+ messages in thread
From: Daniel Jacobowitz @ 2006-10-06 1:20 UTC (permalink / raw)
To: Joel Brobecker; +Cc: gdb-patches
On Thu, Oct 05, 2006 at 06:15:02PM -0700, Joel Brobecker wrote:
> 2006-10-05 Joel Brobecker <brobecker@adacore.com>
>
> * gdb.ada/watch_arg/watch.adb: New file.
> * gdb.ada/watch_arg.exp: New testcase.
Patch is missing, I'm afraid.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFA/testsuite] New (Ada) testcase for watchpoint issue
2006-10-06 1:15 [RFA/testsuite] New (Ada) testcase for watchpoint issue Joel Brobecker
2006-10-06 1:20 ` Daniel Jacobowitz
@ 2006-10-06 1:42 ` Joel Brobecker
2006-10-06 3:26 ` Daniel Jacobowitz
1 sibling, 1 reply; 5+ messages in thread
From: Joel Brobecker @ 2006-10-06 1:42 UTC (permalink / raw)
To: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 1152 bytes --]
[with the patch this time...]
Here is a new testcase that reproduces the issue presented in:
http://www.sourceware.org/ml/gdb-patches/2006-10/msg00044.html
I tried reproducing this problem in C, but didn't manage too. Perhaps
I could have tried using a GCC extension and used a nested function,
but I thought it was cleaner to do it in pure legal Ada instead.
The only difference between the example in the message above and
the example I'm posting now is that I got read of the "delay 1.0"
statement, and replaced it with something much simpler in terms
of code generation - for targets that only have software watchpoints,
that should help shorten the time it takes to run this test (as well
as removing and unnecessary delay while waiting for the inferior
to run, actually!).
2006-10-05 Joel Brobecker <brobecker@adacore.com>
* gdb.ada/watch_arg/watch.adb: New file.
* gdb.ada/watch_arg.exp: New testcase.
Tested on x86-linux, all PASSES with the patch submitted in the message
mentioned above, 1 FAIL without it:
FAIL: gdb.ada/watch_arg.exp: Continuing to second breakpoint
OK to apply?
Thanks,
--
Joel
[-- Attachment #2: watch.adb --]
[-- Type: text/plain, Size: 201 bytes --]
procedure Watch is
procedure Foo (X : access Integer) is
begin
X.all := 3; -- BREAK1
end Foo;
X : aliased Integer := 1;
begin
Foo (X'Access);
X := 2; -- BREAK2
end Watch;
[-- Attachment #3: watch_arg.exp --]
[-- Type: text/plain, Size: 1950 bytes --]
# Copyright 2005 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., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA
if $tracelevel then {
strace $tracelevel
}
load_lib "ada.exp"
set testdir "watch_arg"
set testfile "${testdir}/watch"
set srcfile ${srcdir}/${subdir}/${testfile}.adb
set binfile ${objdir}/${subdir}/${testfile}
file mkdir ${objdir}/${subdir}/${testdir}
if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } {
return -1
}
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
set bp_location [gdb_get_line_number "BREAK1" ${testdir}/watch.adb]
runto "watch.adb:$bp_location"
# Insert a watchpoint on argument X
gdb_test "watch x" \
".*atchpoint \[0-9\]+: x" \
"Set watchpoint on function argument X"
# Then insert a breakpoint at the location we'd like to continue to...
set bp_location [gdb_get_line_number "BREAK2" ${testdir}/watch.adb]
gdb_test "break watch.adb:$bp_location" \
"Breakpoint \[0-9\]+ at.*: file .*watch.adb, line \[0-9\]+." \
"insert second breakpoint in watch.adb"
# Then continue to that breakpoint, and verify that the watchpoint
# did not interfere with that.
gdb_test "cont" \
"Breakpoint \[0-9\]+, watch \\(\\).*" \
"Continuing to second breakpoint"
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFA/testsuite] New (Ada) testcase for watchpoint issue
2006-10-06 1:42 ` Joel Brobecker
@ 2006-10-06 3:26 ` Daniel Jacobowitz
2006-10-06 17:48 ` Joel Brobecker
0 siblings, 1 reply; 5+ messages in thread
From: Daniel Jacobowitz @ 2006-10-06 3:26 UTC (permalink / raw)
To: Joel Brobecker; +Cc: gdb-patches
On Thu, Oct 05, 2006 at 06:42:23PM -0700, Joel Brobecker wrote:
> 2006-10-05 Joel Brobecker <brobecker@adacore.com>
>
> * gdb.ada/watch_arg/watch.adb: New file.
> * gdb.ada/watch_arg.exp: New testcase.
>
> Tested on x86-linux, all PASSES with the patch submitted in the message
> mentioned above, 1 FAIL without it:
>
> FAIL: gdb.ada/watch_arg.exp: Continuing to second breakpoint
>
> OK to apply?
Yes, this looks OK. Thanks again.
> # Copyright 2005 Free Software Foundation, Inc.
Welcome to 2006 :-)
Oh, and I believe the .adb file didn't have a copyright notice.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFA/testsuite] New (Ada) testcase for watchpoint issue
2006-10-06 3:26 ` Daniel Jacobowitz
@ 2006-10-06 17:48 ` Joel Brobecker
0 siblings, 0 replies; 5+ messages in thread
From: Joel Brobecker @ 2006-10-06 17:48 UTC (permalink / raw)
To: gdb-patches
> > 2006-10-05 Joel Brobecker <brobecker@adacore.com>
> >
> > * gdb.ada/watch_arg/watch.adb: New file.
> > * gdb.ada/watch_arg.exp: New testcase.
> >
> Yes, this looks OK. Thanks again.
Thanks Daniel. Checked in with the corrections you pointed out.
BTW: I noticed that other Ada testcases were also missing the copyright
notices, so I will fix immediately.
--
Joel
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-10-06 17:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-10-06 1:15 [RFA/testsuite] New (Ada) testcase for watchpoint issue Joel Brobecker
2006-10-06 1:20 ` Daniel Jacobowitz
2006-10-06 1:42 ` Joel Brobecker
2006-10-06 3:26 ` Daniel Jacobowitz
2006-10-06 17:48 ` Joel Brobecker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox