diff options
-rw-r--r-- | gdb/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/c-linkage-name.exp | 27 | ||||
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 38 |
3 files changed, 57 insertions, 17 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index b2a94e8..9d879fb 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2020-03-30 Tom de Vries <tdevries@suse.de> + + * gdb.base/c-linkage-name.exp: Use readnow call to mark a test + unsupported. + (verify_psymtab_expanded): Move ... + * lib/gdb.exp (verify_psymtab_expanded): ... here. Add unsupported + test. + (readnow): New proc. + 2020-03-23 Andrew Burgess <andrew.burgess@embecosm.com> * gdb.fortran/mixed-lang-stack.exp: Replace two hard coded address diff --git a/gdb/testsuite/gdb.base/c-linkage-name.exp b/gdb/testsuite/gdb.base/c-linkage-name.exp index 4551c8d..9a472a7 100644 --- a/gdb/testsuite/gdb.base/c-linkage-name.exp +++ b/gdb/testsuite/gdb.base/c-linkage-name.exp @@ -26,30 +26,23 @@ if { [gdb_compile "${sources}" "${binfile}" executable {debug}] != "" } { } clean_restart ${binfile} - -# Verify that partial symtab expansion for $filename has state $readin - -proc verify_psymtab_expanded { filename readin } { - set cmd "maint info psymtab" - set test "$cmd: $filename: $readin" - set re [multi_line \ - " \{ psymtab \[^\r\n\]*$filename\[^\r\n\]*" \ - " readin $readin" \ - ".*"] - - gdb_test $cmd $re $test -} +set readnow [readnow] # Verify that partial symtab expansion has not taken place for # c-linkage-name-2.c. verify_psymtab_expanded c-linkage-name-2.c no -# Try to print MUNDANE, but using its linkage name. +set test "print symada__cS before partial symtab expansion" +if { $readnow } { + unsupported $test +} else { + # Try to print MUNDANE, but using its linkage name. -gdb_test "print symada__cS" \ - "'symada__cS' has unknown type; cast it to its declared type" \ - "print symada__cS before partial symtab expansion" + gdb_test "print symada__cS" \ + "'symada__cS' has unknown type; cast it to its declared type" \ + $test +} # Force the symbols to be expanded for the unit that contains # our symada__cS symbol by, e.g. inserting a breakpoint on one diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index e17ac0e..3bd0881 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -6982,5 +6982,43 @@ gdb_caching_proc supports_statement_frontiers { } executable "additional_flags=-gstatement-frontiers"] } +# Return 1 if symbols were read in using -readnow. Otherwise, return 0. + +proc readnow { } { + set cmd "maint print objfiles" + gdb_test_multiple $cmd "" { + -re -wrap "\r\n.gdb_index: faked for \"readnow\"\r\n.*" { + return 1 + } + -re -wrap "" { + return 0 + } + } + + return 0 +} + +# Verify that partial symtab expansion for $filename has state $readin. + +proc verify_psymtab_expanded { filename readin } { + global gdb_prompt + + set cmd "maint info psymtab" + set test "$cmd: $filename: $readin" + set re [multi_line \ + " \{ psymtab \[^\r\n\]*$filename\[^\r\n\]*" \ + " readin $readin" \ + ".*"] + + gdb_test_multiple $cmd $test { + -re "$cmd\r\n$gdb_prompt $" { + unsupported $gdb_test_name + } + -re -wrap $re { + pass $gdb_test_name + } + } +} + # Always load compatibility stuff. load_lib future.exp |