about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-06-20 20:00:51 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-06-20 20:00:51 +0000
commita2a76afe9127dc7b3e7c526bdf0088c1cc17c33d (patch)
treef45e59439346627302c4af7892b5c415180ef08e
parent90e5dd482fc4708d559fbec9740104470ffdb9df (diff)
downloadglibc-a2a76afe9127dc7b3e7c526bdf0088c1cc17c33d.tar.gz
glibc-a2a76afe9127dc7b3e7c526bdf0088c1cc17c33d.tar.xz
glibc-a2a76afe9127dc7b3e7c526bdf0088c1cc17c33d.zip
Remove __ASSUME_ADJ_OFFSET_SS_READ.
This patch removes the __ASSUME_ADJ_OFFSET_SS_READ macro (and
conditionals on whether ADJ_OFFSET_SS_READ is defined), now it can be
unconditionally assumed to be true and ADJ_OFFSET_SS_READ can be
assumed to be defined.

Tested x86_64 that the disassembly of installed shared libraries is
unchanged by this patch.

	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_ADJ_OFFSET_SS_READ): Remove macro.
	* sysdeps/unix/sysv/linux/adjtime.c (ADJTIME)
	[ADJ_OFFSET_SS_READ]: Make code unconditional.
	(ADJTIME) [!ADJ_OFFSET_SS_READ]: Remove conditional code.
-rw-r--r--ChangeLog8
-rw-r--r--sysdeps/unix/sysv/linux/adjtime.c22
-rw-r--r--sysdeps/unix/sysv/linux/kernel-features.h3
3 files changed, 10 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog
index fbbd5d2689..a87a2d0d01 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2014-06-20  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/kernel-features.h
+	(__ASSUME_ADJ_OFFSET_SS_READ): Remove macro.
+	* sysdeps/unix/sysv/linux/adjtime.c (ADJTIME)
+	[ADJ_OFFSET_SS_READ]: Make code unconditional.
+	(ADJTIME) [!ADJ_OFFSET_SS_READ]: Remove conditional code.
+
 2014-06-20  Maciej W. Rozycki  <macro@codesourcery.com>
 
 	[BZ #17075]
diff --git a/sysdeps/unix/sysv/linux/adjtime.c b/sysdeps/unix/sysv/linux/adjtime.c
index be49911eeb..ef31cc5c61 100644
--- a/sysdeps/unix/sysv/linux/adjtime.c
+++ b/sysdeps/unix/sysv/linux/adjtime.c
@@ -72,28 +72,10 @@ ADJTIME (const struct TIMEVAL *itv, struct TIMEVAL *otv)
       tntx.modes = ADJ_OFFSET_SINGLESHOT;
     }
   else
-    {
-#ifdef ADJ_OFFSET_SS_READ
-      tntx.modes = ADJ_OFFSET_SS_READ;
-#else
-      tntx.modes = 0;
-#endif
-    }
+    tntx.modes = ADJ_OFFSET_SS_READ;
 
-#if defined ADJ_OFFSET_SS_READ && !defined __ASSUME_ADJ_OFFSET_SS_READ
- again:
-#endif
   if (__glibc_unlikely (ADJTIMEX (&tntx) < 0))
-    {
-#if defined ADJ_OFFSET_SS_READ && !defined __ASSUME_ADJ_OFFSET_SS_READ
-      if (itv && errno == EINVAL && tntx.modes == ADJ_OFFSET_SS_READ)
-	{
-	  tntx.modes = ADJ_OFFSET_SINGLESHOT;
-	  goto again;
-	}
-#endif
-      return -1;
-    }
+    return -1;
 
   if (otv)
     {
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index 026f89fbc5..d0673211ad 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -120,9 +120,6 @@
    2.6.23.  */
 #define __ASSUME_O_CLOEXEC	1
 
-/* Support for ADJ_OFFSET_SS_READ was added in 2.6.24.  */
-#define __ASSUME_ADJ_OFFSET_SS_READ	1
-
 /* Support for various CLOEXEC and NONBLOCK flags was added in
    2.6.27.  */
 #define __ASSUME_SOCK_CLOEXEC	1