diff options
author | Michal Jires <mjires@suse.cz> | 2025-01-13 01:58:41 +0100 |
---|---|---|
committer | Michal Jires <mjires@suse.cz> | 2025-01-13 08:01:01 +0100 |
commit | 89ebb88d1d73ea8f693f2195321b402c31186abe (patch) | |
tree | 25ced3acb47ef30b0705b0bbf587640c48ffb351 | |
parent | 0e05b793fba2a9bea9f0fbb1f068679f5dadf514 (diff) | |
download | gcc-89ebb88d1d73ea8f693f2195321b402c31186abe.zip gcc-89ebb88d1d73ea8f693f2195321b402c31186abe.tar.gz gcc-89ebb88d1d73ea8f693f2195321b402c31186abe.tar.bz2 |
lto: Fix empty fnctl.h build error with MinGW.
MSYS2+MinGW contains headers without defining expected contents.
This fix checks that the fcntl function is actually defined.
Bootstrapped/regtested on x86_64-linux. Committed as obvious.
gcc/ChangeLog:
* lockfile.cc (LOCKFILE_USE_FCNTL): New.
(lockfile::lock_write): Use LOCKFILE_USE_FCNTL.
(lockfile::try_lock_write): Use LOCKFILE_USE_FCNTL.
(lockfile::lock_read): Use LOCKFILE_USE_FCNTL.
(lockfile::unlock): Use LOCKFILE_USE_FCNTL.
(lockfile::lockfile_supported): Use LOCKFILE_USE_FCNTL.
-rw-r--r-- | gcc/lockfile.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/lockfile.cc b/gcc/lockfile.cc index b385c29..cecbb86 100644 --- a/gcc/lockfile.cc +++ b/gcc/lockfile.cc @@ -22,6 +22,10 @@ along with GCC; see the file COPYING3. If not see #include "system.h" #include "lockfile.h" +/* fcntl.h may exist without expected contents. */ +#if HAVE_FCNTL_H && HOST_HAS_F_SETLKW +#define LOCKFILE_USE_FCNTL 1 +#endif /* Unique write lock. No other lock can be held on this lockfile. Blocking call. */ @@ -32,7 +36,7 @@ lockfile::lock_write () if (fd < 0) return -1; -#if HAVE_FCNTL_H +#ifdef LOCKFILE_USE_FCNTL struct flock s_flock; s_flock.l_whence = SEEK_SET; @@ -57,7 +61,7 @@ lockfile::try_lock_write () if (fd < 0) return -1; -#if HAVE_FCNTL_H +#ifdef LOCKFILE_USE_FCNTL struct flock s_flock; s_flock.l_whence = SEEK_SET; @@ -87,7 +91,7 @@ lockfile::lock_read () if (fd < 0) return -1; -#if HAVE_FCNTL_H +#ifdef LOCKFILE_USE_FCNTL struct flock s_flock; s_flock.l_whence = SEEK_SET; @@ -108,7 +112,7 @@ lockfile::unlock () { if (fd < 0) { -#if HAVE_FCNTL_H +#ifdef LOCKFILE_USE_FCNTL struct flock s_flock; s_flock.l_whence = SEEK_SET; @@ -128,7 +132,7 @@ lockfile::unlock () bool lockfile::lockfile_supported () { -#if HAVE_FCNTL_H +#ifdef LOCKFILE_USE_FCNTL return true; #else return false; |