On 7/31/19 12:01 PM, Martin Liška wrote: > Anyway, the auto-detection of jobserver seems very ugly to me :/ > I tend to remove the support and start working on a proper implementation > that can be used not only by make build system.
Can you Jakub test the attached patch please? Do it reach a ulimit limit on your testing environment? Thanks, Martin
>From 2ccefa19d40d136ea04909a2c2b9215ab5362897 Mon Sep 17 00:00:00 2001 From: Martin Liska <mli...@suse.cz> Date: Wed, 31 Jul 2019 16:57:45 +0200 Subject: [PATCH] -flto: do not use jobserver automatically gcc/ChangeLog: 2019-07-31 Martin Liska <mli...@suse.cz> * lto-wrapper.c (jobserver_active_p): Remove. (run_gcc): Only set auto_parallel and do not detect jobserverver. --- gcc/lto-wrapper.c | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c index 353187c6043..9a40a366f2b 100644 --- a/gcc/lto-wrapper.c +++ b/gcc/lto-wrapper.c @@ -1217,30 +1217,6 @@ init_num_threads (void) /* FIXME: once using -std=c11, we can use std::thread::hardware_concurrency. */ -/* Return true when a jobserver is running and can accept a job. */ - -static bool -jobserver_active_p (void) -{ - const char *makeflags = getenv ("MAKEFLAGS"); - if (makeflags == NULL) - return false; - - const char *needle = "--jobserver-auth="; - const char *n = strstr (makeflags, needle); - if (n == NULL) - return false; - - int rfd = -1; - int wfd = -1; - - return ((sscanf(n, "--jobserver-auth=%d,%d", &rfd, &wfd) == 2) - && rfd > 0 - && wfd > 0 - && fcntl (rfd, F_GETFD) >= 0 - && fcntl (wfd, F_GETFD) >= 0); -} - /* Execute gcc. ARGC is the number of arguments. ARGV contains the arguments. */ static void @@ -1425,11 +1401,8 @@ run_gcc (unsigned argc, char *argv[]) } else if (!jobserver && parallel) { - /* If there's no explicit usage of jobserver and - parallel is enabled, then automatically detect - jobserver or number of cores. */ + /* Detect number of jobs automatically. */ auto_parallel = 1; - jobserver = jobserver_active_p (); } if (linker_output) -- 2.22.0