* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): If
authorjakub <jakub>
Mon, 30 May 2005 09:42:27 +0000 (09:42 +0000)
committerjakub <jakub>
Mon, 30 May 2005 09:42:27 +0000 (09:42 +0000)
GLRO(dl_osversion) has been already set to a value smaller than
_dl_discover_osversion (), don't overwrite it here.

ChangeLog
sysdeps/unix/sysv/linux/dl-osinfo.h

index e1023bf..6188d1c 100644 (file)
--- 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:
index befa804..03e1de7 100644 (file)
@@ -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)   \