This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug driver/69552] New: flto save-temps overwrites file
- From: "vries at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 29 Jan 2016 12:00:41 +0000
- Subject: [Bug driver/69552] New: flto save-temps overwrites file
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69552
Bug ID: 69552
Summary: flto save-temps overwrites file
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: trivial
Priority: P3
Component: driver
Assignee: unassigned at gcc dot gnu.org
Reporter: vries at gcc dot gnu.org
Target Milestone: ---
Say we use save-temps with flto in it's simplest form:
...
$ gcc -O2 -flto banana.c orange.c lemon.c -O2 -fno-use-linker-plugin
-flto-partition=none -save-temps
...
After compilation we have:
...
$ ls -1 | egrep -v '\.(c|i)$'
a.out
banana.o
banana.s
lemon.o
lemon.s
orange.o
orange.s
...
Both lemon.s and orange.s contain gimple and assembly from the initial cc1
invocation.
But banana.s contains only assembly, and contains at the beginning '.file
"<artifical>"'. It contains the output of lto1.
When adding -c, we see the original contents of banana.s from cc1: gimple and
assembly, starting with '.file "banana.c"'.
So, we appear to be using the file banana.s twice in the compilation process.
Confirmed by grepping:
...
$ gcc -O2 -flto banana.c orange.c lemon.c -O2 -fno-use-linker-plugin
-flto-partition=none -save-temps -v 2>&1 | grep '\-o banana.s'
libexec/gcc/x86_64-pc-linux-gnu/6.0.0/cc1 -fpreprocessed banana.i -quiet
-dumpbase banana.c -mtune=generic -march=x86-64 -auxbase banana -O2 -O2
-version -flto -fno-use-linker-plugin -flto-partition=none -o banana.s
libexec/gcc/x86_64-pc-linux-gnu/6.0.0/lto1 -quiet -dumpbase banana.o
-mtune=generic -march=x86-64 -mtune=generic -march=x86-64 -auxbase-strip
/tmp/ccbAWzhX.lto.o -O2 -O2 -O2 -O2 -version -fmath-errno -fsigned-zeros
-ftrapping-math -fno-trapv -fno-openmp -fno-openacc -fno-use-linker-plugin
-flto-partition=none @/tmp/cctx7jrX -o banana.s
...