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