From f2c05b9ecf4493d2b25c25fcd75aed0ec60cc473 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 14 Aug 2012 22:34:04 +0000 Subject: [PATCH] Remove __ASSUME_CLONE_THREAD_FLAGS. --- ChangeLog | 11 +++++++++++ ports/ChangeLog.ia64 | 7 +++++++ ports/ChangeLog.tile | 5 +++++ ports/sysdeps/unix/sysv/linux/ia64/kernel-features.h | 4 ---- ports/sysdeps/unix/sysv/linux/ia64/system.c | 4 +--- ports/sysdeps/unix/sysv/linux/tile/kernel-features.h | 1 - sysdeps/unix/sysv/linux/kernel-features.h | 11 ----------- sysdeps/unix/sysv/linux/s390/system.c | 6 ++---- sysdeps/unix/sysv/linux/sparc/system.c | 6 ++---- sysdeps/unix/sysv/linux/system.c | 4 ++-- 10 files changed, 30 insertions(+), 29 deletions(-) diff --git a/ChangeLog b/ChangeLog index a9481f3..b890bcf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2012-08-14 Joseph Myers + + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_CLONE_THREAD_FLAGS): Remove. + * sysdeps/unix/sysv/linux/s390/system.c (FORK): Define + unconditionally. + * sysdeps/unix/sysv/linux/sparc/system.c (FORK): Define + unconditionally. + * sysdeps/unix/sysv/linux/system.c [!FORK] (FORK): Do not + condition on __ASSUME_CLONE_THREAD_FLAGS. + 2012-08-14 Andreas Jaeger * sysdeps/i386/fpu/libm-test-ulps: Update. diff --git a/ports/ChangeLog.ia64 b/ports/ChangeLog.ia64 index 4d2110d..27b4b7e 100644 --- a/ports/ChangeLog.ia64 +++ b/ports/ChangeLog.ia64 @@ -1,3 +1,10 @@ +2012-08-14 Joseph Myers + + * sysdeps/unix/sysv/linux/ia64/kernel-features.h + (__ASSUME_CLONE_THREAD_FLAGS): Remove. + * sysdeps/unix/sysv/linux/ia64/system.c (FORK): Define + unconditionally. + 2012-08-12 Mike Frysinger * sysdeps/ia64/configure.in: Remove TLS check. diff --git a/ports/ChangeLog.tile b/ports/ChangeLog.tile index 164a7e6..53afc69 100644 --- a/ports/ChangeLog.tile +++ b/ports/ChangeLog.tile @@ -1,3 +1,8 @@ +2012-08-14 Joseph Myers + + * sysdeps/unix/sysv/linux/tile/kernel-features.h + (__ASSUME_CLONE_THREAD_FLAGS): Remove. + 2012-08-08 Joseph Myers * sysdeps/unix/sysv/linux/tile/kernel-features.h diff --git a/ports/sysdeps/unix/sysv/linux/ia64/kernel-features.h b/ports/sysdeps/unix/sysv/linux/ia64/kernel-features.h index 061a86d..bd3e377 100644 --- a/ports/sysdeps/unix/sysv/linux/ia64/kernel-features.h +++ b/ports/sysdeps/unix/sysv/linux/ia64/kernel-features.h @@ -20,10 +20,6 @@ #ifndef _KERNEL_FEATURES_H #define _KERNEL_FEATURES_H 1 -/* The late 2.5 kernels saw a lot of new CLONE_* flags. Summarize - their availability with one define. */ -#define __ASSUME_CLONE_THREAD_FLAGS 1 - /* The utimes syscall has been available for some architectures forever. */ #define __ASSUME_UTIMES 1 diff --git a/ports/sysdeps/unix/sysv/linux/ia64/system.c b/ports/sysdeps/unix/sysv/linux/ia64/system.c index f02a99e..6970a1f 100644 --- a/ports/sysdeps/unix/sysv/linux/ia64/system.c +++ b/ports/sysdeps/unix/sysv/linux/ia64/system.c @@ -25,10 +25,8 @@ return. It might still be in the kernel when the cancellation request comes. Therefore we have to use the clone() calls ability to have the kernel write the PID into the user-level variable. */ -#ifdef __ASSUME_CLONE_THREAD_FLAGS -# define FORK() \ +#define FORK() \ INLINE_SYSCALL (clone2, 6, CLONE_PARENT_SETTID | SIGCHLD, NULL, 0, \ &pid, NULL, NULL) -#endif #include diff --git a/ports/sysdeps/unix/sysv/linux/tile/kernel-features.h b/ports/sysdeps/unix/sysv/linux/tile/kernel-features.h index 3c00344..956f14c 100644 --- a/ports/sysdeps/unix/sysv/linux/tile/kernel-features.h +++ b/ports/sysdeps/unix/sysv/linux/tile/kernel-features.h @@ -20,7 +20,6 @@ /* TILE glibc support starts with 2.6.36, guaranteeing many kernel features. */ #define __ASSUME_MMAP2_SYSCALL 1 #define __ASSUME_STAT64_SYSCALL 1 -#define __ASSUME_CLONE_THREAD_FLAGS 1 #define __ASSUME_UTIMES 1 #define __ASSUME_FADVISE64_64_SYSCALL 1 #define __ASSUME_O_CLOEXEC 1 diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h index bf81c4a..0aa01c9 100644 --- a/sysdeps/unix/sysv/linux/kernel-features.h +++ b/sysdeps/unix/sysv/linux/kernel-features.h @@ -92,17 +92,6 @@ # define __ASSUME_MMAP2_SYSCALL 1 #endif -/* The late 2.5 kernels saw a lot of new CLONE_* flags. Summarize - 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*, SPARC, PPC, x86-64, and SH we pick 2.5.64 as the first - version with support. */ -#if (defined __i386__ || defined __s390__ || defined __sparc__ \ - || defined __powerpc__ || defined __x86_64__ || defined __sh__) -# define __ASSUME_CLONE_THREAD_FLAGS 1 -#endif - /* Beginning with 2.5.63 support for realtime and monotonic clocks and timers based on them is available. */ #define __ASSUME_POSIX_TIMERS 1 diff --git a/sysdeps/unix/sysv/linux/s390/system.c b/sysdeps/unix/sysv/linux/s390/system.c index f63584c..66f9661 100644 --- a/sysdeps/unix/sysv/linux/s390/system.c +++ b/sysdeps/unix/sysv/linux/s390/system.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003-2012 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 @@ -25,9 +25,7 @@ return. It might still be in the kernel when the cancellation request comes. Therefore we have to use the clone() calls ability to have the kernel write the PID into the user-level variable. */ -#ifdef __ASSUME_CLONE_THREAD_FLAGS -# define FORK() \ +#define FORK() \ INLINE_SYSCALL (clone, 3, 0, CLONE_PARENT_SETTID | SIGCHLD, &pid) -#endif #include "../system.c" diff --git a/sysdeps/unix/sysv/linux/sparc/system.c b/sysdeps/unix/sysv/linux/sparc/system.c index 3149091..a5e34dc 100644 --- a/sysdeps/unix/sysv/linux/sparc/system.c +++ b/sysdeps/unix/sysv/linux/sparc/system.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003-2012 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 @@ -25,9 +25,7 @@ return. It might still be in the kernel when the cancellation request comes. Therefore we have to use the clone() calls ability to have the kernel write the PID into the user-level variable. */ -#ifdef __ASSUME_CLONE_THREAD_FLAGS -# define FORK() \ +#define FORK() \ INLINE_CLONE_SYSCALL (CLONE_PARENT_SETTID | SIGCHLD, 0, &pid, NULL, NULL) -#endif #include "../system.c" diff --git a/sysdeps/unix/sysv/linux/system.c b/sysdeps/unix/sysv/linux/system.c index 4604544..29ab63e 100644 --- a/sysdeps/unix/sysv/linux/system.c +++ b/sysdeps/unix/sysv/linux/system.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +/* Copyright (C) 2002-2012 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 @@ -32,7 +32,7 @@ return. It might still be in the kernel when the cancellation request comes. Therefore we have to use the clone() calls ability to have the kernel write the PID into the user-level variable. */ -#if defined __ASSUME_CLONE_THREAD_FLAGS && !defined FORK +#ifndef FORK # define FORK() \ INLINE_SYSCALL (clone, 3, CLONE_PARENT_SETTID | SIGCHLD, 0, &pid) #endif -- 2.7.4