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

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gdb/] [gdb-6.8/] [gdb/] [testsuite/] [gdb.base/] [watchpoint-solib.exp] - Blame information for rev 25

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 25 jlechner
#   Copyright 2007 Free Software Foundation, Inc.
2
 
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 3 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program.  If not, see .
15
 
16
if $tracelevel then {
17
    strace $tracelevel
18
}
19
 
20
#
21
# test running programs
22
#
23
set prms_id 0
24
set bug_id 0
25
 
26
if {[skip_shlib_tests]} {
27
    return 0
28
}
29
 
30
# TODO: Use LoadLibrary on this target instead of dlopen.
31
if {[istarget arm*-*-symbianelf*]} {
32
    return 0
33
}
34
 
35
set testfile "watchpoint-solib"
36
set libfile "watchpoint-solib-shr"
37
set libname "${libfile}.sl"
38
set libsrcfile ${libfile}.c
39
set srcfile $srcdir/$subdir/$testfile.c
40
set binfile $objdir/$subdir/$testfile
41
set shlibdir ${objdir}/${subdir}
42
set libsrc  $srcdir/$subdir/$libfile.c
43
set lib_sl  $objdir/$subdir/$libname
44
 
45
if [get_compiler_info ${binfile}] {
46
    return -1
47
}
48
 
49
set lib_opts debug
50
set exec_opts [list debug shlib_load additional_flags=-DSHLIB_NAME\=\"${libname}\"]
51
 
52
if { [gdb_compile_shlib $libsrc $lib_sl $lib_opts] != ""
53
     || [gdb_compile $srcfile $binfile executable $exec_opts] != ""} {
54
    untested "Couldn't compile $libsrc or $srcfile."
55
    return -1
56
}
57
 
58
# Start with a fresh gdb.
59
 
60
gdb_exit
61
gdb_start
62
gdb_reinitialize_dir $srcdir/$subdir
63
gdb_load ${binfile}
64
gdb_load_shlibs $lib_sl
65
 
66
if [target_info exists gdb_stub] {
67
    gdb_step_for_stub;
68
}
69
 
70
runto_main
71
 
72
# Test that if we set a watchpoint on a global variable
73
# in a explicitly loaded shared library, and then
74
# re-run the application, gdb does not crash.
75
gdb_test_multiple "break foo" "set pending breakpoint" {
76
     -re ".*Make breakpoint pending.*y or \\\[n\\\]. $" {
77
            gdb_test "y" "Breakpoint.*foo.*pending." "set pending breakpoint"
78
     }
79
}
80
 
81
gdb_test "continue" ".*Breakpoint 2.*foo.*" "continue to foo"
82
gdb_test "watch g" "Hardware watchpoint 3: g" "set watchpoint on g"
83
gdb_test "continue" ".*New value = 1.*" "continue to watchpoint hit"
84
rerun_to_main
85
gdb_test "continue" ".*Breakpoint 2.*foo.*" "continue to foo again"
86
gdb_test "continue" ".*New value = 1.*" "continue to watchpoint hit again"
87
 
88
 
89
 
90
 
91
 

powered by: WebSVN 2.1.0

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