On a -j8 Linux kernel LTO build with -flto=jobserver I always end up with make[3]: *** read jobs pipe: No such file or directory. Stop. make[3]: *** Waiting for unfinished jobs.... lto-wrapper: make returned 2 exit status /usr/local/bin/ld-plugin: lto-wrapper failed at the final link stage. The link is actually succeeding, but something confuses jobserver It works with -flto=8. The message comes from make. It could be a regression, but it's hard to say because older much builds usually ran into other problems.
I can confirm the same symptoms while bootstrapping GCC on the head of the GCC 4.6 branch, with a bootstrap-lto profiledbootstrap, and GNU make 3.82. During the stage3 (profilegenerate) libgcc build, the build suddenly stops with: make[6]: *** read jobs pipe: No such file or directory. Stop. make[6]: *** Waiting for unfinished jobs.... lto-wrapper: make returned 2 exit status /usr/bin/ld: lto-wrapper failed collect2: ld returned 1 exit status make[5]: *** [libgcc_s.so] Error 1 This failure appears consistent, so whatever it is it's not a race (or, if it is, it's fearfully easy to hit).
FWIW the problem disappeared for me at some point (could have been newer kernel or different make). I don't see it anymore. I think it was some problems with the pipes used by the job server losing a token
So fixed.
I doubt it's fixed. It's a race so can be unstable. Especially since judging from the growing cc list other people keep seeing it It may not be something that gcc can fix, if anything it's more likely in make or in Linux.