From: Tom de Vries Date: Mon, 27 Jun 2022 10:47:26 +0000 (+0200) Subject: [gdb/testsuite] Workaround unnecessary .s file with gfortran 4.8 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cdcec216b49a95e6692ab8c5de5693508ba19759;p=binutils-gdb.git [gdb/testsuite] Workaround unnecessary .s file with gfortran 4.8 After running test-case gdb.fortran/namelist.exp with gfortran 4.8.5, I'm left with: ... $ git sti On branch master Your branch is up to date with 'origin/master'. Untracked files: (use "git add ..." to include in what will be committed) gdb/testsuite/lib/compiler.s nothing added to commit but untracked files present (use "git add" to track) ... We're running into PR gcc/60447, which was fixed in gcc 4.9.0. Workaround this by first copying the source file to the temp dir, such that the .s file is left there instead: ... $ ls build/gdb/testsuite/temp// compiler.c compiler.F90 compiler.s ... Tested on x86_64-linux. --- diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 141cb043fe2..a29b8f947c4 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -4137,6 +4137,12 @@ proc get_compiler_info {{language "c"}} { set cppout [read $file] close $file } else { + # Copy $ifile to temp dir, to work around PR gcc/60447. This will leave the + # superfluous .s file in the temp dir instead of in the source dir. + set tofile [file tail $ifile] + set tofile [standard_temp_file $tofile] + file copy -force $ifile $tofile + set ifile $tofile set cppout [ gdb_compile "${ifile}" "" preprocess [list "$language" quiet getting_compiler_info] ] } eval log_file $saved_log