Clean elfvsb files left over from previous runs

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.
This commit is contained in:
Alan Modra 2017-04-10 15:10:58 +09:30
parent aa80870703
commit 37095d07b4
2 changed files with 14 additions and 2 deletions

View 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

View 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" ] {