Fix file descriptor existence of MinGW.
2019-08-08 Martin Liska <mliska@suse.cz> PR bootstrap/91352 * gcc.c (driver::detect_jobserver): Use is_valid_fd. * lto-wrapper.c (jobserver_active_p): Likewise. 2019-08-08 Martin Liska <mliska@suse.cz> PR bootstrap/91352 * libiberty.h (is_valid_fd): New function. 2019-08-08 Martin Liska <mliska@suse.cz> PR bootstrap/91352 * lrealpath.c (is_valid_fd): New function. From-SVN: r274208
This commit is contained in:
parent
fe8e21fd73
commit
0fddb18470
|
@ -1,3 +1,9 @@
|
||||||
|
2019-08-08 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
|
PR bootstrap/91352
|
||||||
|
* gcc.c (driver::detect_jobserver): Use is_valid_fd.
|
||||||
|
* lto-wrapper.c (jobserver_active_p): Likewise.
|
||||||
|
|
||||||
2019-08-08 Martin Liska <mliska@suse.cz>
|
2019-08-08 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
* cgraphclones.c (set_new_clone_decl_and_node_flags): Drop
|
* cgraphclones.c (set_new_clone_decl_and_node_flags): Drop
|
||||||
|
|
|
@ -8380,8 +8380,8 @@ driver::detect_jobserver () const
|
||||||
= (sscanf (n + strlen (needle), "%d,%d", &rfd, &wfd) == 2
|
= (sscanf (n + strlen (needle), "%d,%d", &rfd, &wfd) == 2
|
||||||
&& rfd > 0
|
&& rfd > 0
|
||||||
&& wfd > 0
|
&& wfd > 0
|
||||||
&& fcntl (rfd, F_GETFD) >= 0
|
&& is_valid_fd (rfd)
|
||||||
&& fcntl (wfd, F_GETFD) >= 0);
|
&& is_valid_fd (wfd));
|
||||||
|
|
||||||
/* Drop the jobserver if it's not working now. */
|
/* Drop the jobserver if it's not working now. */
|
||||||
if (!jobserver)
|
if (!jobserver)
|
||||||
|
|
|
@ -1237,8 +1237,8 @@ jobserver_active_p (void)
|
||||||
return (sscanf (n + strlen (needle), "%d,%d", &rfd, &wfd) == 2
|
return (sscanf (n + strlen (needle), "%d,%d", &rfd, &wfd) == 2
|
||||||
&& rfd > 0
|
&& rfd > 0
|
||||||
&& wfd > 0
|
&& wfd > 0
|
||||||
&& fcntl (rfd, F_GETFD) >= 0
|
&& is_valid_fd (rfd)
|
||||||
&& fcntl (wfd, F_GETFD) >= 0);
|
&& is_valid_fd (wfd));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Execute gcc. ARGC is the number of arguments. ARGV contains the arguments. */
|
/* Execute gcc. ARGC is the number of arguments. ARGV contains the arguments. */
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2019-08-08 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
|
PR bootstrap/91352
|
||||||
|
* libiberty.h (is_valid_fd): New function.
|
||||||
|
|
||||||
2019-07-18 Eduard-Mihai Burtescu <eddyb@lyken.rs>
|
2019-07-18 Eduard-Mihai Burtescu <eddyb@lyken.rs>
|
||||||
|
|
||||||
* demangle.h (rust_is_mangled): Move to libiberty/rust-demangle.h.
|
* demangle.h (rust_is_mangled): Move to libiberty/rust-demangle.h.
|
||||||
|
|
|
@ -137,6 +137,10 @@ extern const char *unix_lbasename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRI
|
||||||
|
|
||||||
extern char *lrealpath (const char *);
|
extern char *lrealpath (const char *);
|
||||||
|
|
||||||
|
/* Return true when FD file descriptor exists. */
|
||||||
|
|
||||||
|
extern int is_valid_fd (int fd);
|
||||||
|
|
||||||
/* Concatenate an arbitrary number of strings. You must pass NULL as
|
/* Concatenate an arbitrary number of strings. You must pass NULL as
|
||||||
the last argument of this function, to terminate the list of
|
the last argument of this function, to terminate the list of
|
||||||
strings. Allocates memory using xmalloc. */
|
strings. Allocates memory using xmalloc. */
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2019-08-08 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
|
PR bootstrap/91352
|
||||||
|
* lrealpath.c (is_valid_fd): New function.
|
||||||
|
|
||||||
2019-07-24 Martin Liska <mliska@suse.cz>
|
2019-07-24 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
PR lto/91228
|
PR lto/91228
|
||||||
|
|
|
@ -49,6 +49,9 @@ components will be simplified. The returned value will be allocated using
|
||||||
#ifdef HAVE_STRING_H
|
#ifdef HAVE_STRING_H
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef HAVE_FCNTL_H
|
||||||
|
#include <fcntl.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/* On GNU libc systems the declaration is only visible with _GNU_SOURCE. */
|
/* On GNU libc systems the declaration is only visible with _GNU_SOURCE. */
|
||||||
#if defined(HAVE_CANONICALIZE_FILE_NAME) \
|
#if defined(HAVE_CANONICALIZE_FILE_NAME) \
|
||||||
|
@ -155,3 +158,16 @@ lrealpath (const char *filename)
|
||||||
/* This system is a lost cause, just duplicate the filename. */
|
/* This system is a lost cause, just duplicate the filename. */
|
||||||
return strdup (filename);
|
return strdup (filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Return true when FD file descriptor exists. */
|
||||||
|
|
||||||
|
int
|
||||||
|
is_valid_fd (int fd)
|
||||||
|
{
|
||||||
|
#if defined(_WIN32)
|
||||||
|
HANDLE h = (HANDLE) _get_osfhandle (fd);
|
||||||
|
return h != (HANDLE) -1;
|
||||||
|
#else
|
||||||
|
return fcntl (fd, F_GETFD) >= 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue