[PATCH] Properly detect working jobserver in gcc driver.

Jakub Jelinek jakub@redhat.com
Fri Aug 2 07:45:00 GMT 2019


On Fri, Aug 02, 2019 at 08:30:47AM +0200, Martin Liška wrote:
> On 8/1/19 4:41 PM, Jakub Jelinek wrote:
> > On Thu, Aug 01, 2019 at 04:34:09PM +0200, Martin Liška wrote:
> >> Ok, after deeper discussion with Honza, I would like to suggest the original
> >> patch that was about proper detection of jobserver.
> >>
> >> Can you please Jakub test the patch in your environment?
> > 
> > Isn't this done too late (as in, doesn't the driver at that moment already
> > have some files newly openend, like e.g. the @ option files?
> 
> You are right, I've reworked that. Good observation.

I was actually wrong, because while expandargv fopens new file descriptors
when processing the options, it fcloses them too before it returns.

Sorry for that.

Can you strace if other fds are opened and not closed in the spot you had it
before?  Advantage of doing it there is that it will not be done for all the
-E/-S/-c compilations when the linker is not spawned.

> > 
> >> +		= ((sscanf (n, "--jobserver-auth=%d,%d", &rfd, &wfd) == 2)
> > 
> > No need to wrap sscanf (...) == 2 into ()s.  Also, you've already done
> > a strstr, what is the point in verifying it once again that it starts with
> > --jobserver-auth= string?
> > And in the lto-writer.c code there is no space between sscanf and (.
> 
> Yep, I simplified that.

Thanks.  Note, your patch from yesterday also passed testing.

	Jakub



More information about the Gcc-patches mailing list