diff options
author | Tom de Vries <tdevries@suse.de> | 2022-06-27 12:47:26 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2022-06-27 12:47:26 +0200 |
commit | cdcec216b49a95e6692ab8c5de5693508ba19759 (patch) | |
tree | 2f985ad012d07e445832a10f85b1ad66fd7e777a /gdb/testsuite/lib | |
parent | 2043638bf9e8b7ea31b4cbf2c6f7299a3c27efb5 (diff) | |
download | gdb-cdcec216b49a95e6692ab8c5de5693508ba19759.zip gdb-cdcec216b49a95e6692ab8c5de5693508ba19759.tar.gz gdb-cdcec216b49a95e6692ab8c5de5693508ba19759.tar.bz2 |
[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 <file>..." 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/<runtest pid>/
compiler.c compiler.F90 compiler.s
...
Tested on x86_64-linux.
Diffstat (limited to 'gdb/testsuite/lib')
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 141cb04..a29b8f9 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 |