Re: gmake and ccache conspiring together in creating gremlins

Edward Welbourne <[email protected]> Tue, 9 Feb 2021 10:30:48 +0000
Newsgroups gmane.comp.gnu.make.bugs,gmane.comp.compilers.ccache
Message-ID <AM6PR0202MB34137F272B261D774AF4F84E878E9@AM6PR0202MB3413.eurprd02.prod.outlook.com>
Paul Smith (8 February 2021 20:38) wrote:=0A=
> There is a loss of debugging information if we make this change: today=0A=
> make can detect if it was invoked in a way that _should_ expect to=0A=
> receive a jobserver context, but _didn't_ receive that context.  That=0A=
> is, if make sees that jobserver-auth is set but it can't open the=0A=
> jobserver pipes it can warn the user that most likely there's a=0A=
> problem in their environment or with the setup of their makefiles.=0A=
=0A=
Rather than removing the jobserver-auth data, you could amend the=0A=
MAKEFLAGS to includ jobserver-auth data with plainly invalid fds,=0A=
e.g. -1, as the two fds, to make clear that we're in a context where=0A=
jobserver-auth could beneficially have been propagated but wasn't.  The=0A=
main thing is just to *not* claim that file descriptors you've closed=0A=
are available to access as the jobserver.  That doesn't preclude leaving=0A=
it evident to [grand-)*children that this has happened,=0A=
=0A=
	Eddy.=0A=