aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto-wrapper.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2019-08-02 11:23:56 +0200
committerMartin Liska <marxin@gcc.gnu.org>2019-08-02 09:23:56 +0000
commite006ead5230560030c44856952967ca0cfea4db2 (patch)
tree1036c571824eb7e7daa673d13ab75084ac68003c /gcc/lto-wrapper.c
parentc0cc62604f163289afaa37ba45f729ae31a45e71 (diff)
downloadgcc-e006ead5230560030c44856952967ca0cfea4db2.zip
gcc-e006ead5230560030c44856952967ca0cfea4db2.tar.gz
gcc-e006ead5230560030c44856952967ca0cfea4db2.tar.bz2
Properly detect working jobserver in gcc driver.
2019-08-02 Martin Liska <mliska@suse.cz> PR lto/91313 * gcc.c (driver::maybe_run_linker): Call detect_jobserver to detect working job server. (driver::detect_jobserver): Test whether jobserver is active from GCC driver. That will prevent situation where GCC is invoked from a LD plugin and the linker already uses file descriptors suggested by make. That leads to a wrong detection. * gcc.h (driver): Add detect_jobserver. * lto-wrapper.c (jobserver_active_p): Simplify sscanf by not scanning for --jobserver-auth prefix. From-SVN: r274003
Diffstat (limited to 'gcc/lto-wrapper.c')
-rw-r--r--gcc/lto-wrapper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c
index 353187c..3414ade 100644
--- a/gcc/lto-wrapper.c
+++ b/gcc/lto-wrapper.c
@@ -1234,7 +1234,7 @@ jobserver_active_p (void)
int rfd = -1;
int wfd = -1;
- return ((sscanf(n, "--jobserver-auth=%d,%d", &rfd, &wfd) == 2)
+ return (sscanf (n + strlen (needle), "%d,%d", &rfd, &wfd) == 2
&& rfd > 0
&& wfd > 0
&& fcntl (rfd, F_GETFD) >= 0