diff options
Diffstat (limited to 'libc/sysdeps/linux/common')
| -rw-r--r-- | libc/sysdeps/linux/common/Makefile.in | 4 | ||||
| -rw-r--r-- | libc/sysdeps/linux/common/bits/kernel-features.h | 5 | ||||
| -rw-r--r-- | libc/sysdeps/linux/common/getdents.c | 8 | ||||
| -rw-r--r-- | libc/sysdeps/linux/common/poll.c | 3 | ||||
| -rw-r--r-- | libc/sysdeps/linux/common/sysdep.h | 1 | 
5 files changed, 15 insertions, 6 deletions
| diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in index e86dc0c0d..a6fa6d091 100644 --- a/libc/sysdeps/linux/common/Makefile.in +++ b/libc/sysdeps/linux/common/Makefile.in @@ -119,7 +119,7 @@ libc-nomulti-y += $(COMMON_OUT)/__syscall_rt_sigaction.o \  	$(COMMON_OUT)/stat.o  libc-nomulti-$(UCLIBC_HAS_SSP) += $(COMMON_OUT)/ssp.o -objclean-y += common_clean +objclean-y += CLEAN_libc/sysdeps/linux/common -common_clean: +CLEAN_libc/sysdeps/linux/common:  	$(do_rm) $(addprefix $(COMMON_OUT)/*., o os oS) diff --git a/libc/sysdeps/linux/common/bits/kernel-features.h b/libc/sysdeps/linux/common/bits/kernel-features.h index 8481f0640..68b881c09 100644 --- a/libc/sysdeps/linux/common/bits/kernel-features.h +++ b/libc/sysdeps/linux/common/bits/kernel-features.h @@ -46,6 +46,11 @@  # define __ASSUME_GETCWD_SYSCALL	1  #endif +/* When was `poll' introduced?  */ +#if __LINUX_KERNEL_VERSION >= 131584 +# define __ASSUME_POLL_SYSCALL          1 +#endif +  /* Real-time signal became usable in 2.1.70.  */  #if __LINUX_KERNEL_VERSION >= 131398  # define __ASSUME_REALTIME_SIGNALS	1 diff --git a/libc/sysdeps/linux/common/getdents.c b/libc/sysdeps/linux/common/getdents.c index 6a38772e8..5dda190a8 100644 --- a/libc/sysdeps/linux/common/getdents.c +++ b/libc/sysdeps/linux/common/getdents.c @@ -133,10 +133,6 @@ ssize_t __getdents (int fd, char *buf, size_t nbytes)      return (char *) dp - buf;  } -#if defined __UCLIBC_HAS_LFS__ && ! defined __NR_getdents64 -attribute_hidden strong_alias(__getdents,__getdents64) -#endif -  #elif __WORDSIZE == 32  extern __typeof(__getdents) __getdents64 attribute_hidden; @@ -167,4 +163,8 @@ ssize_t __getdents (int fd, char *buf, size_t nbytes)  #endif +#if defined __UCLIBC_HAS_LFS__ && ! defined __NR_getdents64 +attribute_hidden strong_alias(__getdents,__getdents64) +#endif +  #endif diff --git a/libc/sysdeps/linux/common/poll.c b/libc/sysdeps/linux/common/poll.c index f50e92c8e..4211c26cc 100644 --- a/libc/sysdeps/linux/common/poll.c +++ b/libc/sysdeps/linux/common/poll.c @@ -19,6 +19,7 @@  #include <sys/syscall.h>  #include <sys/poll.h> +#include <bits/kernel-features.h>  #ifdef __UCLIBC_HAS_THREADS_NATIVE__  #include <sysdep-cancel.h> @@ -26,6 +27,8 @@  #define SINGLE_THREAD_P 1  #endif +#if defined __ASSUME_POLL_SYSCALL && defined __NR_poll +  libc_hidden_proto(poll)  #ifdef __NR_poll diff --git a/libc/sysdeps/linux/common/sysdep.h b/libc/sysdeps/linux/common/sysdep.h index 23151d914..dae74d7c5 100644 --- a/libc/sysdeps/linux/common/sysdep.h +++ b/libc/sysdeps/linux/common/sysdep.h @@ -156,3 +156,4 @@  #define DW_EH_PE_funcrel	0x40  #define DW_EH_PE_aligned	0x50  #define DW_EH_PE_indirect	0x80 + | 
