This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, 1.0 has been updated
via e03b7946b1a6efe43fbfd280b27035ea375a2b0d (commit)
via abbb302279d90471251dd9ad85783d04b6ebc8b1 (commit)
via 84e5f966e288da429df3601ce07b00e57b0b36cd (commit)
via ae04402816efe99e55e83cf086f695829bf9febc (commit)
via 8c142592ef695153781ac69eaa36b89da336c797 (commit)
from c797b9909cb53015c0a240a14d2788010f8b4f08 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e03b7946b1a6efe43fbfd280b27035ea375a2b0d
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Wed Nov 11 06:35:07 2015 +0100
h8300: do not use LDFLAGS, they are wrong. testsuite compile fails with it
commit abbb302279d90471251dd9ad85783d04b6ebc8b1
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Wed Nov 11 06:34:08 2015 +0100
h8300: disable test using mprotect(), not available for h8300
commit 84e5f966e288da429df3601ce07b00e57b0b36cd
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Wed Nov 11 06:33:39 2015 +0100
reduce timeoutfactor, fasten test runs!
commit ae04402816efe99e55e83cf086f695829bf9febc
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Sun Nov 8 20:41:42 2015 +0100
fanotify: include needed Linux definitions
To support older Linux kernel f.e. 2.6.32.68 include all
required definitions. Copied from musl libc fanotify.h.
Reported by Thomas Petazzoni from Buildroot project.
commit 8c142592ef695153781ac69eaa36b89da336c797
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Sun Nov 8 20:38:23 2015 +0100
add support for euidaccess/eaccess legacy functions
Implementation taken from musl libc project.
Missing functions recognized by buildroot autobuilders
with failing open-vm-tools.
-----------------------------------------------------------------------
Summary of changes:
Rules.mak | 2 -
include/unistd.h | 2 +-
libc/sysdeps/linux/common/Makefile.in | 1 +
libc/sysdeps/linux/common/euidaccess.c | 10 +++++
libc/sysdeps/linux/common/sys/fanotify.h | 60 +++++++++++++++++++++++++++++-
test/nptl/Makefile.in | 2 +-
test/string/Makefile.in | 4 ++
7 files changed, 76 insertions(+), 5 deletions(-)
create mode 100644 libc/sysdeps/linux/common/euidaccess.c
diff --git a/Rules.mak b/Rules.mak
index 761bb74..d769bba 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -437,8 +437,6 @@ ifeq ($(TARGET_ARCH),sh64)
endif
ifeq ($(TARGET_ARCH),h8300)
- CPU_LDFLAGS-$(CONFIG_H8300H)+= -Wl,-mh8300h_linux
- CPU_LDFLAGS-$(CONFIG_H8S) += -Wl,-mh8300s_linux
CPU_CFLAGS-$(CONFIG_H8300H) += -mh -mint32
CPU_CFLAGS-$(CONFIG_H8S) += -ms -mint32
endif
diff --git a/include/unistd.h b/include/unistd.h
index 40d6abd..8e4daf6 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -290,7 +290,7 @@ typedef __socklen_t socklen_t;
/* Test for access to NAME using the real UID and real GID. */
extern int access (const char *__name, int __type) __THROW __nonnull ((1));
-#if 0 /*def __USE_GNU*/
+#if defined __UCLIBC_LINUX_SPECIFIC__ && defined __USE_GNU
/* Test for access to NAME using the effective UID and GID
(as normal file operations use). */
extern int euidaccess (const char *__name, int __type)
diff --git a/libc/sysdeps/linux/common/Makefile.in
b/libc/sysdeps/linux/common/Makefile.in
index b75b712..ade0ac3 100644
--- a/libc/sysdeps/linux/common/Makefile.in
+++ b/libc/sysdeps/linux/common/Makefile.in
@@ -24,6 +24,7 @@ CSRC-$(UCLIBC_LINUX_SPECIFIC) += \
capget.c \
capset.c \
dup3.c \
+ euidaccess.c \
eventfd.c \
eventfd_read.c \
eventfd_write.c \
diff --git a/libc/sysdeps/linux/common/euidaccess.c
b/libc/sysdeps/linux/common/euidaccess.c
new file mode 100644
index 0000000..6e1f398
--- /dev/null
+++ b/libc/sysdeps/linux/common/euidaccess.c
@@ -0,0 +1,10 @@
+#define _GNU_SOURCE
+#include <unistd.h>
+#include <fcntl.h>
+
+int euidaccess(const char *filename, int amode)
+{
+ return faccessat(AT_FDCWD, filename, amode, AT_EACCESS);
+}
+
+weak_alias(euidaccess, eaccess);
diff --git a/libc/sysdeps/linux/common/sys/fanotify.h
b/libc/sysdeps/linux/common/sys/fanotify.h
index 5eec3e5..b1e9cca 100644
--- a/libc/sysdeps/linux/common/sys/fanotify.h
+++ b/libc/sysdeps/linux/common/sys/fanotify.h
@@ -19,7 +19,65 @@
#define _SYS_FANOTIFY_H 1
#include <stdint.h>
-#include <linux/fanotify.h>
+
+struct fanotify_event_metadata {
+ unsigned event_len;
+ unsigned char vers;
+ unsigned char reserved;
+ unsigned short metadata_len;
+ unsigned long long mask
+#ifdef __GNUC__
+ __attribute__((__aligned__(8)))
+#endif
+ ;
+ int fd;
+ int pid;
+};
+
+struct fanotify_response {
+ int fd;
+ unsigned response;
+};
+
+#define FAN_ACCESS 0x01
+#define FAN_MODIFY 0x02
+#define FAN_CLOSE_WRITE 0x08
+#define FAN_CLOSE_NOWRITE 0x10
+#define FAN_OPEN 0x20
+#define FAN_Q_OVERFLOW 0x4000
+#define FAN_OPEN_PERM 0x10000
+#define FAN_ACCESS_PERM 0x20000
+#define FAN_ONDIR 0x40000000
+#define FAN_EVENT_ON_CHILD 0x08000000
+#define FAN_CLOSE (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE)
+#define FAN_CLOEXEC 0x01
+#define FAN_NONBLOCK 0x02
+#define FAN_CLASS_NOTIF 0
+#define FAN_CLASS_CONTENT 0x04
+#define FAN_CLASS_PRE_CONTENT 0x08
+#define FAN_ALL_CLASS_BITS (FAN_CLASS_NOTIF | FAN_CLASS_CONTENT | FAN_CLASS_PRE_CONTENT)
+#define FAN_UNLIMITED_QUEUE 0x10
+#define FAN_UNLIMITED_MARKS 0x20
+#define FAN_ALL_INIT_FLAGS (FAN_CLOEXEC | FAN_NONBLOCK | FAN_ALL_CLASS_BITS |
FAN_UNLIMITED_QUEUE | FAN_UNLIMITED_MARKS)
+#define FAN_MARK_ADD 0x01
+#define FAN_MARK_REMOVE 0x02
+#define FAN_MARK_DONT_FOLLOW 0x04
+#define FAN_MARK_ONLYDIR 0x08
+#define FAN_MARK_MOUNT 0x10
+#define FAN_MARK_IGNORED_MASK 0x20
+#define FAN_MARK_IGNORED_SURV_MODIFY 0x40
+#define FAN_MARK_FLUSH 0x80
+#define FAN_ALL_MARK_FLAGS (FAN_MARK_ADD | FAN_MARK_REMOVE | FAN_MARK_DONT_FOLLOW |
FAN_MARK_ONLYDIR | FAN_MARK_MOUNT | FAN_MARK_IGNORED_MASK | FAN_MARK_IGNORED_SURV_MODIFY |
FAN_MARK_FLUSH)
+#define FAN_ALL_EVENTS (FAN_ACCESS | FAN_MODIFY | FAN_CLOSE | FAN_OPEN)
+#define FAN_ALL_PERM_EVENTS (FAN_OPEN_PERM | FAN_ACCESS_PERM)
+#define FAN_ALL_OUTGOING_EVENTS (FAN_ALL_EVENTS | FAN_ALL_PERM_EVENTS | FAN_Q_OVERFLOW)
+#define FANOTIFY_METADATA_VERSION 3
+#define FAN_ALLOW 0x01
+#define FAN_DENY 0x02
+#define FAN_NOFD -1
+#define FAN_EVENT_METADATA_LEN (sizeof(struct fanotify_event_metadata))
+#define FAN_EVENT_NEXT(meta, len) ((len) -= (meta)->event_len, (struct
fanotify_event_metadata*)(((char *)(meta)) + (meta)->event_len))
+#define FAN_EVENT_OK(meta, len) ((long)(len) >= (long)FAN_EVENT_METADATA_LEN
&& (long)(meta)->event_len >= (long)FAN_EVENT_METADATA_LEN &&
(long)(meta)->event_len <= (long)(len))
__BEGIN_DECLS
diff --git a/test/nptl/Makefile.in b/test/nptl/Makefile.in
index 700a464..09e2804 100644
--- a/test/nptl/Makefile.in
+++ b/test/nptl/Makefile.in
@@ -211,4 +211,4 @@ OPTS_tst-cancel7 = -c ./tst-cancel7
OPTS_tst-mqueue7 = -- ./tst-mqueue7
OPTS_tst-exec4 = ./tst-exec4
-WRAPPER := env LD_LIBRARY_PATH="$$PWD:.:$(LD_LIBRARY_PATH)" TIMEOUTFACTOR=100
+WRAPPER := env LD_LIBRARY_PATH="$$PWD:.:$(LD_LIBRARY_PATH)" TIMEOUTFACTOR=10
diff --git a/test/string/Makefile.in b/test/string/Makefile.in
index ad52a9f..39fb912 100644
--- a/test/string/Makefile.in
+++ b/test/string/Makefile.in
@@ -2,3 +2,7 @@
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
EXTRA_CFLAGS := -fno-builtin
+
+ifeq ($(TARGET_ARCH),h8300)
+TESTS_DISABLED += stratcliff
+endif
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
Show replies by date
Waldemar,
On Thu, 12 Nov 2015 06:13:07 +0100 (CET), wbx wrote:
commit ae04402816efe99e55e83cf086f695829bf9febc
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Sun Nov 8 20:41:42 2015 +0100
fanotify: include needed Linux definitions
To support older Linux kernel f.e. 2.6.32.68 include all
required definitions. Copied from musl libc fanotify.h.
Reported by Thomas Petazzoni from Buildroot project.
Is this really the right approach? Bartosz proposed instead to enclose
the header include in
#if defined(__NR_fanotify_init) && defined(__NR_fanotify_mark)
Since anyway the corresponding uClibc functions are not going to be
defined when such definitions are not available.
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
Hi Thomas,
Thomas Petazzoni wrote,
Waldemar,
On Thu, 12 Nov 2015 06:13:07 +0100 (CET), wbx wrote:
commit ae04402816efe99e55e83cf086f695829bf9febc
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Sun Nov 8 20:41:42 2015 +0100
fanotify: include needed Linux definitions
To support older Linux kernel f.e. 2.6.32.68 include all
required definitions. Copied from musl libc fanotify.h.
Reported by Thomas Petazzoni from Buildroot project.
Is this really the right approach? Bartosz proposed instead to enclose
the header include in
#if defined(__NR_fanotify_init) && defined(__NR_fanotify_mark)
Since anyway the corresponding uClibc functions are not going to be
defined when such definitions are not available.
I talked about this with nsz and others in #musl. The conclusion
was to better not include linux headers files directly, as you
include more then you need and does not has full control about the
includes. The opinion is that defines for making
syscalls working should be better included in the C library.
And Bartosz told us that he is fine with both methods.
best regards
Waldemar