diff options
author | Fred Fish <fnf@specifix.com> | 2004-02-26 22:19:18 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 2004-02-26 22:19:18 +0000 |
commit | 15d208f6517305d45947801f890fb785ce970baf (patch) | |
tree | cb8789b38dc0a55110d1bdf686a5d7210dcd5c48 /gdb/testsuite | |
parent | 73369e651700a53b4d1a3f869f31d385a226ee94 (diff) | |
download | gdb-15d208f6517305d45947801f890fb785ce970baf.zip gdb-15d208f6517305d45947801f890fb785ce970baf.tar.gz gdb-15d208f6517305d45947801f890fb785ce970baf.tar.bz2 |
Reviewed and approved by cagney@gnu.org.
2004-02-26 Fred Fish <fnf@redhat.com>
* gdb.arch/gdb1431.c: Remove.
* gdb.arch/gdb1431.s: New file, copy of gdb1291.s
* gdb.arch/gdb1431.exp: Use "advance" correctly instead
of "until" incorrectly.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/ChangeLog | 7 | ||||
-rwxr-xr-x | gdb/testsuite/gdb.arch/gdb1431.c | 65 | ||||
-rw-r--r-- | gdb/testsuite/gdb.arch/gdb1431.exp | 21 | ||||
-rw-r--r-- | gdb/testsuite/gdb.arch/gdb1431.s | 129 |
4 files changed, 145 insertions, 77 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 49822c6..97a657b 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2004-02-26 Fred Fish <fnf@redhat.com> + + * gdb.arch/gdb1431.c: Remove. + * gdb.arch/gdb1431.s: New file, copy of gdb1291.s + * gdb.arch/gdb1431.exp: Use "advance" correctly instead + of "until" incorrectly. + 2004-02-26 J. Brobecker <brobecker@gnat.com> * gdb.cp/class2.cc (empty): New class. diff --git a/gdb/testsuite/gdb.arch/gdb1431.c b/gdb/testsuite/gdb.arch/gdb1431.c deleted file mode 100755 index 64f5c60..0000000 --- a/gdb/testsuite/gdb.arch/gdb1431.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright 2003, 2004 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. */
-
-void sub1 (void);
-void sub2 (void);
-
-main()
-{
- sub1();
- sub2();
-}
-
-asm(".text\n"
- " .align 5\n"
- "sub1:\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"
- "_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");
diff --git a/gdb/testsuite/gdb.arch/gdb1431.exp b/gdb/testsuite/gdb.arch/gdb1431.exp index 15bff46..697c9f8 100644 --- a/gdb/testsuite/gdb.arch/gdb1431.exp +++ b/gdb/testsuite/gdb.arch/gdb1431.exp @@ -1,4 +1,4 @@ -# Copyright 2003 Free Software Foundation, Inc. +# Copyright 2003, 2004 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 @@ -20,6 +20,9 @@ # This file is part of the gdb testsuite. # Tests for PR:1431. Catch gdb not continuing to second function properly. +# Note that originally this bug was reported as a problem with the "until" +# command, which actually is behaving as currently defined. What apparently +# was expected was the behavior of the newer "advance" command. if $tracelevel { strace $tracelevel @@ -36,9 +39,9 @@ if ![istarget "sh-*-*"] then { } set testfile "gdb1431" -set srcfile ${testfile}.c +set srcfile ${testfile}.s set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable ""] != "" } { gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." } @@ -55,12 +58,6 @@ 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" +gdb_test "advance sub1" "hello world\r\n$hex in sub1 \\(\\)" "get to sub1" +gdb_test "advance sub2" "$hex in main \\(\\)" "advance returns from sub1 frame" +gdb_test "advance sub2" "$hex in sub2 \\(\\)" "get to sub2" diff --git a/gdb/testsuite/gdb.arch/gdb1431.s b/gdb/testsuite/gdb.arch/gdb1431.s new file mode 100644 index 0000000..36b43d2 --- /dev/null +++ b/gdb/testsuite/gdb.arch/gdb1431.s @@ -0,0 +1,129 @@ +! Copyright 2004 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. +! +! It was generated using "sh-elf-gcc -S gdb1431.c", using the following +! source file: +! +! #include <stdio.h> +! +! main() +! { +! printf("hello world\n"); +! sub1(); +! sub2(); +! } +! sub1() +! { +! int buf[64]; +! +! } +! +! sub2() +! { +! int buf[65]; +! +! } +! +! We use a pregenerated assembly file as the test input to avoid possible +! problems with future versions of gcc generating different code. + + .file "gdb1431.c" + .text + .section .rodata + .align 2 +.LC0: + .string "hello world\n" + .text + .align 1 + .global _main + .type _main, @function +_main: + mov.l r14,@-r15 + sts.l pr,@-r15 + mov r15,r14 + mov.l .L2,r1 + mov r1,r4 + mov.l .L3,r1 + jsr @r1 + nop + mov.l .L4,r1 + jsr @r1 + nop + mov.l .L5,r1 + jsr @r1 + nop + mov r14,r15 + lds.l @r15+,pr + mov.l @r15+,r14 + rts + nop +.L6: + .align 2 +.L2: + .long .LC0 +.L3: + .long _printf +.L4: + .long _sub1 +.L5: + .long _sub2 + .size _main, .-_main + .align 1 + .global _sub1 + .type _sub1, @function +_sub1: + mov.l r14,@-r15 + sts.l pr,@-r15 + add #-128,r15 + add #-128,r15 + mov r15,r14 + mov.w .L8,r7 + add r7,r14 + mov r14,r15 + lds.l @r15+,pr + mov.l @r15+,r14 + rts + nop + .align 1 +.L8: + .short 256 + .size _sub1, .-_sub1 + .align 1 + .global _sub2 + .type _sub2, @function +_sub2: + mov.l r14,@-r15 + sts.l pr,@-r15 + mov.w .L11,r1 + sub r1,r15 + mov r15,r14 + mov.w .L11,r7 + add r7,r14 + mov r14,r15 + lds.l @r15+,pr + mov.l @r15+,r14 + rts + nop + .align 1 +.L11: + .short 260 + .size _sub2, .-_sub2 + .ident "GCC: (GNU) 3.5.0 20040204 (experimental)" |