svn commit: trunk/uClibc: libc/sysdeps/linux/common libc/sysdeps/l etc...

carmelo at uclibc.org carmelo at uclibc.org
Thu Dec 11 14:45:14 UTC 2008


Author: carmelo
Date: 2008-12-11 06:45:14 -0800 (Thu, 11 Dec 2008)
New Revision: 24379

Log:
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 at st.com>



Added:
   trunk/uClibc/libc/sysdeps/linux/common/bits/kernel-features.h

Removed:
   trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/kernel-features.h

Modified:
   trunk/uClibc/libc/sysdeps/linux/common/getdents.c
   trunk/uClibc/libpthread/linuxthreads/restart.h
   trunk/uClibc/libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h
   trunk/uClibc/libpthread/linuxthreads/sysdeps/i386/pspinlock.c
   trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/getcpuclockid.c
   trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/uClibc-glue.h
   trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S
   trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S
   trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
   trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S
   trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c


Changeset:
Copied: trunk/uClibc/libc/sysdeps/linux/common/bits/kernel-features.h (from rev 24087, trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/kernel-features.h)
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/common/bits/kernel-features.h	                        (rev 0)
+++ trunk/uClibc/libc/sysdeps/linux/common/bits/kernel-features.h	2008-12-11 14:45:14 UTC (rev 24379)
@@ -0,0 +1,80 @@
+/* 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

Modified: trunk/uClibc/libc/sysdeps/linux/common/getdents.c
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/common/getdents.c	2008-12-11 14:40:56 UTC (rev 24378)
+++ trunk/uClibc/libc/sysdeps/linux/common/getdents.c	2008-12-11 14:45:14 UTC (rev 24379)
@@ -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.

Modified: trunk/uClibc/libpthread/linuxthreads/restart.h
===================================================================
--- trunk/uClibc/libpthread/linuxthreads/restart.h	2008-12-11 14:40:56 UTC (rev 24378)
+++ trunk/uClibc/libpthread/linuxthreads/restart.h	2008-12-11 14:45:14 UTC (rev 24379)
@@ -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 */
 

Modified: trunk/uClibc/libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h
===================================================================
--- trunk/uClibc/libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h	2008-12-11 14:40:56 UTC (rev 24378)
+++ trunk/uClibc/libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h	2008-12-11 14:45:14 UTC (rev 24379)
@@ -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);

Modified: trunk/uClibc/libpthread/linuxthreads/sysdeps/i386/pspinlock.c
===================================================================
--- trunk/uClibc/libpthread/linuxthreads/sysdeps/i386/pspinlock.c	2008-12-11 14:40:56 UTC (rev 24378)
+++ trunk/uClibc/libpthread/linuxthreads/sysdeps/i386/pspinlock.c	2008-12-11 14:45:14 UTC (rev 24379)
@@ -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.

Modified: trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/getcpuclockid.c
===================================================================
--- trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/getcpuclockid.c	2008-12-11 14:40:56 UTC (rev 24378)
+++ trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/getcpuclockid.c	2008-12-11 14:45:14 UTC (rev 24379)
@@ -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>
 
 

Deleted: trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/kernel-features.h
===================================================================
--- trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/kernel-features.h	2008-12-11 14:40:56 UTC (rev 24378)
+++ trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/kernel-features.h	2008-12-11 14:45:14 UTC (rev 24379)
@@ -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

Modified: trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/uClibc-glue.h
===================================================================
--- trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/uClibc-glue.h	2008-12-11 14:40:56 UTC (rev 24378)
+++ trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/uClibc-glue.h	2008-12-11 14:45:14 UTC (rev 24379)
@@ -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

Modified: trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S
===================================================================
--- trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S	2008-12-11 14:40:56 UTC (rev 24378)
+++ trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S	2008-12-11 14:45:14 UTC (rev 24379)
@@ -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

Modified: trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S
===================================================================
--- trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S	2008-12-11 14:40:56 UTC (rev 24378)
+++ trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S	2008-12-11 14:45:14 UTC (rev 24379)
@@ -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

Modified: trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
===================================================================
--- trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S	2008-12-11 14:40:56 UTC (rev 24378)
+++ trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S	2008-12-11 14:45:14 UTC (rev 24379)
@@ -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

Modified: trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S
===================================================================
--- trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S	2008-12-11 14:40:56 UTC (rev 24378)
+++ trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S	2008-12-11 14:45:14 UTC (rev 24379)
@@ -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

Modified: trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c
===================================================================
--- trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c	2008-12-11 14:40:56 UTC (rev 24378)
+++ trunk/uClibc/libpthread/linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c	2008-12-11 14:45:14 UTC (rev 24379)
@@ -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)




More information about the uClibc-cvs mailing list