fix up log-file toggling
authorTom Tromey <tromey@redhat.com>
Thu, 22 Aug 2013 19:09:35 +0000 (13:09 -0600)
committerTom Tromey <tromey@redhat.com>
Mon, 4 Nov 2013 17:55:19 +0000 (10:55 -0700)
Currently a proc in gdb.exp toggles the expect (and thus dejagnu)
logging.  This is not a super idea, but it is there to avoid putting
some preprocessor output into the log.

In the right circumstances, this can result in the log file being
mysteriously truncated.  I think this happens because it doesn't
necessarily write to the correct log file again.

The fix is to use "log_file -info" to save the previous log file.

2013-11-04  Tom Tromey  <tromey@redhat.com>

* lib/gdb.exp (get_compiler_info): Use log_file -info and
restore from that.

gdb/testsuite/ChangeLog
gdb/testsuite/lib/gdb.exp

index 249eb88..35844c0 100644 (file)
@@ -1,3 +1,8 @@
+2013-11-04  Tom Tromey  <tromey@redhat.com>
+
+       * lib/gdb.exp (get_compiler_info): Use log_file -info and
+       restore from that.
+
 2013-11-02  Maciej W. Rozycki  <macro@codesourcery.com>
 
        * gdb.cp/derivation.exp: s/perrro/perror/
index 3df1c8f..21a44af 100644 (file)
@@ -2445,6 +2445,7 @@ proc get_compiler_info {{arg ""}} {
 
     # Run $ifile through the right preprocessor.
     # Toggle gdb.log to keep the compiler output out of the log.
+    set saved_log [log_file -info]
     log_file
     if [is_remote host] {
        # We have to use -E and -o together, despite the comments
@@ -2457,7 +2458,7 @@ proc get_compiler_info {{arg ""}} {
     } else {
        set cppout [ gdb_compile "${ifile}" "" preprocess [list "$arg" quiet] ]
     }
-    log_file -a "$outdir/$tool.log" 
+    eval log_file $saved_log
 
     # Eval the output.
     set unknown 0