This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Add some missing sparc kernel-feature.h entries.


While looking into some NPTL tests, I noticed that some kernel
feature tests were missing sparc cases, fixed thusly.

BTW, it's really weird that we have a test like
__ASSUME_CLONE_THREAD_FLAGS yet the feature this CPP macro protects is
used unconditionally in NPTL.  There have been discussions about minimum
kernel versions, and perhaps we can specify a glibc-wide minimum kernel
version and use that to get rid of the really old feature test macros
that really glibc has implicitly required all this time.

Anyways, committed to master.

	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_CLONE_THREAD_FLAGS): Set on sparc when 2.5.64 and later.
	(__ASSUME_TGKILL): Set on sparc when 2.6.1 and later, simplify
	expression.
	(__ASSUME_FADVISE64_64_SYSCALL): Set on sparc when 2.6.1 and
	later.
---
 ChangeLog                                 |    9 +++++++++
 sysdeps/unix/sysv/linux/kernel-features.h |   19 ++++++++++---------
 2 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7b6bc84..2d9dd85 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2012-03-12  David S. Miller  <davem@davemloft.net>
+
+	* sysdeps/unix/sysv/linux/kernel-features.h
+	(__ASSUME_CLONE_THREAD_FLAGS): Set on sparc when 2.5.64 and later.
+	(__ASSUME_TGKILL): Set on sparc when 2.6.1 and later, simplify
+	expression.
+	(__ASSUME_FADVISE64_64_SYSCALL): Set on sparc when 2.6.1 and
+	later.
+
 2012-03-11  David S. Miller  <davem@davemloft.net>
 
 	* sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index 3125be3..ffaae5d 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -273,11 +273,11 @@
    their availability with one define.  The changes were made first
    for i386 and the have to be done separately for the other archs.
    For i386 we pick 2.5.50 as the first version with support.
-   For s390*, PPC, x86-64, and SH we pick 2.5.64 as the first
+   For s390*, SPARC, PPC, x86-64, and SH we pick 2.5.64 as the first
    version with support.  */
 #if ((__LINUX_KERNEL_VERSION >= 132402 && defined __i386__)		\
      || (__LINUX_KERNEL_VERSION >= 132416				\
-	 && (defined __s390__			\
+	 && (defined __s390__ || defined __sparc__			\
 	     || defined __powerpc__ || defined __x86_64__ || defined __sh__)))
 # define __ASSUME_CLONE_THREAD_FLAGS	1
 #endif
@@ -322,11 +322,11 @@
 #endif
 
 /* The tgkill syscall was instroduced for i386 in 2.5.75.  On x86-64,
-   ppc, and ppc64 it was introduced in 2.6.0-test3. */
+   sparc, SH, ppc, and ppc64 it was introduced in 2.6.0-test3. */
 #if (__LINUX_KERNEL_VERSION >= 132427 && defined __i386__) \
-    || (__LINUX_KERNEL_VERSION >= 132609 && defined __x86_64__) \
-    || (__LINUX_KERNEL_VERSION >= 132609 && defined __powerpc__) \
-    || (__LINUX_KERNEL_VERSION >= 132609 && defined __sh__)
+    || (__LINUX_KERNEL_VERSION >= 132609 \
+        && (defined __x86_64__ || defined __powerpc__ \
+            || defined __sh__ || defined __sparc__))
 # define __ASSUME_TGKILL	1
 #endif
 
@@ -350,9 +350,10 @@
 #endif
 
 /* The fixed version of the posix_fadvise64 syscall appeared in
-   2.6.0-test3.  At least for x86.  Powerpc support appeared in
-   2.6.2, but for 32-bit userspace only.  */
-#if (__LINUX_KERNEL_VERSION >= 132609 && defined __i386__) \
+   2.6.0-test3.  At least for x86 and sparc.  Powerpc support appeared
+   in 2.6.2, but for 32-bit userspace only.  */
+#if (__LINUX_KERNEL_VERSION >= 132609				\
+     && (defined __i386__ || defined __sparc__))		\
     || (__LINUX_KERNEL_VERSION >= 132610 && defined __powerpc__ \
        && !defined __powerpc64__)
 # define __ASSUME_FADVISE64_64_SYSCALL	1
-- 
1.7.6.401.g6a319


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]