mirror of
https://git.yoctoproject.org/poky
synced 2026-04-20 18:32:12 +02:00
uclibc: Implement syncfs and AT_EMPTY_PATH for all and O_PATH for arm
needed for systemd 225 to compile with uclibc Change-Id: Id5f990edf4a773de49742f9f9ea5139e55e21f69 (From OE-Core rev: 5c515a1c7a86c510b6ae4f99c5b2e20d52622543) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -17,5 +17,7 @@ SRC_URI = "git://uclibc.org/uClibc.git;branch=master \
|
||||
file://0006-ldso-limited-support-for-ORIGIN-in-rpath.patch \
|
||||
file://0007-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch \
|
||||
file://0001-gcc5-optimizes-away-the-write-only-static-functions-.patch \
|
||||
file://0001-fcntl-Add-AT_EMPTY_PATH-for-all-and-O_PATH-for-arm.patch \
|
||||
file://0001-wire-in-syncfs.patch \
|
||||
"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From 4c8f5fe7d41493e8e181941ae5a01713155f44d1 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 15 Oct 2015 15:34:39 +0000
|
||||
Subject: [PATCH] fcntl: Add AT_EMPTY_PATH for all and O_PATH for arm
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
include/fcntl.h | 3 +++
|
||||
libc/sysdeps/linux/arm/bits/fcntl.h | 1 +
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/include/fcntl.h b/include/fcntl.h
|
||||
index 11000dd..8a7ad9b 100644
|
||||
--- a/include/fcntl.h
|
||||
+++ b/include/fcntl.h
|
||||
@@ -65,6 +65,9 @@ __BEGIN_DECLS
|
||||
# define AT_SYMLINK_FOLLOW 0x400 /* Follow symbolic links. */
|
||||
# define AT_EACCESS 0x200 /* Test access permitted for
|
||||
effective IDs, not real IDs. */
|
||||
+# ifdef __USE_GNU
|
||||
+# define AT_EMPTY_PATH 0x1000 /* Allow empty relative pathname. */
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
/* Do the file control operation described by CMD on FD.
|
||||
diff --git a/libc/sysdeps/linux/arm/bits/fcntl.h b/libc/sysdeps/linux/arm/bits/fcntl.h
|
||||
index aedc154..c6ba958 100644
|
||||
--- a/libc/sysdeps/linux/arm/bits/fcntl.h
|
||||
+++ b/libc/sysdeps/linux/arm/bits/fcntl.h
|
||||
@@ -50,6 +50,7 @@
|
||||
# define O_DIRECT 0200000 /* Direct disk access. */
|
||||
# define O_NOATIME 01000000 /* Do not set atime. */
|
||||
# define O_CLOEXEC 02000000 /* Set close_on_exec. */
|
||||
+# define O_PATH 010000000 /* Resolve pathname but do not open file. */
|
||||
#endif
|
||||
|
||||
/* For now Linux has synchronisity options for data and read operations.
|
||||
--
|
||||
2.6.1
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
From 4f2db1b46bda5e376245ec36198b137709f069e8 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 15 Oct 2015 17:03:37 +0000
|
||||
Subject: [PATCH] wire in syncfs
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
include/unistd.h | 2 +-
|
||||
libc/sysdeps/linux/common/syncfs.c | 13 +++++++++++++
|
||||
2 files changed, 14 insertions(+), 1 deletion(-)
|
||||
create mode 100644 libc/sysdeps/linux/common/syncfs.c
|
||||
|
||||
diff --git a/include/unistd.h b/include/unistd.h
|
||||
index 3793d2d..d01bb08 100644
|
||||
--- a/include/unistd.h
|
||||
+++ b/include/unistd.h
|
||||
@@ -1073,7 +1073,7 @@ extern char *getpass (const char *__prompt) __nonnull ((1));
|
||||
extern int fsync (int __fd);
|
||||
#endif /* Use BSD || X/Open || Unix98. */
|
||||
|
||||
-#if 0 /*def __USE_GNU */
|
||||
+#ifdef __USE_GNU
|
||||
/* Make all changes done to all files on the file system associated
|
||||
* with FD actually appear on disk. */
|
||||
extern int syncfs (int __fd) __THROW;
|
||||
diff --git a/libc/sysdeps/linux/common/syncfs.c b/libc/sysdeps/linux/common/syncfs.c
|
||||
new file mode 100644
|
||||
index 0000000..d2eed05
|
||||
--- /dev/null
|
||||
+++ b/libc/sysdeps/linux/common/syncfs.c
|
||||
@@ -0,0 +1,13 @@
|
||||
+/* vi: set sw=4 ts=4: */
|
||||
+/*
|
||||
+ * fsync() for uClibc
|
||||
+ *
|
||||
+ * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
|
||||
+ *
|
||||
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
|
||||
+ */
|
||||
+
|
||||
+#include <sys/syscall.h>
|
||||
+#include <unistd.h>
|
||||
+
|
||||
+_syscall1(int, syncfs, int, fd)
|
||||
--
|
||||
2.6.1
|
||||
|
||||
Reference in New Issue
Block a user