1# Copyright 2003, 2007, 2008, 2009, 2010, 2011 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 <http://www.gnu.org/licenses/>. 15 16# This file is part of the gdb testsuite 17 18# This is intended to be a repository for tests that partial symbols 19# are working properly. If multiple tests are added, make sure that 20# you exit and restart GDB between tests. 21 22if $tracelevel then { 23 strace $tracelevel 24} 25 26# 27# test running programs 28# 29 30 31if { [skip_cplus_tests] } { continue } 32 33set testfile "psymtab" 34set binfile ${objdir}/${subdir}/${testfile} 35 36if { [gdb_compile "${srcdir}/${subdir}/${testfile}1.c" "${testfile}1.o" object {debug}] != "" } { 37 untested psymtab.exp 38 return -1 39} 40 41if { [gdb_compile "${srcdir}/${subdir}/${testfile}2.c" "${testfile}2.o" object {debug}] != "" } { 42 untested psymtab.exp 43 return -1 44} 45 46if { [gdb_compile "${testfile}1.o ${testfile}2.o" ${binfile} executable {debug}] != "" } { 47 untested psymtab.exp 48 return -1 49} 50 51# Create and source the file that provides information about the compiler 52# used to compile the test case. 53if [get_compiler_info ${binfile}] { 54 return -1; 55} 56 57gdb_exit 58gdb_start 59gdb_reinitialize_dir $srcdir/$subdir 60gdb_load ${binfile} 61 62# Disable the prompt for whether to set pending breakpoints. 63# We don't want a breakpoint, we just want to verify the symbol 64# isn't found. 65gdb_test_no_output "set breakpoint pending off" "psymtab pending setup" 66 67# This test is looking for a bug that manifested itself when GDB was 68# looking for a partial symbol such that there wasn't such a partial 69# symbol in the psymtab, but such that the last psym in the psymtab 70# had the right name but the wrong namespace. Here, searching for 71# zzz::dummy currently causes a search for 'zzz' in STRUCT_NAMESPACE 72# without a preceding search for 'zzz' in VAR_NAMESPACE. 73 74gdb_test "break zzz::dummy" {Function "zzz::dummy" not defined\.} "Don't search past end of psymtab." 75