diff options
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/solib-corrupted.exp | 12 |
2 files changed, 17 insertions, 1 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 4bd4521..9a20e7e 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,11 @@ 2020-12-14 Tom de Vries <tdevries@suse.de> + PR testsuite/26962 + * gdb.base/solib-corrupted.exp: Handle "'_r_debug' has unknown type; + cast it to its declared type". + +2020-12-14 Tom de Vries <tdevries@suse.de> + PR testsuite/26951 * gdb.base/batch-preserve-term-settings.exp: Use "gdb-subshell$ " as shell prompt. diff --git a/gdb/testsuite/gdb.base/solib-corrupted.exp b/gdb/testsuite/gdb.base/solib-corrupted.exp index 5ee943c..902ef9c 100644 --- a/gdb/testsuite/gdb.base/solib-corrupted.exp +++ b/gdb/testsuite/gdb.base/solib-corrupted.exp @@ -64,10 +64,20 @@ if { [llength $probes] == 0 } { gdb_test "info sharedlibrary" "From * To .*" "normal list" +set no_glibc_debuginfo_re1 "No symbol \"_r_debug\" in current context\\." +set no_glibc_debuginfo_re2 \ + [concat \ + "Attempt to extract a component of a value that is not a structure" \ + " pointer\\."] +set no_glibc_debuginfo_re3 \ + "'_r_debug' has unknown type; cast it to its declared type" +set no_glibc_debuginfo_re \ + "($no_glibc_debuginfo_re1|$no_glibc_debuginfo_re2|$no_glibc_debuginfo_re3)" + # GDB checks there for matching L_PREV. set test "make solibs looping" gdb_test_multiple "p/x _r_debug->r_map->l_next = _r_debug->r_map" $test { - -re "(No symbol \"_r_debug\" in current context\\.|Attempt to extract a component of a value that is not a structure pointer\\.)\r\n$gdb_prompt $" { + -re "$no_glibc_debuginfo_re\r\n$gdb_prompt $" { # glibc debug info is not available and it is too difficult to find and # parse it from this testcase without the gdb supporting functions. xfail $test |