This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
[PATCH 1/2] alpha: create kernel-features.h.
- From: Matt Turner <mattst88 at gmail dot com>
- To: libc-ports at sourceware dot org
- Cc: Matt Turner <mattst88 at gmail dot com>
- Date: Fri, 26 Mar 2010 16:49:55 -0400
- Subject: [PATCH 1/2] alpha: create kernel-features.h.
Signed-off-by: Matt Turner <mattst88@gmail.com>
---
After these make it into glibc-ports.git, I'll send a patch to libc-alpha@
removing the __alpha__ checks from kernel-features.h in glibc.git.
sysdeps/unix/sysv/linux/alpha/kernel-features.h | 68 +++++++++++++++++++++++
1 files changed, 68 insertions(+), 0 deletions(-)
create mode 100644 sysdeps/unix/sysv/linux/alpha/kernel-features.h
diff --git a/sysdeps/unix/sysv/linux/alpha/kernel-features.h b/sysdeps/unix/sysv/linux/alpha/kernel-features.h
new file mode 100644
index 0000000..7e33acf
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/kernel-features.h
@@ -0,0 +1,68 @@
+/* Set flags signalling availability of kernel features based on given
+ kernel version number.
+ Copyright (C) 2010 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. */
+
+/* alpha switched to a 64-bit timeval sometime before 2.2.0. */
+#if __LINUX_KERNEL_VERSION >= 131584
+# define __ASSUME_TIMEVAL64 1
+#endif
+
+/* The tgkill syscall was introduced for alpha 2.6.0-test1 which unfortunately
+ cannot be distinguished from 2.6.0. */
+#if __LINUX_KERNEL_VERSION >= 132609
+# define __ASSUME_TGKILL 1
+#endif
+
+#define __ASSUME_UTIMES 1
+
+/* Starting with version 2.6.9, SSI_IEEE_RAISE_EXCEPTION exists. */
+#if __LINUX_KERNEL_VERSION >= 0x020609
+# define __ASSUME_IEEE_RAISE_EXCEPTION 1
+#endif
+
+#include_next <kernel-features.h>
+
+#undef __ASSUME_ST_INO_64_BIT
+
+/* pselect/ppoll were introduced on alpha just after 2.6.22-rc1. */
+#if __LINUX_KERNEL_VERSION < 0x020617
+# undef __ASSUME_PSELECT
+# undef __ASSUME_PPOLL
+#endif
+
+/* The *at syscalls were introduced on alpha just after 2.6.22-rc1. */
+#if __LINUX_KERNEL_VERSION < 0x020617
+# undef __ASSUME_ATFCTS
+#endif
+
+/* Support for inter-process robust mutexes was added on alpha just
+ after 2.6.22-rc1. */
+#if __LINUX_KERNEL_VERSION < 0x020617
+# undef __ASSUME_SET_ROBUST_LIST
+#endif
+
+/* Support for utimensat was added on alpha after 2.6.22-rc1. */
+#if __LINUX_KERNEL_VERSION < 0x020617
+# undef __ASSUME_UTIMENSAT
+#endif
+
+/* Support for fallocate was added on alpha for 2.6.33. */
+#if __LINUX_KERNEL_VERSION < 0x020621
+# undef __ASSUME_FALLOCATE
+#endif
--
1.6.4.4