
With test-case gdb.base/maint-expand-symbols-header-file.exp and target board cc-with-gdb-index, we have: ... FAIL: gdb.base/maint-expand-symbols-header-file.exp: \ verify no symtabs are expanded ... By default, with partial symbols, we find the main function in the partial symbols, and derive the initial language setting from that, without expanding any psymtab. But that doesn't work with the indices, because the indices don't store the language with the symbols. So instead, the main psymtab is expanded to get the language of main, which causes the FAIL. Fix this by manually setting the language. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-04-16 Tom de Vries <tdevries@suse.de> * gdb.base/maint-expand-symbols-header-file.exp: Set language before loading exec.
52 lines
1.8 KiB
Text
52 lines
1.8 KiB
Text
# Copyright 2020 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/>.
|
|
#
|
|
# Test-case to verify that symbol-less symtabs are expanded by
|
|
# "maint expand-symtabs".
|
|
|
|
standard_testfile .c
|
|
|
|
if {[build_executable "failed to prepare" $testfile \
|
|
$srcfile {debug nowarnings}]} {
|
|
return -1
|
|
}
|
|
clean_restart
|
|
|
|
# Make sure that no symtabs are expanded, by setting language before
|
|
# loading exec.
|
|
gdb_test_no_output "set language c"
|
|
gdb_load ${binfile}
|
|
|
|
set test "verify no symtabs are expanded"
|
|
if { [readnow] } {
|
|
unsupported $test
|
|
return -1
|
|
}
|
|
gdb_test_no_output "maint info symtabs" $test
|
|
|
|
# Expand the header file symtab.
|
|
gdb_test_no_output "maint expand-symtabs maint-expand-symbols-header-file.h"
|
|
|
|
# Check that the include symtab was in fact expanded.
|
|
set file_re "\[^\r\n\]*/maint-expand-symbols-header-file.h"
|
|
gdb_test "maint info symtabs" \
|
|
"\r\n\t{ symtab $file_re \\(\\(struct symtab \\*\\) $hex\\)\r\n.*" \
|
|
"check header file psymtab expansion"
|
|
|
|
# Check that the symtab the include symtab was referring to was expanded.
|
|
set file_re "\[^\r\n\]*/maint-expand-symbols-header-file.c"
|
|
gdb_test "maint info symtabs" \
|
|
"\r\n\t{ symtab $file_re \\(\\(struct symtab \\*\\) $hex\\)\r\n.*" \
|
|
"check source file psymtab expansion"
|