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>
|
2017-08-31 Steve Ellcey <sellcey@cavium.com>
|
||||||
|
|
||||||
* sysdeps/aarch64/dl-irel.h: (elf_ifunc_invoke): Change argument type
|
* sysdeps/aarch64/dl-irel.h: (elf_ifunc_invoke): Change argument type
|
||||||
|
@ -44,5 +44,3 @@
|
|||||||
__nanosleep (requested_time, remaining)
|
__nanosleep (requested_time, remaining)
|
||||||
#define __fcntl_nocancel(fd, cmd, ...) \
|
#define __fcntl_nocancel(fd, cmd, ...) \
|
||||||
__fcntl (fd, cmd, __VA_ARGS__)
|
__fcntl (fd, cmd, __VA_ARGS__)
|
||||||
|
|
||||||
#define NO_CANCELLATION 1
|
|
||||||
|
@ -41,7 +41,6 @@ extern int __local_multiple_threads attribute_hidden;
|
|||||||
|
|
||||||
/* For rtld, et cetera. */
|
/* For rtld, et cetera. */
|
||||||
# define SINGLE_THREAD_P 1
|
# define SINGLE_THREAD_P 1
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -39,7 +39,6 @@ extern int __local_multiple_threads attribute_hidden;
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
# define SINGLE_THREAD_P (1)
|
# define SINGLE_THREAD_P (1)
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -40,7 +40,6 @@ extern int __local_multiple_threads attribute_hidden;
|
|||||||
|
|
||||||
/* For rtld, et cetera. */
|
/* For rtld, et cetera. */
|
||||||
# define SINGLE_THREAD_P 1
|
# define SINGLE_THREAD_P 1
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <sysdep-cancel.h>
|
#include <sysdep-cancel.h>
|
||||||
|
#include <not-cancel.h>
|
||||||
|
|
||||||
#ifndef __NR_fcntl64
|
#ifndef __NR_fcntl64
|
||||||
# define __NR_fcntl64 __NR_fcntl
|
# 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);
|
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
|
int
|
||||||
__libc_fcntl (int fd, int cmd, ...)
|
__libc_fcntl (int fd, int cmd, ...)
|
||||||
{
|
{
|
||||||
@ -80,6 +66,24 @@ __libc_fcntl (int fd, int cmd, ...)
|
|||||||
}
|
}
|
||||||
libc_hidden_def (__libc_fcntl)
|
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)
|
weak_alias (__libc_fcntl, __fcntl)
|
||||||
libc_hidden_weak (__fcntl)
|
libc_hidden_weak (__fcntl)
|
||||||
weak_alias (__libc_fcntl, fcntl)
|
weak_alias (__libc_fcntl, fcntl)
|
||||||
|
@ -38,7 +38,6 @@
|
|||||||
|
|
||||||
/* This code should never be used but we define it anyhow. */
|
/* This code should never be used but we define it anyhow. */
|
||||||
# define SINGLE_THREAD_P (1)
|
# define SINGLE_THREAD_P (1)
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
/* IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt) */
|
/* IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt) */
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
# define SINGLE_THREAD_P (1)
|
# define SINGLE_THREAD_P (1)
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
__glibc_likely (THREAD_GETMEM (THREAD_SELF, header.multiple_threads) == 0)
|
__glibc_likely (THREAD_GETMEM (THREAD_SELF, header.multiple_threads) == 0)
|
||||||
#else
|
#else
|
||||||
# define SINGLE_THREAD_P (1)
|
# define SINGLE_THREAD_P (1)
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define RTLD_SINGLE_THREAD_P \
|
#define RTLD_SINGLE_THREAD_P \
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
# define SINGLE_THREAD_P (1)
|
# define SINGLE_THREAD_P (1)
|
||||||
# define NO_CANCELLATION (1)
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -38,7 +38,6 @@ extern int __local_multiple_threads attribute_hidden;
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
# define SINGLE_THREAD_P (1)
|
# define SINGLE_THREAD_P (1)
|
||||||
# define NO_CANCELLATION (1)
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
# define SINGLE_THREAD_P 1
|
# define SINGLE_THREAD_P 1
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
# define SINGLE_THREAD_P 1
|
# define SINGLE_THREAD_P 1
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -86,6 +86,7 @@ __typeof (__nanosleep) __nanosleep_nocancel;
|
|||||||
hidden_proto (__nanosleep_nocancel)
|
hidden_proto (__nanosleep_nocancel)
|
||||||
|
|
||||||
/* Uncancelable fcntl. */
|
/* Uncancelable fcntl. */
|
||||||
__typeof (__fcntl) __fcntl_nocancel attribute_hidden;
|
__typeof (__fcntl) __fcntl_nocancel;
|
||||||
|
libc_hidden_proto (__fcntl_nocancel)
|
||||||
|
|
||||||
#endif /* NOT_CANCEL_H */
|
#endif /* NOT_CANCEL_H */
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
# define SINGLE_THREAD_P (1)
|
# define SINGLE_THREAD_P (1)
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
# define SINGLE_THREAD_P (1)
|
# define SINGLE_THREAD_P (1)
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -43,7 +43,6 @@ extern int __local_multiple_threads attribute_hidden;
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
# define SINGLE_THREAD_P (1)
|
# define SINGLE_THREAD_P (1)
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
# define SINGLE_THREAD_P (1)
|
# define SINGLE_THREAD_P (1)
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
# define SINGLE_THREAD_P (1)
|
# define SINGLE_THREAD_P (1)
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
# define SINGLE_THREAD_P 1
|
# define SINGLE_THREAD_P 1
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -43,7 +43,6 @@ extern int __local_multiple_threads attribute_hidden;
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
# define SINGLE_THREAD_P (1)
|
# define SINGLE_THREAD_P (1)
|
||||||
# define NO_CANCELLATION 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user