Move kernel-features.h header from the linuxthread directory
to a common one (libc/sysdeps/linux/common/bits) so that any
function can access to supported kernel feature (i.e. getdents).

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>

Index: libc/sysdeps/linux/common/getdents.c
===================================================================
--- libc/sysdeps/linux/common/getdents.c	(revision 24256)
+++ libc/sysdeps/linux/common/getdents.c	(working copy)
@@ -16,6 +16,7 @@
 #include <sys/types.h>
 #include <sys/syscall.h>
 #include <bits/kernel_types.h>
+#include <bits/kernel-features.h>
 
 /* With newer versions of linux, the getdents syscall returns d_type
  * information after the name field.
Index: libc/sysdeps/linux/common/__syscall_rt_sigaction.c
===================================================================
--- libc/sysdeps/linux/common/__syscall_rt_sigaction.c	(revision 24256)
+++ libc/sysdeps/linux/common/__syscall_rt_sigaction.c	(working copy)
@@ -11,10 +11,10 @@
 
 #ifdef __NR_rt_sigaction
 #include <signal.h>
+#include <bits/kernel_sigaction.h>
 
-int __syscall_rt_sigaction (int __signum, const struct sigaction *__act, struct sigaction *__oldact, size_t __size) attribute_hidden;
 #define __NR___syscall_rt_sigaction __NR_rt_sigaction
 _syscall4(int, __syscall_rt_sigaction, int, signum,
-		  const struct sigaction *, act, struct sigaction *, oldact,
+		  const struct kernel_sigaction *, act, struct kernel_sigaction *, oldact,
 		  size_t, size)
 #endif
Index: libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
===================================================================
--- libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S	(revision 24256)
+++ libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S	(working copy)
@@ -19,7 +19,7 @@
 #include <sysdep-cancel.h>
 #define _ERRNO_H	1
 #include <bits/errno.h>
-#include <kernel-features.h>
+#include <bits/kernel-features.h>
 
 /* Clone the calling process, but without copying the whole address space.
    The calling process is suspended until the new process exits or is
Index: libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S
===================================================================
--- libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S	(revision 24256)
+++ libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S	(working copy)
@@ -19,7 +19,7 @@
 #include <sysdep-cancel.h>
 #define _ERRNO_H	1
 #include <bits/errno.h>
-#include <kernel-features.h>
+#include <bits/kernel-features.h>
 
 /* Clone the calling process, but without copying the whole address space.
    The calling process is suspended until the new process exits or is
Index: libpthread/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S
===================================================================
--- libpthread/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S	(revision 24256)
+++ libpthread/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S	(working copy)
@@ -20,7 +20,7 @@
 #include <sysdep-cancel.h>
 #define _ERRNO_H	1
 #include <bits/errno.h>
-#include <kernel-features.h>
+#include <bits/kernel-features.h>
 
 /* Clone the calling process, but without copying the whole address space.
    The calling process is suspended until the new process exits or is
Index: libpthread/linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c
===================================================================
--- libpthread/linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c	(revision 24256)
+++ libpthread/linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c	(working copy)
@@ -24,7 +24,7 @@
 #include <sys/syscall.h>
 #include <linuxthreads/internals.h>
 
-#include <kernel-features.h>
+#include <bits/kernel-features.h>
 
 void
 __pthread_sigsuspend (const sigset_t *set)
Index: libpthread/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S
===================================================================
--- libpthread/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S	(revision 24256)
+++ libpthread/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S	(working copy)
@@ -20,7 +20,7 @@
 #include <sysdep-cancel.h>
 #define _ERRNO_H	1
 #include <bits/errno.h>
-#include <kernel-features.h>
+#include <bits/kernel-features.h>
 
 /* Clone the calling process, but without copying the whole address space.
    The calling process is suspended until the new process exits or is
Index: libpthread/linuxthreads/sysdeps/pthread/uClibc-glue.h
===================================================================
--- libpthread/linuxthreads/sysdeps/pthread/uClibc-glue.h	(revision 24256)
+++ libpthread/linuxthreads/sysdeps/pthread/uClibc-glue.h	(working copy)
@@ -6,7 +6,7 @@
 #include <bits/uClibc_page.h>
 
 #ifdef IS_IN_libpthread
-#include "kernel-features.h"
+#include <bits/kernel-features.h>
 
 #ifndef __GLIBC_HAVE_LONG_LONG
 # define __GLIBC_HAVE_LONG_LONG
Index: libpthread/linuxthreads/sysdeps/pthread/kernel-features.h
===================================================================
--- libpthread/linuxthreads/sysdeps/pthread/kernel-features.h	(revision 24256)
+++ libpthread/linuxthreads/sysdeps/pthread/kernel-features.h	(working copy)
@@ -1,80 +0,0 @@
-/* Set flags signalling availability of kernel features based on given
-   kernel version number.
-   Copyright (C) 1999-2003, 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* This file must not contain any C code.  At least it must be protected
-   to allow using the file also in assembler files.  */
-
-#if defined __mips__
-# include <sgidefs.h>
-#endif
-
-#include <linux/version.h>
-#define __LINUX_KERNEL_VERSION	LINUX_VERSION_CODE
-
-/* Real-time signal became usable in 2.1.70.  */
-#if __LINUX_KERNEL_VERSION >= 131398
-# define __ASSUME_REALTIME_SIGNALS	1
-#endif
-
-/* Beginning with 2.5.63 support for realtime and monotonic clocks and
-   timers based on them is available.  */
-#if __LINUX_KERNEL_VERSION >= 132415
-# define __ASSUME_POSIX_TIMERS		1
-#endif
-
-/* On x86, the set_thread_area syscall was introduced in 2.5.29, but its
-   semantics was changed in 2.5.30, and again after 2.5.31.  */
-#if __LINUX_KERNEL_VERSION >= 132384 && defined __i386__
-# define __ASSUME_SET_THREAD_AREA_SYSCALL	1
-#endif
-
-/* We can use the LDTs for threading with Linux 2.3.99 and newer.  */
-#if __LINUX_KERNEL_VERSION >= 131939
-# define __ASSUME_LDT_WORKS		1
-#endif
-
-/* Starting with 2.4.5 kernels PPC passes the AUXV in the standard way
-   and the vfork syscall made it into the official kernel.  */
-#if __LINUX_KERNEL_VERSION >= (132096+5) && defined __powerpc__
-# define __ASSUME_STD_AUXV		1
-# define __ASSUME_VFORK_SYSCALL		1
-#endif
-
-/* The vfork syscall on x86 and arm was definitely available in 2.4.  */
-#if __LINUX_KERNEL_VERSION >= 132097 && (defined __i386__ || defined __arm__)
-# define __ASSUME_VFORK_SYSCALL		1
-#endif
-
-/* Starting with version 2.6.4-rc1 the getdents syscall returns d_type
- *    information as well and in between 2.6.5 and 2.6.8 most compat wrappers
- *       were fixed too.  Except s390{,x} which was fixed in 2.6.11.  */
-#if (__LINUX_KERNEL_VERSION >= 0x020608 && !defined __s390__) \
-    || (__LINUX_KERNEL_VERSION >= 0x02060b && defined __s390__)
-# define __ASSUME_GETDENTS32_D_TYPE 1
-#endif
-
-/* These features were surely available with 2.4.12.  */
-#if __LINUX_KERNEL_VERSION >= 132108 && defined __mc68000__
-# define __ASSUME_MMAP2_SYSCALL		1
-# define __ASSUME_TRUNCATE64_SYSCALL	1
-# define __ASSUME_STAT64_SYSCALL	1
-# define __ASSUME_FCNTL64		1
-# define __ASSUME_VFORK_SYSCALL		1
-#endif
Index: libpthread/linuxthreads/sysdeps/pthread/getcpuclockid.c
===================================================================
--- libpthread/linuxthreads/sysdeps/pthread/getcpuclockid.c	(revision 24256)
+++ libpthread/linuxthreads/sysdeps/pthread/getcpuclockid.c	(working copy)
@@ -23,7 +23,7 @@
 #include <time.h>
 #include <internals.h>
 #include <spinlock.h>
