2007-03-05 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 6 Mar 2007 02:08:25 +0000 (02:08 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 6 Mar 2007 02:08:25 +0000 (02:08 +0000)
PR gas/3918
* lib/gas-defs.exp (gas_started): New variable. Initialized to
0.
(gas_start): Set gas_started to 1.
(gas_finish): Skip if gas_started is 0.  Reset gas_started to 0.

gas/testsuite/ChangeLog
gas/testsuite/lib/gas-defs.exp

index f21d9732c13690733774cbf93de4b0f1dce3d223..57ac6ecd998cb4234803f71d1c7e87b34be8ca69 100644 (file)
@@ -1,3 +1,11 @@
+2007-03-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gas/3918
+       * lib/gas-defs.exp (gas_started): New variable. Initialized to
+       0.
+       (gas_start): Set gas_started to 1.
+       (gas_finish): Skip if gas_started is 0.  Reset gas_started to 0.
+
 2007-03-02  Paul Brook  <paul@codesourcery.com>
 
        * gas/arm/relax_branch_align.d: New test.
index 827e22f70f0750418faae3e216ad50955fc20eeb..3b21719615f059eb6f7e1eec53d4c0770f1e102d 100644 (file)
@@ -53,12 +53,21 @@ proc all_ones { args } {
     return 1
 }
 
+# ${tool}_finish (gas_finish) will be called by runtest.exp.  But
+# gas_finish should only be used with gas_start.  We use gas_started
+# to tell gas_finish if gas_start has been called so that runtest.exp
+# can call gas_finish without closing the wrong fd.
+set gas_started 0
+
 proc gas_start { prog as_opts } {
     global AS
     global ASFLAGS
     global srcdir
     global subdir
     global spawn_id
+    global gas_started
+
+    set gas_started 1
 
     verbose -log "Starting $AS $ASFLAGS $as_opts $prog" 2
     catch {
@@ -71,9 +80,13 @@ proc gas_start { prog as_opts } {
 
 proc gas_finish { } {
     global spawn_id
+    global gas_started
 
-    catch "close"
-    catch "wait"
+    if { $gas_started == 1 } {
+       catch "close"
+       catch "wait"
+       set gas_started 0
+    }
 }
 
 proc want_no_output { testname } {