mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 11:20:07 +00:00
Remove NO_CANCELLATION macro
The NO_CANCELLATION macro is used currently on generic headers to define non cancellable syscalls and on Linux fcntl to implement the non cancellable variation. Former should be single-handled by not-cancel.h header and former could be simplified build both cancellable and non cancellable for default objects and alias the non-cancellable to default one for rtld ones (since Linux already support cancellation as default). This patch thus removes the NO_CANCELLATION macro and its usage. The generic non cancellable fcntl is route to internal fcntl. Checked on x86_64-linux-gnu and i686-linux-gnu. Also checked with a build again major ABIs. * sysdeps/generic/not-cancel.h (NO_CANCELLATION): Remove macro. * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (NO_CANCELLATION): Likewise * sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): Add hidden prototype. * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Define only for !IS_IN (rtld) and remove NO_CANCELLATION usage.
This commit is contained in:
parent
9eee633b68
commit
102dde842a
42
ChangeLog
42
ChangeLog
@ -1,3 +1,45 @@
|
||||
2017-08-31 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
|
||||
* sysdeps/generic/not-cancel.h (NO_CANCELLATION): Remove macro.
|
||||
* sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h
|
||||
(NO_CANCELLATION): Likewise.
|
||||
* sysdeps/unix/sysv/linux/mips/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
|
||||
(NO_CANCELLATION): Likewise.
|
||||
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
|
||||
(NO_CANCELLATION): Likewise.
|
||||
* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise
|
||||
* sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/tile/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (NO_CANCELLATION):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): Add
|
||||
hidden prototype.
|
||||
* sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Define only
|
||||
for !IS_IN (rtld) and remove NO_CANCELLATION usage.
|
||||
|
||||
2017-08-31 Steve Ellcey <sellcey@cavium.com>
|
||||
|
||||
* sysdeps/aarch64/dl-irel.h: (elf_ifunc_invoke): Change argument type
|
||||
|
@ -44,5 +44,3 @@
|
||||
__nanosleep (requested_time, remaining)
|
||||
#define __fcntl_nocancel(fd, cmd, ...) \
|
||||
__fcntl (fd, cmd, __VA_ARGS__)
|
||||
|
||||
#define NO_CANCELLATION 1
|
||||
|
@ -41,7 +41,6 @@ extern int __local_multiple_threads attribute_hidden;
|
||||
|
||||
/* For rtld, et cetera. */
|
||||
# define SINGLE_THREAD_P 1
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -39,7 +39,6 @@ extern int __local_multiple_threads attribute_hidden;
|
||||
#else
|
||||
|
||||
# define SINGLE_THREAD_P (1)
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -40,7 +40,6 @@ extern int __local_multiple_threads attribute_hidden;
|
||||
|
||||
/* For rtld, et cetera. */
|
||||
# define SINGLE_THREAD_P 1
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include <stdarg.h>
|
||||
#include <errno.h>
|
||||
#include <sysdep-cancel.h>
|
||||
#include <not-cancel.h>
|
||||
|
||||
#ifndef __NR_fcntl64
|
||||
# define __NR_fcntl64 __NR_fcntl
|
||||
@ -46,21 +47,6 @@ fcntl_common (int fd, int cmd, void *arg)
|
||||
return INLINE_SYSCALL_CALL (fcntl64, fd, cmd, (void *) arg);
|
||||
}
|
||||
|
||||
#ifndef NO_CANCELLATION
|
||||
int
|
||||
__fcntl_nocancel (int fd, int cmd, ...)
|
||||
{
|
||||
va_list ap;
|
||||
void *arg;
|
||||
|
||||
va_start (ap, cmd);
|
||||
arg = va_arg (ap, void *);
|
||||
va_end (ap);
|
||||
|
||||
return fcntl_common (fd, cmd, arg);
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
__libc_fcntl (int fd, int cmd, ...)
|
||||
{
|
||||
@ -80,6 +66,24 @@ __libc_fcntl (int fd, int cmd, ...)
|
||||
}
|
||||
libc_hidden_def (__libc_fcntl)
|
||||
|
||||
#if !IS_IN (rtld)
|
||||
int
|
||||
__fcntl_nocancel (int fd, int cmd, ...)
|
||||
{
|
||||
va_list ap;
|
||||
void *arg;
|
||||
|
||||
va_start (ap, cmd);
|
||||
arg = va_arg (ap, void *);
|
||||
va_end (ap);
|
||||
|
||||
return fcntl_common (fd, cmd, arg);
|
||||
}
|
||||
#else
|
||||
strong_alias (__libc_fcntl, __fcntl_nocancel)
|
||||
#endif
|
||||
libc_hidden_def (__fcntl_nocancel)
|
||||
|
||||
weak_alias (__libc_fcntl, __fcntl)
|
||||
libc_hidden_weak (__fcntl)
|
||||
weak_alias (__libc_fcntl, fcntl)
|
||||
|
@ -38,7 +38,6 @@
|
||||
|
||||
/* This code should never be used but we define it anyhow. */
|
||||
# define SINGLE_THREAD_P (1)
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
/* IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt) */
|
||||
|
@ -28,7 +28,6 @@
|
||||
#else
|
||||
|
||||
# define SINGLE_THREAD_P (1)
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -25,7 +25,6 @@
|
||||
__glibc_likely (THREAD_GETMEM (THREAD_SELF, header.multiple_threads) == 0)
|
||||
#else
|
||||
# define SINGLE_THREAD_P (1)
|
||||
# define NO_CANCELLATION 1
|
||||
#endif
|
||||
|
||||
#define RTLD_SINGLE_THREAD_P \
|
||||
|
@ -27,7 +27,6 @@
|
||||
#else
|
||||
|
||||
# define SINGLE_THREAD_P (1)
|
||||
# define NO_CANCELLATION (1)
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -38,7 +38,6 @@ extern int __local_multiple_threads attribute_hidden;
|
||||
#else
|
||||
|
||||
# define SINGLE_THREAD_P (1)
|
||||
# define NO_CANCELLATION (1)
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -28,7 +28,6 @@
|
||||
#else
|
||||
|
||||
# define SINGLE_THREAD_P 1
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -28,7 +28,6 @@
|
||||
#else
|
||||
|
||||
# define SINGLE_THREAD_P 1
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -86,6 +86,7 @@ __typeof (__nanosleep) __nanosleep_nocancel;
|
||||
hidden_proto (__nanosleep_nocancel)
|
||||
|
||||
/* Uncancelable fcntl. */
|
||||
__typeof (__fcntl) __fcntl_nocancel attribute_hidden;
|
||||
__typeof (__fcntl) __fcntl_nocancel;
|
||||
libc_hidden_proto (__fcntl_nocancel)
|
||||
|
||||
#endif /* NOT_CANCEL_H */
|
||||
|
@ -28,7 +28,6 @@
|
||||
#else
|
||||
|
||||
# define SINGLE_THREAD_P (1)
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -28,7 +28,6 @@
|
||||
#else
|
||||
|
||||
# define SINGLE_THREAD_P (1)
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -43,7 +43,6 @@ extern int __local_multiple_threads attribute_hidden;
|
||||
#else
|
||||
|
||||
# define SINGLE_THREAD_P (1)
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -27,7 +27,6 @@
|
||||
#else
|
||||
|
||||
# define SINGLE_THREAD_P (1)
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -28,7 +28,6 @@
|
||||
#else
|
||||
|
||||
# define SINGLE_THREAD_P (1)
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -28,7 +28,6 @@
|
||||
#else
|
||||
|
||||
# define SINGLE_THREAD_P 1
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -43,7 +43,6 @@ extern int __local_multiple_threads attribute_hidden;
|
||||
#else
|
||||
|
||||
# define SINGLE_THREAD_P (1)
|
||||
# define NO_CANCELLATION 1
|
||||
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user