From 8c142592ef695153781ac69eaa36b89da336c797 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 8 Nov 2015 20:38:23 +0100 Subject: add support for euidaccess/eaccess legacy functions Implementation taken from musl libc project. Missing functions recognized by buildroot autobuilders with failing open-vm-tools. --- include/unistd.h | 2 +- libc/sysdeps/linux/common/Makefile.in | 1 + libc/sysdeps/linux/common/euidaccess.c | 10 ++++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 libc/sysdeps/linux/common/euidaccess.c diff --git a/include/unistd.h b/include/unistd.h index 40d6abdc0..8e4daf687 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 b75b712ac..ade0ac3e2 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 000000000..6e1f39855 --- /dev/null +++ b/libc/sysdeps/linux/common/euidaccess.c @@ -0,0 +1,10 @@ +#define _GNU_SOURCE +#include +#include + +int euidaccess(const char *filename, int amode) +{ + return faccessat(AT_FDCWD, filename, amode, AT_EACCESS); +} + +weak_alias(euidaccess, eaccess); -- cgit v1.2.3