-#include <kernel-features.h>
+#include <bits/kernel-features.h>
 #include <kernel-posix-cpu-timers.h>
 
 
Index: libpthread/linuxthreads/sysdeps/i386/pspinlock.c
===================================================================
--- libpthread/linuxthreads/sysdeps/i386/pspinlock.c	(revision 24256)
+++ libpthread/linuxthreads/sysdeps/i386/pspinlock.c	(working copy)
@@ -20,7 +20,7 @@
 #include <errno.h>
 #include <pthread.h>
 #include "internals.h"
-#include <kernel-features.h>
+#include <bits/kernel-features.h>
 
 
 /* This implementation is similar to the one used in the Linux kernel.
Index: libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h
===================================================================
--- libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h	(revision 24256)
+++ libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h	(working copy)
@@ -25,7 +25,7 @@
 #ifndef PT_EI
 # define PT_EI __extern_always_inline
 #endif
-#include "kernel-features.h"
+#include <bits/kernel-features.h>
 
 #ifndef __ASSEMBLER__
 extern long int testandset (int *spinlock);
Index: libpthread/linuxthreads/restart.h
===================================================================
--- libpthread/linuxthreads/restart.h	(revision 24256)
+++ libpthread/linuxthreads/restart.h	(working copy)
@@ -13,7 +13,7 @@
 /* GNU Library General Public License for more details.                 */
 
 #include <signal.h>
-#include <kernel-features.h>
+#include <bits/kernel-features.h>
 
 /* Primitives for controlling thread execution */
 
