Clean elfvsb files left over from previous runs
authorAlan Modra <amodra@gmail.com>
Mon, 10 Apr 2017 05:40:58 +0000 (15:10 +0930)
committerAlan Modra <amodra@gmail.com>
Mon, 10 Apr 2017 05:40:58 +0000 (15:10 +0930)
My mips-linux and mips64-linux testsuite runs have been failing a
bunch of visibility tests, seemingly randomly.  It turns out the
problem occurs when object files are left over in ld/tmpdir from a
previous run.

* testsuite/ld-elfvsb/elfvsb.exp (visibility_run): Delete
sh1p.o, sh2p.o, sh1np.o and sh2np.o before compiling.  Use
remote_file host exists rather than file exists.

ld/ChangeLog
ld/testsuite/ld-elfvsb/elfvsb.exp

index 29d8530..4255b5e 100644 (file)
@@ -1,3 +1,9 @@
+2017-04-10  Alan Modra  <amodra@gmail.com>
+
+       * testsuite/ld-elfvsb/elfvsb.exp (visibility_run): Delete
+       sh1p.o, sh2p.o, sh1np.o and sh2np.o before compiling.  Use
+       remote_file host exists rather than file exists.
+
 2017-04-07  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/21090
index 9d590c7..a2c3ef7 100644 (file)
@@ -260,6 +260,10 @@ proc visibility_run {visibility} {
        set VSBCFLAG ""
     }}}}}}}}}
 
+    # Ensure we always start with a clean slate, for the "file exists"
+    # tests below.
+    remote_file host delete $tmpdir/sh1p.o $tmpdir/sh2p.o $tmpdir/sh1np.o $tmpdir/sh2np.o
+
     if { [istarget powerpc*-*-linux*] \
         || ( [istarget mips*-*-linux*] && [at_least_gcc_version 4 3] )} {
        # Testing non-PIC libraries is a waste of effort on any target.
@@ -406,7 +410,8 @@ proc visibility_run {visibility} {
        unresolved "visibility ($visibility) (PIC main, non PIC so)"
        unresolved "visibility ($visibility) (PIC main)"
     } else {
-       if { [file exists $tmpdir/sh1np.o ] && [ file exists $tmpdir/sh2np.o ] } {
+       if { [ remote_file host exists $tmpdir/sh1np.o ]
+            && [ remote_file host exists $tmpdir/sh2np.o ] } {
            if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
                visibility_test $visibility vmpnp "visibility ($visibility) (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o xcoff
            } else {
@@ -451,7 +456,8 @@ proc visibility_run {visibility} {
            unresolved "visibility (PIC main, non PIC so)"
        }
 
-       if { [file exists $tmpdir/sh1p.o ] && [ file exists $tmpdir/sh2p.o ] } {
+       if { [ remote_file host exists $tmpdir/sh1p.o ]
+            && [ remote_file host exists $tmpdir/sh2p.o ] } {
            if { [ string match $visibility "protected" ]
                 || [ string match $visibility "protected_undef_def" ] } {
                if [ string match $support_protected "no" ] {