https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114751
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID CC| |aoliva at gcc dot gnu.org --- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> --- GCC 11 indeed had a big revamp of how auxiliary files (like .gcno) are named. In case of a single source file as in gcc <CFLAGS> -c src-file.c -o src-file.refo the auxiliary files are now named after the output file name with stripped extension. So for the above it should be src-file.gcno, the same as with -o src-file.o with GCC 10 or earlier you'd get src-file.refo-src-file.gcno The https://gcc.gnu.org/onlinedocs/gcc-11.4.0/gcc/Overall-Options.html#index-dumpbase documentation explains this in detail. It was previously inconsistent but notably it's now different that it was before. Thanks for tracking the issue down, I consider this not a bug now but CCed Alex who implemented this change in case he has anything to add to the observed auxiliary file conflict of gcc -c src-file.c -o src-file.refo and gcc -c src-file.c [-o src-file.o]