OLD | NEW |
1 # Copyright 2008-2012 Free Software Foundation, Inc. | 1 # Copyright 2008-2012 Free Software Foundation, Inc. |
2 | 2 |
3 # This program is free software; you can redistribute it and/or modify | 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 | 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 | 5 # the Free Software Foundation; either version 3 of the License, or |
6 # (at your option) any later version. | 6 # (at your option) any later version. |
7 # | 7 # |
8 # This program is distributed in the hope that it will be useful, | 8 # This program is distributed in the hope that it will be useful, |
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
11 # GNU General Public License for more details. | 11 # GNU General Public License for more details. |
12 # | 12 # |
13 # You should have received a copy of the GNU General Public License | 13 # You should have received a copy of the GNU General Public License |
14 # along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
15 | 15 |
16 # This file is part of the gdb testsuite. | 16 # This file is part of the gdb testsuite. |
17 | 17 |
18 # Test loading of line number information with relative path in #line, | 18 # Test loading of line number information with relative path in #line, |
19 # PR symtab/9465. | 19 # PR symtab/9465. |
20 | 20 |
21 if $tracelevel then { | |
22 strace $tracelevel | |
23 } | |
24 | |
25 # srcfile is in objdir because we need to machine generate it in order | 21 # srcfile is in objdir because we need to machine generate it in order |
26 # to get the correct path in the #line directive. | 22 # to get the correct path in the #line directive. |
27 | 23 |
28 set testfile "hashline3" | 24 set testfile "hashline3" |
29 set srcfile "${testfile}.c" | 25 set srcfile "${testfile}.c" |
30 set binfile "${objdir}/${subdir}/${testfile}" | 26 set binfile "${objdir}/${subdir}/${testfile}" |
31 | 27 |
32 set fd [open ${objdir}/${subdir}/${srcfile} w] | 28 set fd [open ${objdir}/${subdir}/${srcfile} w] |
33 puts $fd "#line 2 \"./${subdir}/${srcfile}\"" | 29 puts $fd "#line 2 \"./${subdir}/${srcfile}\"" |
34 puts $fd "int main () { return 0; } /* set breakpoint here */" | 30 puts $fd "int main () { return 0; } /* set breakpoint here */" |
35 close $fd | 31 close $fd |
36 | 32 |
37 if { [gdb_compile "${objdir}/${subdir}/${srcfile}" "${binfile}" executable {debu
g}] != "" } { | 33 if { [gdb_compile "${objdir}/${subdir}/${srcfile}" "${binfile}" executable {debu
g}] != "" } { |
38 untested hashline3.exp | 34 untested hashline3.exp |
39 return -1 | 35 return -1 |
40 } | 36 } |
41 | 37 |
42 gdb_exit | 38 gdb_exit |
43 gdb_start | 39 gdb_start |
44 gdb_reinitialize_dir $srcdir/$subdir | 40 gdb_reinitialize_dir $srcdir/$subdir |
45 gdb_load ${binfile} | 41 gdb_load ${binfile} |
46 | 42 |
47 set bp_location [gdb_get_line_number "set breakpoint here" ${objdir}/${subdir}/$
{srcfile}] | 43 set bp_location [gdb_get_line_number "set breakpoint here" ${objdir}/${subdir}/$
{srcfile}] |
48 | 44 |
49 # Try to set a breakpoint on the specified file location. | 45 # Try to set a breakpoint on the specified file location. |
50 | 46 |
51 gdb_test "break $srcfile:$bp_location" \ | 47 gdb_test "break $srcfile:$bp_location" \ |
52 "Breakpoint.*at.* file .*$srcfile, line.*" \ | 48 "Breakpoint.*at.* file .*$srcfile, line.*" \ |
53 "set breakpoint" | 49 "set breakpoint" |
OLD | NEW |