[v2,2/3] libstdc++ testsuite: Turn off GDB's auto-load, list loaded libs

Message ID 1405046899-32639-3-git-send-email-naesten@gmail.com
State New, archived
Headers

Commit Message

Samuel Bronson July 11, 2014, 2:48 a.m. UTC
  We load our pretty-printers explicitly, and we shouldn't need any other
random -gdb.gdb or -gdb.py files from anywhere, so in this patch we turn
that off by running "set auto-load no".

Also, run "info share" so that the list of loaded libraries ends up in
the logs for the GDB tests.

libstdc++-v3/

	* testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load, list
	  loaded libs

Signed-off-by: Samuel Bronson <naesten@gmail.com>
---
 libstdc++-v3/testsuite/lib/gdb-test.exp | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
  

Comments

Jonathan Wakely July 11, 2014, 3:33 p.m. UTC | #1
On 10/07/14 22:48 -0400, Samuel Bronson wrote:
>
>We load our pretty-printers explicitly, and we shouldn't need any other
>random -gdb.gdb or -gdb.py files from anywhere, so in this patch we turn
>that off by running "set auto-load no".
>
>Also, run "info share" so that the list of loaded libraries ends up in
>the logs for the GDB tests.
>
>libstdc++-v3/
>
>	* testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load, list
>	  loaded libs

Committed to trunk - thanks.
  

Patch

diff --git a/libstdc++-v3/testsuite/lib/gdb-test.exp b/libstdc++-v3/testsuite/lib/gdb-test.exp
index 1a72a44..6d7ea9d 100644
--- a/libstdc++-v3/testsuite/lib/gdb-test.exp
+++ b/libstdc++-v3/testsuite/lib/gdb-test.exp
@@ -116,10 +116,18 @@  proc gdb-test { marker {selector {}} } {
     global gdb_tests
 
     set fd [open $cmd_file "w"]
+    # We don't want the system copy of the pretty-printers loaded
+    puts $fd "set auto-load no"
+    # Now that we've disabled auto-load, it's safe to set the target file
+    puts $fd "file ./$output_file"
+    # Load & register *our* copy of the pretty-printers
     puts $fd "source $pycode"
     puts $fd "python register_libstdcxx_printers(None)"
+    # And start the program
     puts $fd "break $line"
     puts $fd "run"
+    # So we can verify that we're using the right libs ...
+    puts $fd "info share"
 
     set count 0
     foreach {var result kind} $gdb_tests {
@@ -147,8 +155,7 @@  proc gdb-test { marker {selector {}} } {
     puts $fd "quit"
     close $fd
 
-    send_log "Spawning: $gdb_name -nx -nw -quiet -batch -x $cmd_file ./$output_file\n"
-    set res [remote_spawn target "$gdb_name -nx -nw -quiet -batch -x $cmd_file ./$output_file"]
+    set res [remote_spawn target "$gdb_name -nx -nw -quiet -batch -x $cmd_file "]
     if { $res < 0 || $res == "" } {
 	unsupported "$testname"
 	return