Consolidate remaning non cancellable definitions

This patch consolidate the remaning non cancellable syscall definitions
on not-cancel.h header.  They are:

  * __fcntl_nocancel: Moved from fcntl.h to not-cancel.h.
  * __sigsuspend_nocancel: Removed since 988f991b50 it is not used or
    defined anymore.
  * __nanosleep_nocancel: Removed since 6f33fd046b it is defined on
    not-cancel.h.

Now all non-cancellable syscall definition are defined on not-cancel
(the only exceptions is the stdio symbol __fxprintf_nocancel which
uses non cancellable open and it is used on getopt implementation).

Checked on x86_64-linux-gnu and with build-many-glibc.py.

	* include/fcntl.h (__fcntl_nocancel): Remove definition.
	* include/signal.h (__sigsuspend_nocancel): Likewise.
	* include/time.h (__nanosleep_nocancel): Likewise.
	* sysdeps/generic/not-cancel.h (__fcntl_nocancel): New macro.
	* login/utmp_file.c: Include non cancellable syscall header.
	* sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): New
	prototype.
This commit is contained in:
Adhemerval Zanella 2017-08-23 10:40:14 -03:00
parent b9eaca8fa0
commit 2b0b9a1c85
7 changed files with 16 additions and 9 deletions

View File

@ -1,3 +1,13 @@
2017-08-23 Adhemerval Zanella <adhemerval.zanella@linaro.org>
* include/fcntl.h (__fcntl_nocancel): Remove definition.
* include/signal.h (__sigsuspend_nocancel): Likewise.
* include/time.h (__nanosleep_nocancel): Likewise.
* sysdeps/generic/not-cancel.h (__fcntl_nocancel): New macro.
* login/utmp_file.c: Include non cancellable syscall header.
* sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): New
prototype.
2017-08-23 H.J. Lu <hongjiu.lu@intel.com> 2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/fpu/svml_d_sincos8_core.S: Replace AVX512F * sysdeps/x86_64/fpu/svml_d_sincos8_core.S: Replace AVX512F

View File

@ -9,10 +9,7 @@ extern int __libc_open64 (const char *file, int oflag, ...);
extern int __libc_open (const char *file, int oflag, ...); extern int __libc_open (const char *file, int oflag, ...);
libc_hidden_proto (__libc_open) libc_hidden_proto (__libc_open)
extern int __libc_fcntl (int fd, int cmd, ...) attribute_hidden; extern int __libc_fcntl (int fd, int cmd, ...) attribute_hidden;
#ifndef NO_CANCELLATION
extern int __fcntl_nocancel (int fd, int cmd, ...) attribute_hidden;
libc_hidden_proto (__libc_fcntl) libc_hidden_proto (__libc_fcntl)
#endif
extern int __open (const char *__file, int __oflag, ...); extern int __open (const char *__file, int __oflag, ...);
libc_hidden_proto (__open) libc_hidden_proto (__open)
extern int __fcntl (int __fd, int __cmd, ...); extern int __fcntl (int __fd, int __cmd, ...);

View File

@ -26,9 +26,6 @@ extern int __sigprocmask (int __how,
const sigset_t *__set, sigset_t *__oset); const sigset_t *__set, sigset_t *__oset);
extern int __sigsuspend (const sigset_t *__set); extern int __sigsuspend (const sigset_t *__set);
libc_hidden_proto (__sigsuspend) libc_hidden_proto (__sigsuspend)
#ifndef NO_CANCELLATION
extern int __sigsuspend_nocancel (const sigset_t *__set) attribute_hidden;
#endif
extern int __sigwait (const sigset_t *__set, int *__sig); extern int __sigwait (const sigset_t *__set, int *__sig);
libc_hidden_proto (__sigwait) libc_hidden_proto (__sigwait)
extern int __sigwaitinfo (const sigset_t *__set, siginfo_t *__info); extern int __sigwaitinfo (const sigset_t *__set, siginfo_t *__info);

View File

@ -79,9 +79,6 @@ extern struct tm *__tz_convert (const time_t *timer, int use_localtime, struct t
extern int __nanosleep (const struct timespec *__requested_time, extern int __nanosleep (const struct timespec *__requested_time,
struct timespec *__remaining); struct timespec *__remaining);
hidden_proto (__nanosleep) hidden_proto (__nanosleep)
extern int __nanosleep_nocancel (const struct timespec *__requested_time,
struct timespec *__remaining)
attribute_hidden;
extern int __getdate_r (const char *__string, struct tm *__resbufp); extern int __getdate_r (const char *__string, struct tm *__resbufp);

View File

@ -29,6 +29,7 @@
#include <not-cancel.h> #include <not-cancel.h>
#include <kernel-features.h> #include <kernel-features.h>
#include <sigsetops.h> #include <sigsetops.h>
#include <not-cancel.h>
#include "utmp-private.h" #include "utmp-private.h"
#include "utmp-equal.h" #include "utmp-equal.h"

View File

@ -42,5 +42,7 @@
__pause () __pause ()
#define __nanosleep_nocancel(requested_time, remaining) \ #define __nanosleep_nocancel(requested_time, remaining) \
__nanosleep (requested_time, remaining) __nanosleep (requested_time, remaining)
#define __fcntl_nocancel(fd, cmd, ...) \
__fcntl (fd, cmd, __VA_ARGS__)
#define NO_CANCELLATION 1 #define NO_CANCELLATION 1

View File

@ -85,4 +85,7 @@ libc_hidden_proto (__pause_nocancel)
__typeof (__nanosleep) __nanosleep_nocancel; __typeof (__nanosleep) __nanosleep_nocancel;
hidden_proto (__nanosleep_nocancel) hidden_proto (__nanosleep_nocancel)
/* Uncancelable fcntl. */
__typeof (__fcntl) __fcntl_nocancel attribute_hidden;
#endif /* NOT_CANCEL_H */ #endif /* NOT_CANCEL_H */