summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2011-05-12 10:37:36 +0200
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2011-05-12 10:37:36 +0200
commit44100dac1138c480deabb72ee8e180544005dfd9 (patch)
treedf0fce9e5835ff954e0d3d79d015b0778ce41a51
parent3fb846d24c2b74f6dba36580315e1666eca015ee (diff)
linux_specific: handle accept4 and pipe2
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-rw-r--r--extra/Configs/Config.in1
-rw-r--r--include/sys/socket.h2
-rw-r--r--include/unistd.h2
-rw-r--r--libc/inet/Makefile.in3
4 files changed, 4 insertions, 4 deletions
diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
index 7dffdeab9..e41adc465 100644
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -914,6 +914,7 @@ config UCLIBC_LINUX_SPECIFIC
bool "Linux specific functions"
default y
help
+ accept4(),
capget(), capset(), fstatfs(), inotify_*(), ioperm(), iopl(),
madvise(), modify_ldt(), pipe2(), personality(),
prctl()/arch_prctl(),
diff --git a/include/sys/socket.h b/include/sys/socket.h
index 5d38f1105..6037f92ae 100644
--- a/include/sys/socket.h
+++ b/include/sys/socket.h
@@ -227,7 +227,7 @@ extern int accept (int __fd, __SOCKADDR_ARG __addr,
socklen_t *__restrict __addr_len);
libc_hidden_proto(accept)
-#ifdef __USE_GNU
+#if defined __UCLIBC_LINUX_SPECIFIC__ && defined __USE_GNU
/* Similar to 'accept' but takes an additional parameter to specify flags.
This function is a cancellation point and therefore not marked with
diff --git a/include/unistd.h b/include/unistd.h
index 6b614dd05..956879003 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -389,7 +389,7 @@ extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n,
extern int pipe (int __pipedes[2]) __THROW __wur;
libc_hidden_proto(pipe)
-#ifdef __USE_GNU
+#if defined __UCLIBC_LINUX_SPECIFIC__ && defined __USE_GNU
/* Same as pipe but apply flags passed in FLAGS to the new file
descriptors. */
extern int pipe2 (int __pipedes[2], int __flags) __THROW __wur;
diff --git a/libc/inet/Makefile.in b/libc/inet/Makefile.in
index c490adf7e..d58822074 100644
--- a/libc/inet/Makefile.in
+++ b/libc/inet/Makefile.in
@@ -48,8 +48,7 @@ socketcalls_CSRC-y += \
accept.c bind.c connect.c getpeername.c getsockname.c \
getsockopt.c listen.c recv.c recvfrom.c recvmsg.c send.c sendmsg.c \
sendto.c setsockopt.c shutdown.c socket.c socketpair.c
-# FIXME: GNU / linux specific
-socketcalls_CSRC-y += accept4.c
+socketcalls_CSRC-$(UCLIBC_LINUX_SPECIFIC) += accept4.c
CSRC-$(UCLIBC_HAS_SOCKET) += $(socketcalls_CSRC-y) opensock.c
CSRC-$(findstring y,$(UCLIBC_HAS_SOCKET)$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6)) += ethers.c ether_addr.c