OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gdb/] [gdb-6.8/] [gdb/] [testsuite/] [gdb.base/] [so-impl-ld.exp] - Blame information for rev 25

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 25 jlechner
# Copyright 1997, 1998, 1999, 2000, 2001, 2003, 2005, 2007, 2008
2
# Free Software Foundation, Inc.
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
6
# the Free Software Foundation; either version 3 of the License, or
7
# (at your option) any later version.
8
#
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.
13
#
14
# You should have received a copy of the GNU General Public License
15
# along with this program.  If not, see .
16
 
17
if $tracelevel then {
18
        strace $tracelevel
19
        }
20
 
21
set prms_id 0
22
set bug_id 0
23
 
24
if {[skip_shlib_tests]} {
25
    return 0
26
}
27
 
28
set testfile "so-impl-ld"
29
set libfile "solib1"
30
set srcfile $srcdir/$subdir/$testfile.c
31
set libsrc  $srcdir/$subdir/$libfile.c
32
set binfile $objdir/$subdir/$testfile
33
set lib_sl  $objdir/$subdir/$libfile.sl
34
 
35
set lib_opts  debug
36
set exec_opts [list debug shlib=$lib_sl]
37
 
38
if [get_compiler_info ${binfile}] {
39
    return -1
40
}
41
 
42
if [get_compiler_info ${binfile}] {
43
    return -1
44
}
45
 
46
if [test_compiler_info "hpcc-*"] {
47
    lappend exec_opts "additional_flags=-Ae"
48
}
49
 
50
if { [gdb_compile_shlib $libsrc $lib_sl $lib_opts] != ""
51
     || [gdb_compile $srcfile $binfile executable $exec_opts] != ""} {
52
    untested "Couldn't compile $libsrc or $srcfile."
53
    return -1
54
}
55
 
56
# Start with a fresh gdb
57
 
58
gdb_exit
59
gdb_start
60
gdb_reinitialize_dir $srcdir/$subdir
61
gdb_load ${binfile}
62
gdb_load_shlibs $lib_sl
63
 
64
# This program implicitly loads SOM shared libraries.
65
#
66
if ![runto_main] then { fail "implicit solibs tests suppressed" }
67
 
68
# Verify that we can step over the first shlib call.
69
#
70
send_gdb "next\n"
71
gdb_expect {
72
  -re "21\[ \t\]*result = solib_main .result.*$gdb_prompt $"\
73
          {pass "step over solib call"}
74
  -re "$gdb_prompt $"\
75
          {fail "step over solib call"}
76
  timeout {fail "(timeout) step over solib call"}
77
}
78
 
79
# Verify that we can step into the second shlib call.
80
#
81
send_gdb "step\n"
82
gdb_expect {
83
  -re "solib_main .arg=10000. at.*${libfile}.c:17.*$gdb_prompt $"\
84
          {pass "step into solib call"}
85
  -re "$gdb_prompt $"\
86
          {fail "step into solib call"}
87
  timeout {fail "(timeout) step into solib call"}
88
}
89
 
90
# Verify that we can step within the shlib call.
91
#
92
send_gdb "next\n"
93
gdb_expect {
94
  -re "18\[ \t\]*\}.*$gdb_prompt $"\
95
          {pass "step in solib call"}
96
  -re "$gdb_prompt $"\
97
          {fail "step in solib call"}
98
  timeout {fail "(timeout) step in solib call"}
99
}
100
 
101
# Verify that we can step out of the shlib call, and back out into
102
# the caller.
103
#
104
send_gdb "next\n"
105
gdb_expect {
106
    -re "0x\[0-9a-f\]*\[ \t\]*9\[ \t\]*.*$gdb_prompt $" {
107
        # we haven't left the callee yet, so do another next
108
        send_gdb "next\n"
109
        gdb_expect {
110
            -re "main .. at.*so-impl-ld.c:22.*$gdb_prompt $"\
111
                {pass "step out of solib call"}
112
            -re "$gdb_prompt $"\
113
                {fail "step out of solib call"}
114
            timeout {fail "(timeout) step out of solib call"}
115
        }
116
    }
117
 
118
    -re "main .. at.*so-impl-ld.c:22.*$gdb_prompt $"\
119
        {pass "step out of solib call"}
120
    -re "$gdb_prompt $"\
121
        {fail "step out of solib call"}
122
    timeout {fail "(timeout) step out of solib call"}
123
}
124
 
125
gdb_exit
126
return 0
127
 
128
 
129
 
130
 
131
 
132
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.