This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.26-252-g102dde8
- From: azanella at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 31 Aug 2017 19:13:41 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.26-252-g102dde8
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 102dde842ae75ddee71a413fc8c4320894e159de (commit)
from 9eee633b68649c94b2404f65d5c9a00c3ed1f068 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=102dde842ae75ddee71a413fc8c4320894e159de
commit 102dde842ae75ddee71a413fc8c4320894e159de
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Thu Aug 3 14:29:06 2017 -0300
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.
diff --git a/ChangeLog b/ChangeLog
index e0473dc..a934c69 100644
--- a/ChangeLog
+++ b/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
diff --git a/sysdeps/generic/not-cancel.h b/sysdeps/generic/not-cancel.h
index e5a850c..41ce1fc 100644
--- a/sysdeps/generic/not-cancel.h
+++ b/sysdeps/generic/not-cancel.h
@@ -44,5 +44,3 @@
__nanosleep (requested_time, remaining)
#define __fcntl_nocancel(fd, cmd, ...) \
__fcntl (fd, cmd, __VA_ARGS__)
-
-#define NO_CANCELLATION 1
diff --git a/sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h b/sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h
index 80732f5..27741a3 100644
--- a/sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h
@@ -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
diff --git a/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h b/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h
index 72e6c0c..561cb67 100644
--- a/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h
@@ -39,7 +39,6 @@ extern int __local_multiple_threads attribute_hidden;
#else
# define SINGLE_THREAD_P (1)
-# define NO_CANCELLATION 1
#endif
diff --git a/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h b/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
index 8930245..b227187 100644
--- a/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
@@ -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
diff --git a/sysdeps/unix/sysv/linux/fcntl.c b/sysdeps/unix/sysv/linux/fcntl.c
index 76e846c..cda6be7 100644
--- a/sysdeps/unix/sysv/linux/fcntl.c
+++ b/sysdeps/unix/sysv/linux/fcntl.c
@@ -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,9 +47,8 @@ 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, ...)
+__libc_fcntl (int fd, int cmd, ...)
{
va_list ap;
void *arg;
@@ -57,12 +57,18 @@ __fcntl_nocancel (int fd, int cmd, ...)
arg = va_arg (ap, void *);
va_end (ap);
+ cmd = FCNTL_ADJUST_CMD (cmd);
+
+ if (cmd == F_SETLKW || cmd == F_SETLKW64)
+ return SYSCALL_CANCEL (fcntl64, fd, cmd, (void *) arg);
+
return fcntl_common (fd, cmd, arg);
}
-#endif
+libc_hidden_def (__libc_fcntl)
+#if !IS_IN (rtld)
int
-__libc_fcntl (int fd, int cmd, ...)
+__fcntl_nocancel (int fd, int cmd, ...)
{
va_list ap;
void *arg;
@@ -71,14 +77,12 @@ __libc_fcntl (int fd, int cmd, ...)
arg = va_arg (ap, void *);
va_end (ap);
- cmd = FCNTL_ADJUST_CMD (cmd);
-
- if (cmd == F_SETLKW || cmd == F_SETLKW64)
- return SYSCALL_CANCEL (fcntl64, fd, cmd, (void *) arg);
-
return fcntl_common (fd, cmd, arg);
}
-libc_hidden_def (__libc_fcntl)
+#else
+strong_alias (__libc_fcntl, __fcntl_nocancel)
+#endif
+libc_hidden_def (__fcntl_nocancel)
weak_alias (__libc_fcntl, __fcntl)
libc_hidden_weak (__fcntl)
diff --git a/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h b/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h
index bf88ea5..8a85fc2 100644
--- a/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h
@@ -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) */
diff --git a/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h b/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
index 7ad851a..5c11983 100644
--- a/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
@@ -28,7 +28,6 @@
#else
# define SINGLE_THREAD_P (1)
-# define NO_CANCELLATION 1
#endif
diff --git a/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h b/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
index d3d02d4..fe5b35a 100644
--- a/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
@@ -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 \
diff --git a/sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h b/sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h
index cf96c10..b192a68 100644
--- a/sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h
@@ -27,7 +27,6 @@
#else
# define SINGLE_THREAD_P (1)
-# define NO_CANCELLATION (1)
#endif
diff --git a/sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h b/sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h
index 8655c9d..120ea06 100644
--- a/sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h
@@ -38,7 +38,6 @@ extern int __local_multiple_threads attribute_hidden;
#else
# define SINGLE_THREAD_P (1)
-# define NO_CANCELLATION (1)
#endif
diff --git a/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h b/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h
index 76d7ef4..31dbba0 100644
--- a/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h
@@ -28,7 +28,6 @@
#else
# define SINGLE_THREAD_P 1
-# define NO_CANCELLATION 1
#endif
diff --git a/sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h b/sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h
index 73b6236..4e7f536 100644
--- a/sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h
@@ -28,7 +28,6 @@
#else
# define SINGLE_THREAD_P 1
-# define NO_CANCELLATION 1
#endif
diff --git a/sysdeps/unix/sysv/linux/not-cancel.h b/sysdeps/unix/sysv/linux/not-cancel.h
index ae0b059..8f4f338 100644
--- a/sysdeps/unix/sysv/linux/not-cancel.h
+++ b/sysdeps/unix/sysv/linux/not-cancel.h
@@ -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 */
diff --git a/sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h b/sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h
index 532df31..59f752f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h
@@ -28,7 +28,6 @@
#else
# define SINGLE_THREAD_P (1)
-# define NO_CANCELLATION 1
#endif
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h b/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
index 459b742..bd606d5 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
@@ -28,7 +28,6 @@
#else
# define SINGLE_THREAD_P (1)
-# define NO_CANCELLATION 1
#endif
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
index 99adad1..2283b86 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
@@ -43,7 +43,6 @@ extern int __local_multiple_threads attribute_hidden;
#else
# define SINGLE_THREAD_P (1)
-# define NO_CANCELLATION 1
#endif
diff --git a/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h b/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
index 3f880bd..b2deb11 100644
--- a/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
@@ -27,7 +27,6 @@
#else
# define SINGLE_THREAD_P (1)
-# define NO_CANCELLATION 1
#endif
diff --git a/sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h b/sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h
index 412b31a..7fe0dee 100644
--- a/sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h
@@ -28,7 +28,6 @@
#else
# define SINGLE_THREAD_P (1)
-# define NO_CANCELLATION 1
#endif
diff --git a/sysdeps/unix/sysv/linux/tile/sysdep-cancel.h b/sysdeps/unix/sysv/linux/tile/sysdep-cancel.h
index 277709f..a606b0c 100644
--- a/sysdeps/unix/sysv/linux/tile/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/tile/sysdep-cancel.h
@@ -28,7 +28,6 @@
#else
# define SINGLE_THREAD_P 1
-# define NO_CANCELLATION 1
#endif
diff --git a/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h b/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h
index c1c0719..34f14c6 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h
@@ -43,7 +43,6 @@ extern int __local_multiple_threads attribute_hidden;
#else
# define SINGLE_THREAD_P (1)
-# define NO_CANCELLATION 1
#endif
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 42 ++++++++++++++++++++
sysdeps/generic/not-cancel.h | 2 -
sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/arm/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/fcntl.c | 24 +++++++-----
sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/i386/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/mips/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/not-cancel.h | 3 +-
sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h | 1 -
.../unix/sysv/linux/s390/s390-32/sysdep-cancel.h | 1 -
.../unix/sysv/linux/s390/s390-64/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/sh/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/tile/sysdep-cancel.h | 1 -
sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h | 1 -
21 files changed, 58 insertions(+), 30 deletions(-)
hooks/post-receive
--
GNU C Library master sources