diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/not-cancel.h | 104 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/powerpc/not-cancel.h | 1 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/s390/not-cancel.h | 1 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/sh/not-cancel.h | 1 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/sparc/not-cancel.h | 1 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/not-cancel.h | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/generic/not-cancel.h | 34 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/generic/nptl/not-cancel.h | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/m68k/nptl/not-cancel.h | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/not-cancel.h | 54 |
11 files changed, 38 insertions, 172 deletions
@@ -1,5 +1,16 @@ 2014-05-14 Roland McGrath <roland@hack.frob.com> + * nptl/sysdeps/unix/sysv/linux/i386/not-cancel.h: Moved ... + * sysdeps/unix/sysv/linux/not-cancel.h: ... here. + * nptl/sysdeps/unix/sysv/linux/sparc/not-cancel.h: File removed. + * nptl/sysdeps/unix/sysv/linux/sh/not-cancel.h: File removed. + * nptl/sysdeps/unix/sysv/linux/powerpc/not-cancel.h: File removed. + * nptl/sysdeps/unix/sysv/linux/x86_64/not-cancel.h: File removed. + * nptl/sysdeps/unix/sysv/linux/s390/not-cancel.h: File removed. + * sysdeps/unix/sysv/linux/generic/not-cancel.h: File removed. + * sysdeps/unix/sysv/linux/generic/nptl/not-cancel.h: File removed. + * sysdeps/unix/sysv/linux/m68k/nptl/not-cancel.h: File removed. + * nptl/sysdeps/unix/sysv/linux/x86_64/pthread_spin_init.c: File removed. * nptl/sysdeps/unix/sysv/linux/x86_64/pthread_spin_unlock.S: Likewise. diff --git a/nptl/sysdeps/unix/sysv/linux/i386/not-cancel.h b/nptl/sysdeps/unix/sysv/linux/i386/not-cancel.h deleted file mode 100644 index bc17107239..0000000000 --- a/nptl/sysdeps/unix/sysv/linux/i386/not-cancel.h +++ /dev/null @@ -1,104 +0,0 @@ -/* Uncancelable versions of cancelable interfaces. Linux/NPTL version. - Copyright (C) 2003-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@redhat.com>, 2003. - - 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, see - <http://www.gnu.org/licenses/>. */ - -#include <sysdep.h> - -#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt -extern int __open_nocancel (const char *, int, ...) attribute_hidden; -extern int __close_nocancel (int) attribute_hidden; -extern int __read_nocancel (int, void *, size_t) attribute_hidden; -extern int __write_nocancel (int, const void *, size_t) attribute_hidden; -extern pid_t __waitpid_nocancel (pid_t, int *, int) attribute_hidden; -extern int __openat_nocancel (int fd, const char *fname, int oflag, - mode_t mode) attribute_hidden; -extern int __openat64_nocancel (int fd, const char *fname, int oflag, - mode_t mode) attribute_hidden; -#else -# define __open_nocancel(name, ...) __open (name, __VA_ARGS__) -# define __close_nocancel(fd) __close (fd) -# define __read_nocancel(fd, buf, len) __read (fd, buf, len) -# define __write_nocancel(fd, buf, len) __write (fd, buf, len) -# define __waitpid_nocancel(pid, stat_loc, options) \ - __waitpid (pid, stat_loc, options) -# define __openat_nocancel(fd, fname, oflag, mode) \ - openat (fd, fname, oflag, mode) -# define __openat64_nocancel(fd, fname, oflag, mode) \ - openat64 (fd, fname, oflag, mode) -#endif - -/* Uncancelable open. */ -#define open_not_cancel(name, flags, mode) \ - __open_nocancel (name, flags, mode) -#define open_not_cancel_2(name, flags) \ - __open_nocancel (name, flags) - -/* Uncancelable openat. */ -#define openat_not_cancel(fd, fname, oflag, mode) \ - __openat_nocancel (fd, fname, oflag, mode) -#define openat_not_cancel_3(fd, fname, oflag) \ - __openat_nocancel (fd, fname, oflag, 0) -#define openat64_not_cancel(fd, fname, oflag, mode) \ - __openat64_nocancel (fd, fname, oflag, mode) -#define openat64_not_cancel_3(fd, fname, oflag) \ - __openat64_nocancel (fd, fname, oflag, 0) - -/* Uncancelable close. */ -#define close_not_cancel(fd) \ - __close_nocancel (fd) -#define close_not_cancel_no_status(fd) \ - (void) ({ INTERNAL_SYSCALL_DECL (err); \ - INTERNAL_SYSCALL (close, err, 1, (fd)); }) - -/* Uncancelable read. */ -#define read_not_cancel(fd, buf, n) \ - __read_nocancel (fd, buf, n) - -/* Uncancelable write. */ -#define write_not_cancel(fd, buf, n) \ - __write_nocancel (fd, buf, n) - -/* Uncancelable writev. */ -#define writev_not_cancel_no_status(fd, iov, n) \ - (void) ({ INTERNAL_SYSCALL_DECL (err); \ - INTERNAL_SYSCALL (writev, err, 3, (fd), (iov), (n)); }) - -/* Uncancelable fcntl. */ -#define fcntl_not_cancel(fd, cmd, val) \ - __fcntl_nocancel (fd, cmd, val) - -/* Uncancelable waitpid. */ -#ifdef __NR_waitpid -# define waitpid_not_cancel(pid, stat_loc, options) \ - __waitpid_nocancel (pid, stat_loc, options) -#else -# define waitpid_not_cancel(pid, stat_loc, options) \ - INLINE_SYSCALL (wait4, 4, pid, stat_loc, options, NULL) -#endif - -/* Uncancelable pause. */ -#define pause_not_cancel() \ - __pause_nocancel () - -/* Uncancelable nanosleep. */ -#define nanosleep_not_cancel(requested_time, remaining) \ - __nanosleep_nocancel (requested_time, remaining) - -/* Uncancelable sigsuspend. */ -#define sigsuspend_not_cancel(set) \ - __sigsuspend_nocancel (set) diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/not-cancel.h b/nptl/sysdeps/unix/sysv/linux/powerpc/not-cancel.h deleted file mode 100644 index acf1a617e3..0000000000 --- a/nptl/sysdeps/unix/sysv/linux/powerpc/not-cancel.h +++ /dev/null @@ -1 +0,0 @@ -#include "../i386/not-cancel.h" diff --git a/nptl/sysdeps/unix/sysv/linux/s390/not-cancel.h b/nptl/sysdeps/unix/sysv/linux/s390/not-cancel.h deleted file mode 100644 index acf1a617e3..0000000000 --- a/nptl/sysdeps/unix/sysv/linux/s390/not-cancel.h +++ /dev/null @@ -1 +0,0 @@ -#include "../i386/not-cancel.h" diff --git a/nptl/sysdeps/unix/sysv/linux/sh/not-cancel.h b/nptl/sysdeps/unix/sysv/linux/sh/not-cancel.h deleted file mode 100644 index acf1a617e3..0000000000 --- a/nptl/sysdeps/unix/sysv/linux/sh/not-cancel.h +++ /dev/null @@ -1 +0,0 @@ -#include "../i386/not-cancel.h" diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/not-cancel.h b/nptl/sysdeps/unix/sysv/linux/sparc/not-cancel.h deleted file mode 100644 index acf1a617e3..0000000000 --- a/nptl/sysdeps/unix/sysv/linux/sparc/not-cancel.h +++ /dev/null @@ -1 +0,0 @@ -#include "../i386/not-cancel.h" diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/not-cancel.h b/nptl/sysdeps/unix/sysv/linux/x86_64/not-cancel.h deleted file mode 100644 index acf1a617e3..0000000000 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/not-cancel.h +++ /dev/null @@ -1 +0,0 @@ -#include "../i386/not-cancel.h" diff --git a/sysdeps/unix/sysv/linux/generic/not-cancel.h b/sysdeps/unix/sysv/linux/generic/not-cancel.h deleted file mode 100644 index b8df253607..0000000000 --- a/sysdeps/unix/sysv/linux/generic/not-cancel.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Uncancelable versions of cancelable interfaces. Linux asm-generic version. - Copyright (C) 2012-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2012. - - 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, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _LINUX_GENERIC_NOT_CANCEL_H -#define _LINUX_GENERIC_NOT_CANCEL_H - -#include <sysdeps/unix/sysv/linux/not-cancel.h> -#include <fcntl.h> - -/* Uncancelable open with openat. */ -#undef open_not_cancel -#define open_not_cancel(name, flags, mode) \ - INLINE_SYSCALL (openat, 4, AT_FDCWD, (const char *) (name), (flags), (mode)) -#undef open_not_cancel_2 -#define open_not_cancel_2(name, flags) \ - INLINE_SYSCALL (openat, 3, AT_FDCWD, (const char *) (name), (flags)) - -#endif diff --git a/sysdeps/unix/sysv/linux/generic/nptl/not-cancel.h b/sysdeps/unix/sysv/linux/generic/nptl/not-cancel.h deleted file mode 100644 index e6a0d135c8..0000000000 --- a/sysdeps/unix/sysv/linux/generic/nptl/not-cancel.h +++ /dev/null @@ -1 +0,0 @@ -#include <nptl/sysdeps/unix/sysv/linux/i386/not-cancel.h> diff --git a/sysdeps/unix/sysv/linux/m68k/nptl/not-cancel.h b/sysdeps/unix/sysv/linux/m68k/nptl/not-cancel.h deleted file mode 100644 index e6a0d135c8..0000000000 --- a/sysdeps/unix/sysv/linux/m68k/nptl/not-cancel.h +++ /dev/null @@ -1 +0,0 @@ -#include <nptl/sysdeps/unix/sysv/linux/i386/not-cancel.h> diff --git a/sysdeps/unix/sysv/linux/not-cancel.h b/sysdeps/unix/sysv/linux/not-cancel.h index d23eeba8a1..bc17107239 100644 --- a/sysdeps/unix/sysv/linux/not-cancel.h +++ b/sysdeps/unix/sysv/linux/not-cancel.h @@ -1,4 +1,4 @@ -/* Uncancelable versions of cancelable interfaces. Linux version. +/* Uncancelable versions of cancelable interfaces. Linux/NPTL version. Copyright (C) 2003-2014 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2003. @@ -17,28 +17,38 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ -#include <sys/types.h> #include <sysdep.h> -/* Uncancelable open. */ -#define open_not_cancel(name, flags, mode) \ - INLINE_SYSCALL (open, 3, (const char *) (name), (flags), (mode)) -#define open_not_cancel_2(name, flags) \ - INLINE_SYSCALL (open, 2, (const char *) (name), (flags)) - -/* Uncancelable openat. */ #if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt +extern int __open_nocancel (const char *, int, ...) attribute_hidden; +extern int __close_nocancel (int) attribute_hidden; +extern int __read_nocancel (int, void *, size_t) attribute_hidden; +extern int __write_nocancel (int, const void *, size_t) attribute_hidden; +extern pid_t __waitpid_nocancel (pid_t, int *, int) attribute_hidden; extern int __openat_nocancel (int fd, const char *fname, int oflag, - mode_t mode) attribute_hidden; -extern int __openat64_nocancel (int fd, const char *fname, int oflag, mode_t mode) attribute_hidden; +extern int __openat64_nocancel (int fd, const char *fname, int oflag, + mode_t mode) attribute_hidden; #else +# define __open_nocancel(name, ...) __open (name, __VA_ARGS__) +# define __close_nocancel(fd) __close (fd) +# define __read_nocancel(fd, buf, len) __read (fd, buf, len) +# define __write_nocancel(fd, buf, len) __write (fd, buf, len) +# define __waitpid_nocancel(pid, stat_loc, options) \ + __waitpid (pid, stat_loc, options) # define __openat_nocancel(fd, fname, oflag, mode) \ openat (fd, fname, oflag, mode) # define __openat64_nocancel(fd, fname, oflag, mode) \ openat64 (fd, fname, oflag, mode) #endif +/* Uncancelable open. */ +#define open_not_cancel(name, flags, mode) \ + __open_nocancel (name, flags, mode) +#define open_not_cancel_2(name, flags) \ + __open_nocancel (name, flags) + +/* Uncancelable openat. */ #define openat_not_cancel(fd, fname, oflag, mode) \ __openat_nocancel (fd, fname, oflag, mode) #define openat_not_cancel_3(fd, fname, oflag) \ @@ -50,18 +60,18 @@ extern int __openat64_nocancel (int fd, const char *fname, int oflag, /* Uncancelable close. */ #define close_not_cancel(fd) \ - INLINE_SYSCALL (close, 1, fd) + __close_nocancel (fd) #define close_not_cancel_no_status(fd) \ (void) ({ INTERNAL_SYSCALL_DECL (err); \ INTERNAL_SYSCALL (close, err, 1, (fd)); }) /* Uncancelable read. */ #define read_not_cancel(fd, buf, n) \ - INLINE_SYSCALL (read, 3, (fd), (buf), (n)) + __read_nocancel (fd, buf, n) /* Uncancelable write. */ #define write_not_cancel(fd, buf, n) \ - INLINE_SYSCALL (write, 3, (fd), (buf), (n)) + __write_nocancel (fd, buf, n) /* Uncancelable writev. */ #define writev_not_cancel_no_status(fd, iov, n) \ @@ -75,29 +85,19 @@ extern int __openat64_nocancel (int fd, const char *fname, int oflag, /* Uncancelable waitpid. */ #ifdef __NR_waitpid # define waitpid_not_cancel(pid, stat_loc, options) \ - INLINE_SYSCALL (waitpid, 3, pid, stat_loc, options) + __waitpid_nocancel (pid, stat_loc, options) #else # define waitpid_not_cancel(pid, stat_loc, options) \ INLINE_SYSCALL (wait4, 4, pid, stat_loc, options, NULL) #endif /* Uncancelable pause. */ -#ifdef __NR_pause -# define pause_not_cancel() \ - INLINE_SYSCALL (pause, 0) -#else -# define pause_not_cancel() \ +#define pause_not_cancel() \ __pause_nocancel () -#endif /* Uncancelable nanosleep. */ -#ifdef __NR_nanosleep -# define nanosleep_not_cancel(requested_time, remaining) \ - INLINE_SYSCALL (nanosleep, 2, requested_time, remaining) -#else -# define nanosleep_not_cancel(requested_time, remaining) \ +#define nanosleep_not_cancel(requested_time, remaining) \ __nanosleep_nocancel (requested_time, remaining) -#endif /* Uncancelable sigsuspend. */ #define sigsuspend_not_cancel(set) \ |