about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-05-30 09:42:34 +0000
committerJakub Jelinek <jakub@redhat.com>2005-05-30 09:42:34 +0000
commit3aaf3c46d4c8bd6c5333af21247135e911e12f0d (patch)
treedc32603e31bc13038bdaa4932a8ba0c65b3f7df6
parent4be21db2dbe05899207299b10d03daf3d5700f9c (diff)
downloadglibc-3aaf3c46d4c8bd6c5333af21247135e911e12f0d.tar.gz
glibc-3aaf3c46d4c8bd6c5333af21247135e911e12f0d.tar.xz
glibc-3aaf3c46d4c8bd6c5333af21247135e911e12f0d.zip
* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): If
	GLRO(dl_osversion) has been already set to a value smaller than
	_dl_discover_osversion (), don't overwrite it here.
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/unix/sysv/linux/dl-osinfo.h4
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e1023bf0ac..6188d1cd31 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-05-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): If
+	GLRO(dl_osversion) has been already set to a value smaller than
+	_dl_discover_osversion (), don't overwrite it here.
+
 2005-05-23  Roland McGrath  <roland@redhat.com>
 
 	* sysdeps/arm, sysdeps/unix/arm, sysdeps/unix/sysv/linux/arm:
diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h
index befa804cb1..03e1de716c 100644
--- a/sysdeps/unix/sysv/linux/dl-osinfo.h
+++ b/sysdeps/unix/sysv/linux/dl-osinfo.h
@@ -145,7 +145,9 @@ _dl_discover_osversion (void)
     int version = _dl_discover_osversion ();				      \
     if (__builtin_expect (version >= 0, 1))				      \
       {									      \
-	GLRO(dl_osversion) = version;					      \
+	if (__builtin_expect (GLRO(dl_osversion) == 0, 1)		      \
+	    || GLRO(dl_osversion) > version)				      \
+	  GLRO(dl_osversion) = version;					      \
 									      \
 	/* Now we can test with the required version.  */		      \
 	if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION)   \