diff options
Diffstat (limited to 'gdb/testsuite/gdb.base/shlib-call.exp')
-rw-r--r-- | gdb/testsuite/gdb.base/shlib-call.exp | 240 |
1 files changed, 0 insertions, 240 deletions
diff --git a/gdb/testsuite/gdb.base/shlib-call.exp b/gdb/testsuite/gdb.base/shlib-call.exp deleted file mode 100644 index f6929b8..0000000 --- a/gdb/testsuite/gdb.base/shlib-call.exp +++ /dev/null @@ -1,240 +0,0 @@ -# Copyright (C) 1997, 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 - -# file to test calls into shared libraries -# the source files for this test are: -# -# shmain.c -# shr1.c (shared lib) -# shr2.c (shared lib) -# ss.h (header for shr2.c) -# -# file written by Elena Zannoni: elz@ch.apollo.com -# - -#debug shmain -#prop lib shr1.sl -#prop lib shr2.sl - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -# are we on a target board? -if ![isnative] then { - return 0 -} - -set testfile "shmain" -set libfile "shr" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -# build the first test case -if [get_compiler_info ${binfile}] { - return -1 -} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}.o" object {debug}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - -# Build the shared libraries this test case needs. -# - -if {$gcc_compiled == 0} { - if [istarget "hppa*-hp-hpux*"] then { - set additional_flags "additional_flags=+z" - } else { - # don't know what the compiler is... - set additional_flags "" - } -} else { - set additional_flags "additional_flags=-fpic" -} - -if {[gdb_compile "${srcdir}/${subdir}/${libfile}1.c" "${objdir}/${subdir}/${libfile}1.o" object [list debug $additional_flags]] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if {[gdb_compile "${srcdir}/${subdir}/${libfile}2.c" "${objdir}/${subdir}/${libfile}2.o" object [list debug $additional_flags]] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -if [istarget "hppa*-*-hpux*"] { - remote_exec build "ld -b ${objdir}/${subdir}/${libfile}1.o -o ${objdir}/${subdir}/${libfile}1.sl" - remote_exec build "ld -b ${objdir}/${subdir}/${libfile}2.o -o ${objdir}/${subdir}/${libfile}2.sl" -} else { - set additional_flags "additional_flags=-shared" - if {[gdb_compile "${objdir}/${subdir}/${libfile}1.o" "${objdir}/${subdir}/${libfile}1.sl" executable [list debug $additional_flags]] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } - if {[gdb_compile "${objdir}/${subdir}/${libfile}2.o" "${objdir}/${subdir}/${libfile}2.sl" executable [list debug $additional_flags]] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." - } -} -if {[gdb_compile "${objdir}/${subdir}/${testfile}.o ${objdir}/${subdir}/${libfile}1.sl ${objdir}/${subdir}/${libfile}2.sl" "${binfile}" executable {debug}] != ""} { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - - - -# Start with a fresh gdb. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} -send_gdb "set print sevenbit-strings\n" ; gdb_expect -re "$gdb_prompt $" -send_gdb "set print address off\n" ; gdb_expect -re "$gdb_prompt $" -send_gdb "set width 0\n" ; gdb_expect -re "$gdb_prompt $" - - -if ![runto_main] then { - perror "C function calling tests suppressed" -} - - -#step -over - - send_gdb "next\n" - gdb_expect { - -re ".*g = shr1\\(g\\).*$gdb_prompt $" {pass "next to shr2"} - -re ".*$gdb_prompt $" { fail "next to shr2" } - timeout { fail "next to shr2 (timeout)" } - } - - - -#print g - -send_gdb "print g\n" -gdb_expect { - -re ".*\[0-9\]* = 1.*$gdb_prompt $" { - pass "print g" - } - -re ".*$gdb_prompt $" { fail "print g" } - timeout { fail "(timeout) print g" } - } - - -#step -over - send_gdb "next\n" - gdb_expect { - -re ".*address of sgs is $hex.*g = shr2\\(g\\).*$gdb_prompt $" { - pass "next over shr1" } - -re ".*$gdb_prompt $" { fail "next over shr1" } - timeout { fail "next over shr1 (timeout)" } - } - -#print g -send_gdb "print g\n" -gdb_expect { - -re ".*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print g" } - -re ".*$gdb_prompt $" { fail "print g" } - timeout { fail "(timeout) print g" } - } - -#print shr1(1) -send_gdb "print shr1(1)\n" -gdb_expect { - -re ".*address of sgs is $hex.*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print shr1(1)" } - -re ".*$gdb_prompt $" { fail "print shr1(1)" } - timeout { fail "(timeout) print shr1(1)" } - } - -#print shr1(g) -send_gdb "print shr1(g)\n" -gdb_expect { - -re ".*address of sgs is $hex.*\[0-9\]* = 4.*$gdb_prompt $" { - pass "print shr1(g)" } - -re ".*$gdb_prompt $" { fail "print shr1(g)" } - timeout { fail "(timeout) print shr1(g)" } - } - -#break shr2 -#go -gdb_test "break shr2" \ - "Breakpoint.*file.*shr2.c, line.*" \ - "breakpoint function shr2" - -gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, shr2 \\(.*\\) at.*shr2\\.c:3.*3.*return 2.x;" \ -"run until breakpoint set at a function" - - -#print shr1(1) -send_gdb "print shr1(1)\n" -gdb_expect { - -re ".*address of sgs is $hex.*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print shr1(1)" - } - -re ".*$gdb_prompt $" { fail "print shr1(1)" } - timeout { fail "(timeout) print shr1(1)" } - } - -#print mainshr1(1) -send_gdb "print mainshr1(1)\n" -gdb_expect { - -re ".*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print mainshr1(1) from shlib func" - } - -re ".*$gdb_prompt $" { fail "print mainshr1(1) from shlib func" } - timeout { fail "(timeout) print mainshr1(1) from shlib func" } - } - -#step -return - send_gdb "step\n" - gdb_expect { - -re ".*\\\}.*$gdb_prompt $" { pass "step inside shr2 (shlib func)"} - -re ".*$gdb_prompt $" { fail "step inside shr2 (shlib func)" } - timeout { fail "step inside shr2 (shlib func) (timeout)" } - } - - send_gdb "step\n" - gdb_expect { - -re "main \\(\\) at.*g = mainshr1\\(g\\);.*$gdb_prompt $" { pass "step out of shr2 to main"} - -re ".*$gdb_prompt $" { fail "step out of shr2 to main" } - timeout { fail "step out of shr2 to main (timeout)" } - } - -#print mainshr1(1) -send_gdb "print mainshr1(1)\n" -gdb_expect { - -re ".*\[0-9\]* = 2.*$gdb_prompt $" { - pass "print mainshr1(1)" - } - -re ".*$gdb_prompt $" { fail "print mainshr1(1) from main" } - timeout { fail "(timeout) print mainshr1(1) from main" } - } - -#step - send_gdb "step\n" - gdb_expect { - -re ".*mainshr1 \\(g=4\\) at.*return 2.g;.*$gdb_prompt $" { pass "step into mainshr1"} - -re ".*$gdb_prompt $" { fail "step into mainshr1" } - timeout { fail "step into mainshr1 (timeout)" } - } - -return 0 |