[gdb/testsuite] Fix imported-unit.exp FAIL without psymtabs
The test-case gdb.dwarf2/imported-unit.exp contains a test testing partial symbols, so when we run the test-case using either target board readnow, cc-with-gdb-index or cc-with-debug-names, we run into: ... FAIL: gdb.dwarf2/imported-unit.exp: no static partial symbols in importing unit ... Fix this by marking the test unsupported if there are no partial symbols. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-04-08 Tom de Vries <tdevries@suse.de> * lib/gdb.exp (psymtabs_p): New proc. * gdb.dwarf2/imported-unit.exp: Mark "no static partial symbols in importing unit" unsupported if there are no partial symbols.
This commit is contained in:
parent
e21d048f8a
commit
14ca8ecfcb
|
@ -1,3 +1,9 @@
|
|||
2020-04-08 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* lib/gdb.exp (psymtabs_p): New proc.
|
||||
* gdb.dwarf2/imported-unit.exp: Mark "no static partial symbols in
|
||||
importing unit" unsupported if there are no partial symbols.
|
||||
|
||||
2020-04-08 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
PR testsuite/25760
|
||||
|
|
|
@ -149,19 +149,25 @@ if { [prepare_for_testing "failed to prepare" ${testfile} \
|
|||
|
||||
gdb_test_no_output "set language c++"
|
||||
|
||||
set psymtabs_p [psymtabs_p]
|
||||
|
||||
# Verify that the partial symtab for the unit importing the partial unit does
|
||||
# not contain the static partial symbol int, which is defined in the partial
|
||||
# unit. Test-case for PR25646.
|
||||
gdb_test "main print psymbols" \
|
||||
[multi_line \
|
||||
" Depends on 1 other partial symtabs\." \
|
||||
"\[^\r\n\]*" \
|
||||
" Global partial symbols:" \
|
||||
" `main', function, $hex" \
|
||||
"" \
|
||||
".*"] \
|
||||
"no static partial symbols in importing unit"
|
||||
|
||||
set test "no static partial symbols in importing unit"
|
||||
if { $psymtabs_p } {
|
||||
gdb_test "main print psymbols" \
|
||||
[multi_line \
|
||||
" Depends on 1 other partial symtabs\." \
|
||||
"\[^\r\n\]*" \
|
||||
" Global partial symbols:" \
|
||||
" `main', function, $hex" \
|
||||
"" \
|
||||
".*"] \
|
||||
$test
|
||||
} else {
|
||||
unsupported $test
|
||||
}
|
||||
# Sanity check
|
||||
gdb_test "ptype main" "= int \\(void\\)"
|
||||
|
||||
|
|
|
@ -6998,6 +6998,24 @@ proc readnow { } {
|
|||
return 0
|
||||
}
|
||||
|
||||
# Return 1 if partial symbols are available. Otherwise, return 0.
|
||||
|
||||
proc psymtabs_p { } {
|
||||
global gdb_prompt
|
||||
|
||||
set cmd "maint info psymtab"
|
||||
gdb_test_multiple $cmd "" {
|
||||
-re "$cmd\r\n$gdb_prompt $" {
|
||||
return 0
|
||||
}
|
||||
-re -wrap "" {
|
||||
return 1
|
||||
}
|
||||
}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
# Verify that partial symtab expansion for $filename has state $readin.
|
||||
|
||||
proc verify_psymtab_expanded { filename readin } {
|
||||
|
|
Loading…
Reference in New Issue