Browse Source
(end_symtab): Call it. * gdb.base/hashline1.exp: New testcase. * gdb.base/hashline2.exp: New testcase. * gdb.base/hashline2.exp: New testcase.msnyder-reverse-20080609-branch
6 changed files with 257 additions and 0 deletions
@ -0,0 +1,57 @@ |
|||
# Copyright 2008 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 3 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, see <http://www.gnu.org/licenses/>. |
|||
|
|||
# This file is part of the gdb testsuite. |
|||
|
|||
# Test loading of line number information with absolute path in #line, bug 2360. |
|||
|
|||
if $tracelevel then { |
|||
strace $tracelevel |
|||
} |
|||
|
|||
set prms_id 2360 |
|||
set bug_id 0 |
|||
|
|||
# srcfile is in objdir because we need to machine generate it in order |
|||
# to get the correct path in the #line directive. |
|||
|
|||
set testfile "hashline1" |
|||
set srcfile "${testfile}.c" |
|||
set binfile "${objdir}/${subdir}/${testfile}" |
|||
|
|||
set fd [open ${objdir}/${subdir}/${srcfile} w] |
|||
puts $fd "#line 2 \"[pwd]/${subdir}/${srcfile}\"" |
|||
puts $fd "int main () { return 0; } /* set breakpoint here */" |
|||
close $fd |
|||
|
|||
# The choice of path name for the source file is important in order to trigger |
|||
# the bug. Using ${objdir}/${subdir}/${srcfile} here won't trigger the bug. |
|||
if { [gdb_compile "./${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { |
|||
untested hashline1.exp |
|||
return -1 |
|||
} |
|||
|
|||
gdb_exit |
|||
gdb_start |
|||
gdb_reinitialize_dir $srcdir/$subdir |
|||
gdb_load ${binfile} |
|||
|
|||
set bp_location [gdb_get_line_number "set breakpoint here" ${objdir}/${subdir}/${srcfile}] |
|||
|
|||
# Try to set a breakpoint on the specified file location. |
|||
|
|||
gdb_test "break $srcfile:$bp_location" \ |
|||
"Breakpoint.*at.* file .*$srcfile, line.*" \ |
|||
"set breakpoint" |
|||
@ -0,0 +1,56 @@ |
|||
# Copyright 2008 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 3 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, see <http://www.gnu.org/licenses/>. |
|||
|
|||
# This file is part of the gdb testsuite. |
|||
|
|||
# Test loading of line number information with an absolute path with extra |
|||
# /'s in #line, bug 2360. |
|||
|
|||
if $tracelevel then { |
|||
strace $tracelevel |
|||
} |
|||
|
|||
set prms_id 2360 |
|||
set bug_id 0 |
|||
|
|||
# srcfile is in objdir because we need to machine generate it in order |
|||
# to get the correct path in the #line directive. |
|||
|
|||
set testfile "hashline2" |
|||
set srcfile "${testfile}.c" |
|||
set binfile "${objdir}/${subdir}/${testfile}" |
|||
|
|||
set fd [open ${objdir}/${subdir}/${srcfile} w] |
|||
puts $fd "#line 2 \"///[pwd]/${subdir}/${srcfile}\"" |
|||
puts $fd "int main () { return 0; } /* set breakpoint here */" |
|||
close $fd |
|||
|
|||
if { [gdb_compile "${objdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { |
|||
untested hashline1.exp |
|||
return -1 |
|||
} |
|||
|
|||
gdb_exit |
|||
gdb_start |
|||
gdb_reinitialize_dir $srcdir/$subdir |
|||
gdb_load ${binfile} |
|||
|
|||
set bp_location [gdb_get_line_number "set breakpoint here" ${objdir}/${subdir}/${srcfile}] |
|||
|
|||
# Try to set a breakpoint on the specified file location. |
|||
|
|||
gdb_test "break $srcfile:$bp_location" \ |
|||
"Breakpoint.*at.* file .*$srcfile, line.*" \ |
|||
"set breakpoint" |
|||
@ -0,0 +1,55 @@ |
|||
# Copyright 2008 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 3 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, see <http://www.gnu.org/licenses/>. |
|||
|
|||
# This file is part of the gdb testsuite. |
|||
|
|||
# Test loading of line number information with relative path in #line, bug 2360. |
|||
|
|||
if $tracelevel then { |
|||
strace $tracelevel |
|||
} |
|||
|
|||
set prms_id 2360 |
|||
set bug_id 0 |
|||
|
|||
# srcfile is in objdir because we need to machine generate it in order |
|||
# to get the correct path in the #line directive. |
|||
|
|||
set testfile "hashline3" |
|||
set srcfile "${testfile}.c" |
|||
set binfile "${objdir}/${subdir}/${testfile}" |
|||
|
|||
set fd [open ${objdir}/${subdir}/${srcfile} w] |
|||
puts $fd "#line 2 \"./${subdir}/${srcfile}\"" |
|||
puts $fd "int main () { return 0; } /* set breakpoint here */" |
|||
close $fd |
|||
|
|||
if { [gdb_compile "${objdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { |
|||
untested hashline1.exp |
|||
return -1 |
|||
} |
|||
|
|||
gdb_exit |
|||
gdb_start |
|||
gdb_reinitialize_dir $srcdir/$subdir |
|||
gdb_load ${binfile} |
|||
|
|||
set bp_location [gdb_get_line_number "set breakpoint here" ${objdir}/${subdir}/${srcfile}] |
|||
|
|||
# Try to set a breakpoint on the specified file location. |
|||
|
|||
gdb_test "break $srcfile:$bp_location" \ |
|||
"Breakpoint.*at.* file .*$srcfile, line.*" \ |
|||
"set breakpoint" |
|||
Loading…
Reference in new issue