# Copyright 2010-2012 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 . # Exploit formerly failed assertion in scan_dyntag when it got called for # objfile having ".dynamic" section but without having data loaded in target. # Such file is ${binmainfile} through add-symbol-file here. Set context first # by "list main" to have some local BLOCK set in lookup_symbol_global. set testfile symbol-without-target_section set srclibfile ${testfile}.c set binlibfile ${testfile}.x set srcmainfile start.c set binmainfile ${testfile} if { [gdb_compile "${srcdir}/${subdir}/${srclibfile}" \ "${objdir}/${subdir}/${binlibfile}" object {debug}] != "" } { untested ${testfile}.exp return -1 } if {[build_executable ${testfile}.exp ${binmainfile} ${srcmainfile} {debug}] == -1} { return -1 } clean_restart ${binlibfile} gdb_test "add-symbol-file ${objdir}/${subdir}/${binmainfile} 0" \ "Reading symbols from .*" \ "add-symbol-file" \ "add symbol table from file \".*\" at.*\\(y or n\\) " "y" gdb_test "list main" gdb_test "print symbol_without_target_section"