[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r12107 - in /fsf/trunk/libc: ChangeLog elf/ldconfig.c nis/nss_compat/compat-initgroups.c sysdeps/ieee754/ldbl-128/s_fmal.c



Author: eglibc
Date: Tue Nov 23 00:03:33 2010
New Revision: 12107

Log:
Import glibc-mainline for 2010-11-23

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/elf/ldconfig.c
    fsf/trunk/libc/nis/nss_compat/compat-initgroups.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_fmal.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Tue Nov 23 00:03:33 2010
@@ -1,3 +1,24 @@
+2010-10-20  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* sysdeps/ieee754/ldbl-128/s_fmal.c (__fmal): Fix up inline asm.
+
+2010-05-31  Petr Baudis  <pasky@xxxxxxx>
+
+	[BZ #11149]
+	* elf/ldconfig.c (main): Allow aux_cache_file open()ing to fail
+	silently even in the chroot mode.
+
+2010-11-22  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	* nis/nss_compat/compat-initgroups.c (internal_getgrent_r): Optimize
+	last patch a bit.  Pretty printing
+
+2010-05-31  Petr Baudis <pasky@xxxxxxx>
+
+	[BZ #10085]
+	* nis/nss_compat/compat-initgroups.c (internal_getgrent_r): Fix
+	initialization of skip_initgroups_dyn.
+
 2010-11-19  Ulrich Drepper  <drepper@xxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/i386/bits/mman.h: Define MAP_HUGETLB.

Modified: fsf/trunk/libc/elf/ldconfig.c
==============================================================================
--- fsf/trunk/libc/elf/ldconfig.c (original)
+++ fsf/trunk/libc/elf/ldconfig.c Tue Nov 23 00:03:33 2010
@@ -1359,14 +1359,9 @@
 
   const char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE;
   if (opt_chroot)
-    {
-      aux_cache_file = chroot_canon (opt_chroot, aux_cache_file);
-      if (aux_cache_file == NULL)
-	error (EXIT_FAILURE, errno, _("Can't open cache file %s\n"),
-	       _PATH_LDCONFIG_AUX_CACHE);
-    }
-
-  if (! opt_ignore_aux_cache)
+    aux_cache_file = chroot_canon (opt_chroot, aux_cache_file);
+
+  if (! opt_ignore_aux_cache && aux_cache_file)
     load_aux_cache (aux_cache_file);
   else
     init_aux_cache ();
@@ -1376,7 +1371,8 @@
   if (opt_build_cache)
     {
       save_cache (cache_file);
-      save_aux_cache (aux_cache_file);
+      if (aux_cache_file)
+        save_aux_cache (aux_cache_file);
     }
 
   return 0;

Modified: fsf/trunk/libc/nis/nss_compat/compat-initgroups.c
==============================================================================
--- fsf/trunk/libc/nis/nss_compat/compat-initgroups.c (original)
+++ fsf/trunk/libc/nis/nss_compat/compat-initgroups.c Tue Nov 23 00:03:33 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-2004, 2006, 2007, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2004,2006,2007,2009,2010 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@xxxxxxx>, 1998.
 
@@ -288,12 +288,12 @@
 	return NSS_STATUS_TRYAGAIN;
 
       /* For every gid in the list we get from the NSS module,
-         get the whole group entry. We need to do this, since we
-         need the group name to check if it is in the blacklist.
-         In worst case, this is as twice as slow as stepping with
-         getgrent_r through the whole group database. But for large
-         group databases this is faster, since the user can only be
-         in a limited number of groups.  */
+	 get the whole group entry. We need to do this, since we
+	 need the group name to check if it is in the blacklist.
+	 In worst case, this is as twice as slow as stepping with
+	 getgrent_r through the whole group database. But for large
+	 group databases this is faster, since the user can only be
+	 in a limited number of groups.  */
       if (nss_initgroups_dyn (user, group, &mystart, &mysize, &mygroups,
 			      limit, errnop) == NSS_STATUS_SUCCESS)
 	{
@@ -426,7 +426,7 @@
 	}
       while (*p == '\0' || *p == '#' ||	/* Ignore empty and comment lines. */
 	     /* Parse the line.  If it is invalid, loop to
-	        get the next line of the file to parse.  */
+		get the next line of the file to parse.  */
 	     !(parse_res = _nss_files_parse_grent (p, &grpbuf, data, buflen,
 						   errnop)));
 
@@ -474,17 +474,20 @@
 	  /* If the selected module does not support getgrent_r or
 	     initgroups_dyn, abort. We cannot find the needed group
 	     entries.  */
-	  if (nss_getgrent_r == NULL && nss_initgroups_dyn == NULL)
-	    return NSS_STATUS_UNAVAIL;
+	  if (nss_initgroups_dyn == NULL || nss_getgrgid_r == NULL)
+	    {
+	      if (nss_setgrent != NULL)
+		{
+		  nss_setgrent (1);
+		  ent->need_endgrent = true;
+		}
+	      ent->skip_initgroups_dyn = true;
+
+	      if (nss_getgrent_r == NULL)
+		return NSS_STATUS_UNAVAIL;
+	    }
 
 	  ent->files = false;
-
-	  if (nss_initgroups_dyn == NULL && nss_setgrent != NULL)
-	    {
-	      nss_setgrent (1);
-	      ent->need_endgrent = true;
-	    }
-	  ent->skip_initgroups_dyn = true;
 
 	  return getgrent_next_nss (ent, buffer, buflen, user, group,
 				    start, size, groupsp, limit, errnop);

Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_fmal.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_fmal.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_fmal.c Tue Nov 23 00:03:33 2010
@@ -176,7 +176,7 @@
 	u.ieee.mantissa3 |= fetestexcept (FE_INEXACT) != 0;
       v.d = a1 + u.d;
       /* Ensure the addition is not scheduled after fetestexcept call.  */
-      asm volatile ("" : "m" (v));
+      asm volatile ("" : : "m" (v));
       int j = fetestexcept (FE_INEXACT) != 0;
       feupdateenv (&env);
       /* Ensure the following computations are performed in default rounding