This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] New testcase for PR:1291


On Fri, Oct 24, 2003 at 11:41:50AM -0400, Kris Warkentin wrote:
> Changelog:
> 
> 2003-10-24  Kris Warkentin  <kewarken@qnx.com>
> 
>  * gdb.arch/gdb1291.c: New test file.
>  * gdb.arch/gdb1291.exp: New test script.
> 
> -------gdb1291.c--------
> sub1()
> {
>         int buf[64];
> }
> 
> sub2()
> {
>         int buf[65];
> }
> 
> main()
> {
>         sub1();
>         sub2();
> }

A test which looks like this should not, I think, go in gdb.arch or be
skipped for non-SH.  What you may want to do is leave it where it is
and write the testcase in assembly - that's what the gdb.arch directory
is for.  See i386-prolouge.c.

> 
> -----gdb1291.exp-----
> 
> # Copyright 2003 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@gnu.org
> 
> # This file is part of the gdb testsuite.
> 
> # Tests for PR:1291.  Ensure that backtrace works properly for stack
> # frames greater than 256 bytes.
> 
> if $tracelevel {
>     strace $tracelevel
> }
> 
> # Test SH backtraces with >256 byte frame stack. (PR:1291)
> 
> set prms_id 0
> set bug_id 0
> 
> if ![istarget "sh-*-*"] then {
>     verbose "Skipping SH backtrace tests."
>     return
> }
> 
> set testfile "gdb1291"
> set srcfile ${testfile}.c
> set binfile ${objdir}/${subdir}/${testfile}
> if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable
> {debug}] != "" } {
>     gdb_suppress_entire_file "Testcase compile failed, so all tests in this
> file will automatically fail."
> }
> 
> gdb_exit
> gdb_start
> gdb_reinitialize_dir $srcdir/$subdir
> gdb_load ${binfile}
> 
> #
> # Run to `main' where we begin our tests.
> #
> 
> if ![runto_main] then {
>     gdb_suppress_tests
> }
> 
> gdb_test "u sub1" "sub1*" "get to sub1"
> gdb_test "bt" "#0\[ \t\]*sub1 \\(\\) at sh-bt.*\r\n#1\[ \t\]*$hex in main.*"
> \
>  "backtrace in gdb1291"
> 
> gdb_test "u sub2" "sub2*" "get to sub2"
> gdb_test "bt" "#0\[ \t\]*sub2 \\(\\) at sh-bt.*\r\n#1\[ \t\]*$hex in main.*"
> \
>  "backtrace in gdb1291"
> 
> 
> 

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]