-# Copyright 2008, 2009 Free Software Foundation, Inc.
+# Copyright 2008-2013 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
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+load_lib dwarf.exp
# Test printint string variables that are optimized out because they
# are unreferenced in code, and whose contents appear in .debug_str.
# This test can only be run on targets which support DWARF-2 and use gas.
-# For now pick a sampling of likely targets.
-if {![istarget *-*-linux*]
- && ![istarget *-*-gnu*]
- && ![istarget *-*-elf*]
- && ![istarget *-*-openbsd*]
- && ![istarget arm-*-eabi*]
- && ![istarget powerpc-*-eabi*]} {
+if {![dwarf2_support]} {
return 0
}
-set testfile "dw2-strp"
-set srcfile ${testfile}.S
-set binfile ${objdir}/${subdir}/${testfile}.x
+standard_testfile .S
-if { [gdb_compile "${srcdir}/${subdir}/main.c" "main.o" object {debug}] != "" } {
+if {[prepare_for_testing_full $testfile.exp \
+ [list $testfile debug main.c debug $srcfile nodebug]]} {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${testfile}.o" object {nodebug}] != "" } {
- return -1
-}
-
-if { [gdb_compile "${testfile}.o main.o" "${binfile}" executable {debug}] != "" } {
- return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+gdb_test "p a_string" " = \"hello world!\\\\n\""
+gdb_test "ptype a_string" "type = const char \\\[14\\\]"
-gdb_test "p a_string" "\\\$1 = \"hello world!\\\\n\""
-gdb_test "ptype a_string" "type = char \\\[14\\\]"
+gdb_test "p a_string2" " = \"hello world2\\\\n\""
+gdb_test "ptype a_string2" "type = const char \\\[14\\\]"