about summary refs log tree commit diff
path: root/include/sys/stat.h
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2022-09-27 15:04:05 -0400
committerRich Felker <dalias@aerifal.cx>2022-10-19 14:01:31 -0400
commit25e6fee27f4a293728dd15b659170e7b9c7db9bc (patch)
tree021a60df1b99aee79c94d4cfd1c3ca19b13e6a57 /include/sys/stat.h
parent246f1c811448f37a44b41cd8df8d0ef9736d95f4 (diff)
downloadmusl-25e6fee27f4a293728dd15b659170e7b9c7db9bc.tar.gz
musl-25e6fee27f4a293728dd15b659170e7b9c7db9bc.tar.xz
musl-25e6fee27f4a293728dd15b659170e7b9c7db9bc.zip
remove LFS64 programming interfaces (macro-only) from _GNU_SOURCE
these badly pollute the namespace with macros whenever _GNU_SOURCE is
defined, which is always the case with g++, and especially tends to
interfere with C++ constructs.

as our implementation of these was macro-only, their removal cannot
affect any existing binaries. at the source level, portable software
should be prepared for them not to exist.

for now, they are left in place with explicit _LARGEFILE64_SOURCE.
this provides an easy temporary path for integrators/distributions to
get packages building again right away if they break while working on
a proper, upstreamable fix. the intent is that this be a very
short-term measure and that the macros be removed entirely in the next
release cycle.
Diffstat (limited to 'include/sys/stat.h')
-rw-r--r--include/sys/stat.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/sys/stat.h b/include/sys/stat.h
index 10d446c4..e6d0049c 100644
--- a/include/sys/stat.h
+++ b/include/sys/stat.h
@@ -98,7 +98,7 @@ int lchmod(const char *, mode_t);
 #define S_IEXEC S_IXUSR
 #endif
 
-#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
+#if defined(_LARGEFILE64_SOURCE)
 #define stat64 stat
 #define fstat64 fstat
 #define lstat64 lstat