[patch] testcases for PRs 1291 and 1431

Elena Zannoni ezannoni@redhat.com
Sun Nov 2 20:39:00 GMT 2003


Kris Warkentin writes:
 > In the end I split them up like so.  The 1291 testcase now only exhibits the
 > one issue and the 1431 kfails the second.
 > 

Yes, just one thing, can you add a copyright notice to the .c files?

Just commit them with the change.

thanks
elena


 > cheers,
 > 
 > Kris
 > 
 > 2003-10-29  Kris Warkentin  <kewarken@qnx.com>
 > 
 >  * gdb.arch/gdb1291.c: New test file.
 >  * gdb.arch/gdb1291.exp: New test script.
 >  * gdb.arch/gdb1431.c: New test file.
 >  * gdb.arch/gdb1431.exp: New test script.
 > 
 > ---gdb1291.c---
 > void sub (void);
 > 
 > main()
 > {
 >         sub();
 > }
 > 
 > asm(".text\n"
 >     "    .align 5\n"
 >     "sub:\n"
 >     "    mov.l  r14,@-r15\n"
 >     "    mov.w  .STACK2,r3\n"
 >     "    sub    r3,r15\n"
 >     "    mov    r15,r14\n"
 >     "    mov.w  .STACK2,r7\n"
 >     "    add    r7,r14\n"
 >     "    mov    r14,r15\n"
 >     "    mov.l  @r15+,r14\n"
 >     "    rts\n"
 >     "    nop\n"
 >     "    .align 1\n"
 >     ".STACK2:\n"
 >     "    .short  260\n");
 > 
 > ---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 "b sub" "Breakpoint 2*" "set breakpoint"
 > gdb_test "c" "Breakpoint 2*" "get to sub"
 > gdb_test "bt" "#0\[ \t\]*$hex \\(\\) at sh-bt.*\r\n#1\[ \t\]*$hex in main.*"
 > \
 >  "backtrace in gdb1291"
 > 
 > ---gdb1431.c---
 > void sub1 (void);
 > void sub2 (void);
 > 
 > main()
 > {
 >         sub1();
 >         sub2();
 > }
 > 
 > asm(".text\n"
 >     "    .align 5\n"
 >     "sub1:\n"
 >     "    mov.l  r14,@-r15\n"
 >     "    add    #-128,r15\n"
 >     "    add    #-128,r15\n"
 >     "    mov    r15,r14\n"
 >     "    mov.w  .STACK1,r7\n"
 >     "    add    r7,r14\n"
 >     "    mov    r14,r15\n"
 >     "    mov.l  @r15+,r14\n"
 >     "    rts\n"
 >     "    nop\n"
 >     "    .align 1\n"
 >     ".STACK1:\n"
 >     "    .short  256\n");
 > 
 > asm(".text\n"
 >     "    .align 5\n"
 >     "sub2:\n"
 >     "    mov.l  r14,@-r15\n"
 >     "    mov.w  .STACK2,r3\n"
 >     "    sub    r3,r15\n"
 >     "    mov    r15,r14\n"
 >     "    mov.w  .STACK2,r7\n"
 >     "    add    r7,r14\n"
 >     "    mov    r14,r15\n"
 >     "    mov.l  @r15+,r14\n"
 >     "    rts\n"
 >     "    nop\n"
 >     "    .align 1\n"
 >     ".STACK2:\n"
 >     "    .short  260\n");
 > 
 > ---gdb1431.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:1431.  Catch gdb not continuing to second function properly.
 > 
 > if $tracelevel {
 >     strace $tracelevel
 > }
 > 
 > # Observe that the until command doesn't go all the way to sub2.
 > 
 > set prms_id 0
 > set bug_id 0
 > 
 > if ![istarget "sh-*-*"] then {
 >     verbose "Skipping SH backtrace tests."
 >     return
 > }
 > 
 > set testfile "gdb1431"
 > 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\]*$hex \\(\\) at sh-bt.*\r\n#1\[ \t\]*$hex in main.*"
 > \
 >  "backtrace in gdb1291"
 > 
 > kfail "gdb/1431" "u sub2"
 > # This is what we would expect to be able to do:
 > #gdb_test "u sub2" "sub2*" "get to sub2"
 > #gdb_test "bt" "#0\[ \t\]*$hex \\(\\) at sh-bt.*\r\n#1\[ \t\]*$hex in
 > main.*" \
 > # "backtrace in gdb1291"



More information about the Gdb-patches mailing list