about summary refs log tree commit diff
diff options
context:
space:
mode:
-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)   \