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=