From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id E89683846409; Wed, 11 May 2022 13:56:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E89683846409 From: "pexu@gcc-bugzilla.mail.kapsi.fi" To: gcc-bugs@gcc.gnu.org Subject: [Bug driver/105568] New: Superfluous --jobserver-auth= check taints further diagnostics Date: Wed, 11 May 2022 13:56:08 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: driver X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: pexu@gcc-bugzilla.mail.kapsi.fi X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 May 2022 13:56:09 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D105568 Bug ID: 105568 Summary: Superfluous --jobserver-auth=3D check taints further diagnostics Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: driver Assignee: unassigned at gcc dot gnu.org Reporter: pexu@gcc-bugzilla.mail.kapsi.fi Target Milestone: --- Hi. When linking with -flto=3Djobserver both gcc/gcc.cc and gcc/lto-wrapper.cc = check if MAKEFLAGS contains "--jobserver-auth=3D" and if so attempt to further scrutinize its contents. Unfortunately, detect_jobserver() (at gcc/gcc.cc), which is executed always when linking, silently removes the entire "--jobserver-auth=3D" (up until n= ext space) shall this scrutinization attempt fail. This makes jobserver_active_p() (at gcc/lto-wrapper.cc) always complain abo= ut a missing "--jobserver-auth=3D". Indeed, this might be now technically true,= but it is very confusing and misleading if this was done because detect_jobserv= er() was not satisfied with the given "--jobserver-auth=3D". There a many reasons why the given "--jobserver-auth=3D" might be treated as non-functioning. Either GNU make is using an another jobserver type (named semaphore), the given file descriptors are inaccessible because GNU make and GCC are using different emulation layers (e.g. Mingw and Cygwin) or those simply are indeed not inherited, i.e. user forgot to add `+' to invoking GNU rule. Therefore it might be still necessary to remove the "--jobserver-auth=3D" b= ut I presume this should done after jobserver_active_p(). Actually, this is alr= eady being done, as the entire MAKEFLAGS is emptied unless jobserver logic is enabled.=