aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Jires <mjires@suse.cz>2025-01-13 01:58:41 +0100
committerMichal Jires <mjires@suse.cz>2025-01-13 08:01:01 +0100
commit89ebb88d1d73ea8f693f2195321b402c31186abe (patch)
tree25ced3acb47ef30b0705b0bbf587640c48ffb351
parent0e05b793fba2a9bea9f0fbb1f068679f5dadf514 (diff)
downloadgcc-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.cc14
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;