This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]