[klibc] [klibc:master] fcntl: Fix file locking numbers for 64-bit architectures
klibc-bot for Ben Hutchings
ben at decadent.org.uk
Fri Jan 18 11:36:03 PST 2019
Commit-ID: 3cb3ceea23ecbf2c804bf732e8234552d097b94f
Gitweb: http://git.kernel.org/?p=libs/klibc/klibc.git;a=commit;h=3cb3ceea23ecbf2c804bf732e8234552d097b94f
Author: Ben Hutchings <ben at decadent.org.uk>
AuthorDate: Fri, 18 Jan 2019 18:39:21 +0000
Committer: Ben Hutchings <ben at decadent.org.uk>
CommitDate: Fri, 18 Jan 2019 18:46:45 +0000
[klibc] fcntl: Fix file locking numbers for 64-bit architectures
On 64-bit architectures F_{GETLK,SETLK{,W}}64 are *not* aliases for
the non-64 fcntl numbers and are not implemented at all. Only use
them in 32-bit configurations.
Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
---
usr/include/fcntl.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/usr/include/fcntl.h b/usr/include/fcntl.h
index 16128f8..b08c7c8 100644
--- a/usr/include/fcntl.h
+++ b/usr/include/fcntl.h
@@ -13,6 +13,9 @@
# include <klibc/archfcntl.h>
#endif
#include <linux/fcntl.h>
+#include <bitsize.h>
+
+#if _BITSIZE == 32
/* This is ugly, but "struct flock" has actually been defined with
a long off_t, so it's really "struct flock64". It just happens
@@ -35,6 +38,8 @@
# define F_SETLKW F_SETLKW64
#endif
+#endif /* _BITSIZE == 32 */
+
/* This is defined here as well as in <unistd.h> */
#ifndef _KLIBC_IN_OPEN_C
__extern int open(const char *, int, ...);
More information about the klibc
mailing list