From: David Taylor Date: Fri, 8 Jan 1999 23:28:15 +0000 (+0000) Subject: new files; part of HP merge. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ba49f2040693f59e8720ec2ed2db335b4c4e4152;p=binutils-gdb.git new files; part of HP merge. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index de6d0d551ab..bbcf18f7d76 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,26 @@ +Wed Jan 6 18:41:15 1999 David Taylor + + The following files are part of the HP merge; some had longer + names at HP, but have been renamed to be no more than 14 + characters in length. + + * gdb.base/ss.h: new file. + * gdb.base/call-ar-st.c: new file. + * gdb.base/call-ar-st.exp: new file. + * gdb.base/call-rt-st.c: new file. + * gdb.base/call-rt-st-exp: new file. + * gdb.base/call-strs.exp: new file. + * gdb.base/ena-dis-br.exp: new file. + * gdb.base/environment.exp: new file. + * gdb.base/sect-cmd.exp: new file. + * gdb.base/shlib-cl2.exp: new file. + * gdb.base/so-impl-ld.c: new file. + * gdb.base/so-impl-ld.exp: new file. + * gdb.base/so-indr-cl.c: new file. + * gdb.base/so-indr-cl.exp: new file. + * gdb.base/volatile.exp: new file. + * gdb.base/whatis-exp.exp: new file. + Wed Jan 6 13:50:57 1999 Stan Shebs * gdb.base/default.exp: Reflect wording change in remote.c. diff --git a/gdb/testsuite/gdb.base/.Sanitize b/gdb/testsuite/gdb.base/.Sanitize index 5feca2137c2..a516963a140 100644 --- a/gdb/testsuite/gdb.base/.Sanitize +++ b/gdb/testsuite/gdb.base/.Sanitize @@ -159,6 +159,7 @@ solib_implicitly_loaded.c solib_indirect_call.c sparc-aout.u sparc-elf.u +ss.h step-test.c structs2.c structs2.exp diff --git a/gdb/testsuite/gdb.base/so-impl-ld.c b/gdb/testsuite/gdb.base/so-impl-ld.c new file mode 100644 index 00000000000..a8fa18949b2 --- /dev/null +++ b/gdb/testsuite/gdb.base/so-impl-ld.c @@ -0,0 +1,18 @@ +/* This program is linked against SOM shared libraries, which the loader + automatically loads along with the program itself). + */ + +#include + +extern int solib_main (int); + +main () +{ + int result; + + /* Call a shlib function. */ + result = solib_main (100); + + /* Call it again. */ + result = solib_main (result); +} diff --git a/gdb/testsuite/gdb.base/so-indr-cl.c b/gdb/testsuite/gdb.base/so-indr-cl.c new file mode 100644 index 00000000000..dc29badcbd7 --- /dev/null +++ b/gdb/testsuite/gdb.base/so-indr-cl.c @@ -0,0 +1,23 @@ +/* This program is linked against SOM shared libraries, which the loader + automatically loads along with the program itself). + */ + +#include + +extern int solib_main (int); + +static int +solib_wrapper (function) + int (*function)(int); +{ + return (*function)(100); +} + + +main () +{ + int result; + + /* This is an indirect call to solib_main. */ + result = solib_wrapper (solib_main); +} diff --git a/gdb/testsuite/gdb.base/whatis-exp.exp b/gdb/testsuite/gdb.base/whatis-exp.exp new file mode 100644 index 00000000000..c5b97eed357 --- /dev/null +++ b/gdb/testsuite/gdb.base/whatis-exp.exp @@ -0,0 +1,217 @@ +# Copyright (C) 1998 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 + +# This file was written by Elena Zannoni (ezannoni@cygnus.com) + +# This file is part of the gdb testsuite +# +# tests for whatis command on expressions. +# used in file eval.c. This flavor of whatis +# command performs evaluation of expressions w/o actually +# computing the value, but just the type +# of the result. It goes through the evaluate_subexp_standard +# with the EVAL_AVOID_SIDE_EFFECTS flag rather than EVAL_NORMAL +# + +if $tracelevel then { + strace $tracelevel + } + +# +# test running programs +# +set prms_id 0 +set bug_id 0 + +set testfile "int-type" +set srcfile ${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } { + 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} + + +# +# set it up at a breakpoint so we can play with the variable values +# + +if ![runto_main] then { + perror "couldn't run to breakpoint" + continue +} + +# +# test expressions with "int" types +# + +gdb_test "set variable x=14" "" "set variable x=14" +gdb_test "set variable y=2" "" "set variable y=2" +gdb_test "set variable z=2" "" "set variable z=2" +gdb_test "set variable w=3" "" "set variable w=3" + +send_gdb "print x\n" +gdb_expect { + -re ".*14.*$gdb_prompt $" { + pass "print value of x" + } + -re ".*$gdb_prompt $" { fail "print value of x" } + timeout { fail "(timeout) print value of x" } + } + + +send_gdb "print y\n" +gdb_expect { + -re ".*2.*$gdb_prompt $" { + pass "print value of y" + } + -re ".*$gdb_prompt $" { fail "print value of y" } + timeout { fail "(timeout) print value of y" } + } + +send_gdb "print z\n" +gdb_expect { + -re ".*2.*$gdb_prompt $" { + pass "print value of z" + } + -re ".*$gdb_prompt $" { fail "print value of z" } + timeout { fail "(timeout) print value of z" } + } + +send_gdb "print w\n" +gdb_expect { + -re ".*3.*$gdb_prompt $" { + pass "print value of w" + } + -re ".*$gdb_prompt $" { fail "print value of w" } + timeout { fail "(timeout) print value of w" } + } + + + +send_gdb "whatis x+y\n" +gdb_expect { + -re ".*type = long.*$gdb_prompt $" { + pass "whatis value of x+y" + } + -re ".*$gdb_prompt $" { fail "whatis value of x+y" } + timeout { fail "(timeout) whatis value of x+y" } + } + +send_gdb "whatis x-y\n" +gdb_expect { + -re ".*type = long.*$gdb_prompt $" { + pass "whatis value of x-y" + } + -re ".*$gdb_prompt $" { fail "whatis value of x-y" } + timeout { fail "(timeout) whatis value of x-y" } + } + +send_gdb "whatis x*y\n" +gdb_expect { + -re ".*type = long.*$gdb_prompt $" { + pass "whatis value of x*y" + } + -re ".*$gdb_prompt $" { fail "whatis value of x*y" } + timeout { fail "(timeout) whatis value of x*y" } + } + +send_gdb "whatis x/y\n" +gdb_expect { + -re ".*type = int.*$gdb_prompt $" { + pass "whatis value of x/y" + } + -re ".*$gdb_prompt $" { fail "whatis value of x/y" } + timeout { fail "(timeout) whatis value of x/y" } + } + +send_gdb "whatis x%y\n" +gdb_expect { + -re ".*type = int.*$gdb_prompt $" { + pass "whatis value of x%y" + } + -re ".*$gdb_prompt $" { fail "whatis value of x%y" } + timeout { fail "(timeout) whatis value of x%y" } + } + + + +send_gdb "whatis x=y\n" +gdb_expect { + -re ".*type = int.*$gdb_prompt $" { + pass "whatis value of x=y" + } + -re ".*$gdb_prompt $" { fail "whatis value of x=y" } + timeout { fail "(timeout) whatis value of x=y" } + } + + +send_gdb "whatis x+=2\n" +gdb_expect { + -re ".*type = int.*$gdb_prompt $" { + pass "whatis value of x+=2" + } + -re ".*$gdb_prompt $" { fail "whatis value of x+=2" } + timeout { fail "(timeout) whatis value of x+=2" } + } + + +send_gdb "whatis ++x\n" +gdb_expect { + -re ".*type = int.*$gdb_prompt $" { + pass "whatis value of ++x" + } + -re ".*$gdb_prompt $" { fail "whatis value of ++x" } + timeout { fail "(timeout) whatis value of ++x" } + } + +send_gdb "whatis --x\n" +gdb_expect { + -re ".*type = int.*$gdb_prompt $" { + pass "whatis value of --x" + } + -re ".*$gdb_prompt $" { fail "whatis value of --x" } + timeout { fail "(timeout) whatis value of --x" } + } + +send_gdb "whatis x++\n" +gdb_expect { + -re ".*type = int.*$gdb_prompt $" { + pass "whatis value of x++" + } + -re ".*$gdb_prompt $" { fail "whatis value of x++" } + timeout { fail "(timeout) whatis value of x++" } + } + +send_gdb "whatis x--\n" +gdb_expect { + -re ".*type = int.*$gdb_prompt $" { + pass "whatis value of x--" + } + -re ".*$gdb_prompt $" { fail "whatis value of x--" } + timeout { fail "(timeout) whatis value of x--" } + } + +gdb_exit +return 0 diff --git a/gdb/testsuite/gdb.base/whatis-expr.exp b/gdb/testsuite/gdb.base/whatis-expr.exp deleted file mode 100644 index c5b97eed357..00000000000 --- a/gdb/testsuite/gdb.base/whatis-expr.exp +++ /dev/null @@ -1,217 +0,0 @@ -# Copyright (C) 1998 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 - -# This file was written by Elena Zannoni (ezannoni@cygnus.com) - -# This file is part of the gdb testsuite -# -# tests for whatis command on expressions. -# used in file eval.c. This flavor of whatis -# command performs evaluation of expressions w/o actually -# computing the value, but just the type -# of the result. It goes through the evaluate_subexp_standard -# with the EVAL_AVOID_SIDE_EFFECTS flag rather than EVAL_NORMAL -# - -if $tracelevel then { - strace $tracelevel - } - -# -# test running programs -# -set prms_id 0 -set bug_id 0 - -set testfile "int-type" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } { - 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} - - -# -# set it up at a breakpoint so we can play with the variable values -# - -if ![runto_main] then { - perror "couldn't run to breakpoint" - continue -} - -# -# test expressions with "int" types -# - -gdb_test "set variable x=14" "" "set variable x=14" -gdb_test "set variable y=2" "" "set variable y=2" -gdb_test "set variable z=2" "" "set variable z=2" -gdb_test "set variable w=3" "" "set variable w=3" - -send_gdb "print x\n" -gdb_expect { - -re ".*14.*$gdb_prompt $" { - pass "print value of x" - } - -re ".*$gdb_prompt $" { fail "print value of x" } - timeout { fail "(timeout) print value of x" } - } - - -send_gdb "print y\n" -gdb_expect { - -re ".*2.*$gdb_prompt $" { - pass "print value of y" - } - -re ".*$gdb_prompt $" { fail "print value of y" } - timeout { fail "(timeout) print value of y" } - } - -send_gdb "print z\n" -gdb_expect { - -re ".*2.*$gdb_prompt $" { - pass "print value of z" - } - -re ".*$gdb_prompt $" { fail "print value of z" } - timeout { fail "(timeout) print value of z" } - } - -send_gdb "print w\n" -gdb_expect { - -re ".*3.*$gdb_prompt $" { - pass "print value of w" - } - -re ".*$gdb_prompt $" { fail "print value of w" } - timeout { fail "(timeout) print value of w" } - } - - - -send_gdb "whatis x+y\n" -gdb_expect { - -re ".*type = long.*$gdb_prompt $" { - pass "whatis value of x+y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x+y" } - timeout { fail "(timeout) whatis value of x+y" } - } - -send_gdb "whatis x-y\n" -gdb_expect { - -re ".*type = long.*$gdb_prompt $" { - pass "whatis value of x-y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x-y" } - timeout { fail "(timeout) whatis value of x-y" } - } - -send_gdb "whatis x*y\n" -gdb_expect { - -re ".*type = long.*$gdb_prompt $" { - pass "whatis value of x*y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x*y" } - timeout { fail "(timeout) whatis value of x*y" } - } - -send_gdb "whatis x/y\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x/y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x/y" } - timeout { fail "(timeout) whatis value of x/y" } - } - -send_gdb "whatis x%y\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x%y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x%y" } - timeout { fail "(timeout) whatis value of x%y" } - } - - - -send_gdb "whatis x=y\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x=y" - } - -re ".*$gdb_prompt $" { fail "whatis value of x=y" } - timeout { fail "(timeout) whatis value of x=y" } - } - - -send_gdb "whatis x+=2\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x+=2" - } - -re ".*$gdb_prompt $" { fail "whatis value of x+=2" } - timeout { fail "(timeout) whatis value of x+=2" } - } - - -send_gdb "whatis ++x\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of ++x" - } - -re ".*$gdb_prompt $" { fail "whatis value of ++x" } - timeout { fail "(timeout) whatis value of ++x" } - } - -send_gdb "whatis --x\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of --x" - } - -re ".*$gdb_prompt $" { fail "whatis value of --x" } - timeout { fail "(timeout) whatis value of --x" } - } - -send_gdb "whatis x++\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x++" - } - -re ".*$gdb_prompt $" { fail "whatis value of x++" } - timeout { fail "(timeout) whatis value of x++" } - } - -send_gdb "whatis x--\n" -gdb_expect { - -re ".*type = int.*$gdb_prompt $" { - pass "whatis value of x--" - } - -re ".*$gdb_prompt $" { fail "whatis value of x--" } - timeout { fail "(timeout) whatis value of x--" } - } - -gdb_exit -return 0