Index: gdb/testsuite/gdb.base/solib-corrupted.exp |
diff --git a/gdb/testsuite/gdb.base/solib-corrupted.exp b/gdb/testsuite/gdb.base/solib-corrupted.exp |
index 84b3b0c9dfc7a050c8acf1c3926199acc5c29a60..4b92b8be6d27a4ba69f6ad62a4eb4fd2673d4914 100644 |
--- a/gdb/testsuite/gdb.base/solib-corrupted.exp |
+++ b/gdb/testsuite/gdb.base/solib-corrupted.exp |
@@ -1,4 +1,4 @@ |
-# Copyright 2010-2012 Free Software Foundation, Inc. |
+# Copyright 2010-2013 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 |
@@ -36,6 +36,33 @@ if ![runto_main] { |
return |
} |
+# With probes interface GDB no longer scans the inferior library list so its |
+# corruption cannot be tested. There is no way to disable the probes |
+# interface. |
+ |
+set probes { init_start init_complete map_start reloc_complete unmap_start |
+ unmap_complete } |
+set test "info probes" |
+gdb_test_multiple $test $test { |
+ -re "^rtld\[ \t\]+(?:rtld_)?(\[a-z_\]+)\[ \t\]" { |
+ set idx [lsearch -exact $probes $expect_out(1,string)] |
+ if { $idx >= 0 } { |
+ set probes [lreplace $probes $idx $idx] |
+ } |
+ exp_continue |
+ } |
+ -re "^\[^\r\n\]*\r\n" { |
+ exp_continue |
+ } |
+ -re "^$gdb_prompt $" { |
+ } |
+} |
+if { [llength $probes] == 0 } { |
+ xfail $test |
+ untested "GDB is using probes" |
+ return |
+} |
+ |
gdb_test "info sharedlibrary" "From * To .*" "normal list" |
# GDB checks there for matching L_PREV. |
@@ -44,9 +71,8 @@ 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 $" { |
# glibc debug info is not available and it is too difficult to find and |
# parse it from this testcase without the gdb supporting functions. |
- verbose -log "no _r_debug symbol has been found" |
xfail $test |
- untested ${testfile}.exp |
+ untested "no _r_debug symbol has been found" |
return |
} |
-re " = 0x\[0-9a-f\]+\r\n$gdb_prompt $" { |