Do not set prms_id/bug_id anymore.
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / so-impl-ld.exp
CommitLineData
4c38e0a4 1# Copyright 1997, 1998, 1999, 2000, 2001, 2003, 2005, 2007, 2008, 2009, 2010
bf7234cf 2# Free Software Foundation, Inc.
c906108c
SS
3
4# This program is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by
e22f8b7c 6# the Free Software Foundation; either version 3 of the License, or
c906108c 7# (at your option) any later version.
e22f8b7c 8#
c906108c
SS
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU General Public License for more details.
e22f8b7c 13#
c906108c 14# You should have received a copy of the GNU General Public License
e22f8b7c 15# along with this program. If not, see <http://www.gnu.org/licenses/>.
c906108c
SS
16
17if $tracelevel then {
18 strace $tracelevel
19 }
20
c906108c 21
93f02886
DJ
22if {[skip_shlib_tests]} {
23 return 0
c906108c
SS
24}
25
c906108c 26set testfile "so-impl-ld"
bf7234cf
PG
27set libfile "solib1"
28set srcfile $srcdir/$subdir/$testfile.c
29set libsrc $srcdir/$subdir/$libfile.c
30set binfile $objdir/$subdir/$testfile
31set lib_sl $objdir/$subdir/$libfile.sl
32
33set lib_opts debug
34set exec_opts [list debug shlib=$lib_sl]
c906108c
SS
35
36if [get_compiler_info ${binfile}] {
37 return -1
38}
39
bf7234cf 40if [get_compiler_info ${binfile}] {
c906108c
SS
41 return -1
42}
43
bf7234cf
PG
44if [test_compiler_info "hpcc-*"] {
45 lappend exec_opts "additional_flags=-Ae"
c906108c
SS
46}
47
bf7234cf
PG
48if { [gdb_compile_shlib $libsrc $lib_sl $lib_opts] != ""
49 || [gdb_compile $srcfile $binfile executable $exec_opts] != ""} {
50 untested "Couldn't compile $libsrc or $srcfile."
c906108c
SS
51 return -1
52}
c906108c
SS
53
54# Start with a fresh gdb
55
56gdb_exit
57gdb_start
58gdb_reinitialize_dir $srcdir/$subdir
59gdb_load ${binfile}
93f02886 60gdb_load_shlibs $lib_sl
c906108c
SS
61
62# This program implicitly loads SOM shared libraries.
63#
64if ![runto_main] then { fail "implicit solibs tests suppressed" }
65
66# Verify that we can step over the first shlib call.
67#
68send_gdb "next\n"
69gdb_expect {
085dd6e6 70 -re "21\[ \t\]*result = solib_main .result.*$gdb_prompt $"\
c906108c
SS
71 {pass "step over solib call"}
72 -re "$gdb_prompt $"\
73 {fail "step over solib call"}
74 timeout {fail "(timeout) step over solib call"}
75}
76
77# Verify that we can step into the second shlib call.
78#
79send_gdb "step\n"
80gdb_expect {
bf7234cf 81 -re "solib_main .arg=10000. at.*${libfile}.c:17.*$gdb_prompt $"\
c906108c
SS
82 {pass "step into solib call"}
83 -re "$gdb_prompt $"\
84 {fail "step into solib call"}
85 timeout {fail "(timeout) step into solib call"}
86}
87
88# Verify that we can step within the shlib call.
89#
90send_gdb "next\n"
91gdb_expect {
085dd6e6 92 -re "18\[ \t\]*\}.*$gdb_prompt $"\
c906108c
SS
93 {pass "step in solib call"}
94 -re "$gdb_prompt $"\
95 {fail "step in solib call"}
96 timeout {fail "(timeout) step in solib call"}
97}
98
99# Verify that we can step out of the shlib call, and back out into
100# the caller.
101#
102send_gdb "next\n"
103gdb_expect {
104 -re "0x\[0-9a-f\]*\[ \t\]*9\[ \t\]*.*$gdb_prompt $" {
105 # we haven't left the callee yet, so do another next
106 send_gdb "next\n"
107 gdb_expect {
085dd6e6 108 -re "main .. at.*so-impl-ld.c:22.*$gdb_prompt $"\
c906108c
SS
109 {pass "step out of solib call"}
110 -re "$gdb_prompt $"\
111 {fail "step out of solib call"}
112 timeout {fail "(timeout) step out of solib call"}
113 }
114 }
115
085dd6e6 116 -re "main .. at.*so-impl-ld.c:22.*$gdb_prompt $"\
c906108c
SS
117 {pass "step out of solib call"}
118 -re "$gdb_prompt $"\
119 {fail "step out of solib call"}
120 timeout {fail "(timeout) step out of solib call"}
121}
122
123gdb_exit
124return 0
0d06e24b
JM
125
126
127
128
129
130
This page took 0.949412 seconds and 4 git commands to generate.