-# Copyright 2007-2012 Free Software Foundation, Inc.
+# Copyright 2007-2021 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
# 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# This file is part of the gdb testsuite.
-if $tracelevel then {
- strace $tracelevel
-}
-
# It's possible to have a program that contains two compilation units
# for the same source file name, that have code at different lines.
# For example, in this test, we compile expand-psymtabs.c twice with
# reading in effect, GDB can set breakpoints by line number
# successfully in either compilation unit.
-set testfile expand-psymtabs
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
-set binfile_1 ${objdir}/${subdir}/${testfile}_1.o
-set binfile_2 ${objdir}/${subdir}/${testfile}_2.o
+standard_testfile
# What compiler are we using?
-if [get_compiler_info ${binfile}] {
+if [get_compiler_info] {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile_1}" object {debug additional_flags=-DFIRST} ] != "" } {
- untested expand-psymtabs.exp
- return -1
-}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile_2}" object {debug}] != "" } {
- untested expand-psymtabs.exp
- return -1
-}
-
-if { [gdb_compile "${binfile_1} ${binfile_2}" "${binfile}" executable {debug}] != "" } {
- untested expand-psymtabs.exp
- return -1
+# We intentionally compile the source file in twice.
+if {[prepare_for_testing_full "failed to prepare" \
+ [list $testfile debug $srcfile {debug additional_flags=-DFIRST} \
+ $srcfile debug]]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
set foo_bp [gdb_get_line_number "Break here"]
-gdb_test "break $foo_bp" "Breakpoint.*" "Expand psymtabs"
+gdb_test "break $foo_bp" "Breakpoint.*" "expand psymtabs"