diff options
-rw-r--r-- | libc/misc/file/Makefile | 6 | ||||
-rw-r--r-- | libc/misc/file/lockf64.c | 18 |
2 files changed, 23 insertions, 1 deletions
diff --git a/libc/misc/file/Makefile b/libc/misc/file/Makefile index ed31037bb..195097e92 100644 --- a/libc/misc/file/Makefile +++ b/libc/misc/file/Makefile @@ -24,7 +24,11 @@ TOPDIR=../../../ include $(TOPDIR)Rules.mak -CSRC=lockf.c lockf64.c +ifeq ($(strip $(UCLIBC_HAS_LFS)),y) +CSRC = lockf.c lockf64.c +else +CSRC = lockf.c +endif COBJS=$(patsubst %.c,%.o, $(CSRC)) OBJS=$(COBJS) diff --git a/libc/misc/file/lockf64.c b/libc/misc/file/lockf64.c index 673d11397..327707ac8 100644 --- a/libc/misc/file/lockf64.c +++ b/libc/misc/file/lockf64.c @@ -16,6 +16,23 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include <features.h> + +#ifdef __UCLIBC_HAS_LFS__ +#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS != 64 +#undef _FILE_OFFSET_BITS +#define _FILE_OFFSET_BITS 64 +#endif +#ifndef __USE_FILE_OFFSET64 +# define __USE_FILE_OFFSET64 1 +#endif +#ifndef __USE_LARGEFILE64 +# define __USE_LARGEFILE64 1 +#endif +#endif + +#define __USE_GNU + #include <sys/types.h> #include <unistd.h> #include <fcntl.h> @@ -83,3 +100,4 @@ int lockf64 (int fd, int cmd, off64_t len64) return fcntl(fd, cmd, &fl); } + |