This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.15-562-g62470f6


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  62470f605ed931f88fb1993f4440d5bb02afa2b1 (commit)
      from  f23a86baf73e610843ac723fbdd59e7234e6d31d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=62470f605ed931f88fb1993f4440d5bb02afa2b1

commit 62470f605ed931f88fb1993f4440d5bb02afa2b1
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date:   Fri Apr 6 13:49:35 2012 -0700

    2012-04-06  Paul Pluzhnikov  <ppluzhnikov@google.com>
    
    	[BZ #13895]
    	* nss/nsswitch.c (nss_load_library, __nss_lookup_function): Avoid
    	extra indirection.
    	* nss/Makefile (tests-static, tests): Add tst-nss-static.
    	* nss/tst-nss-static.c: New.

diff --git a/ChangeLog b/ChangeLog
index 6a800cb..27980f5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-04-06  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+	[BZ #13895]
+	* nss/nsswitch.c (nss_load_library, __nss_lookup_function): Avoid
+	extra indirection.
+	* nss/Makefile (tests-static, tests): Add tst-nss-static.
+	* nss/tst-nss-static.c: New.
+
 2012-04-06  Robert Millan  <rmh@gnu.org>
 
 	[BZ #6486]
diff --git a/nss/Makefile b/nss/Makefile
index 54d50d0..a272ebe 100644
--- a/nss/Makefile
+++ b/nss/Makefile
@@ -75,6 +75,8 @@ libnss_db-inhibit-o	= $(filter-out .os,$(object-suffixes))
 ifeq ($(build-static-nss),yes)
 routines                += $(libnss_files-routines)
 static-only-routines    += $(libnss_files-routines)
+tests-static		= tst-nss-static
+tests			+= $(tests-static)
 endif
 
 include ../Rules
diff --git a/nss/nsswitch.c b/nss/nsswitch.c
index 7acb140..53ff5f8 100644
--- a/nss/nsswitch.c
+++ b/nss/nsswitch.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-1999,2001-2007,2009,2010,2011
+/* Copyright (C) 1996-2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -315,7 +315,7 @@ nss_load_library (service_user *ni)
   if (ni->library->lib_handle == NULL)
     {
       /* Load the shared library.  */
-      size_t shlen = (7 + strlen (ni->library->name) + 3
+      size_t shlen = (7 + strlen (ni->name) + 3
 		      + strlen (__nss_shlib_revision) + 1);
       int saved_errno = errno;
       char shlib_name[shlen];
@@ -323,7 +323,7 @@ nss_load_library (service_user *ni)
       /* Construct shared object name.  */
       __stpcpy (__stpcpy (__stpcpy (__stpcpy (shlib_name,
 					      "libnss_"),
-				    ni->library->name),
+				    ni->name),
 			  ".so"),
 		__nss_shlib_revision);
 
@@ -337,14 +337,14 @@ nss_load_library (service_user *ni)
       else if (is_nscd)
 	{
 	  /* Call the init function when nscd is used.  */
-	  size_t initlen = (5 + strlen (ni->library->name)
+	  size_t initlen = (5 + strlen (ni->name)
 			    + strlen ("_init") + 1);
 	  char init_name[initlen];
 
 	  /* Construct the init function name.  */
 	  __stpcpy (__stpcpy (__stpcpy (init_name,
 					"_nss_"),
-			      ni->library->name),
+			      ni->name),
 		    "_init");
 
 	  /* Find the optional init function.  */
@@ -428,13 +428,13 @@ __nss_lookup_function (service_user *ni, const char *fct_name)
 	  else
 	    {
 	      /* Get the desired function.  */
-	      size_t namlen = (5 + strlen (ni->library->name) + 1
+	      size_t namlen = (5 + strlen (ni->name) + 1
 			       + strlen (fct_name) + 1);
 	      char name[namlen];
 
 	      /* Construct the function name.  */
 	      __stpcpy (__stpcpy (__stpcpy (__stpcpy (name, "_nss_"),
-					    ni->library->name),
+					    ni->name),
 				  "_"),
 			fct_name);
 
@@ -457,12 +457,12 @@ __nss_lookup_function (service_user *ni, const char *fct_name)
 # include "function.def"
 		{ NULL, NULL }
 	      };
-	    size_t namlen = (5 + strlen (ni->library->name) + 1
+	    size_t namlen = (5 + strlen (ni->name) + 1
 			     + strlen (fct_name) + 1);
 	    char name[namlen];
 
 	    /* Construct the function name.  */
-	    __stpcpy (__stpcpy (__stpcpy (name, ni->library->name),
+	    __stpcpy (__stpcpy (__stpcpy (name, ni->name),
 				"_"),
 		      fct_name);
 
diff --git a/nss/tst-nss-static.c b/nss/tst-nss-static.c
new file mode 100644
index 0000000..98cf073
--- /dev/null
+++ b/nss/tst-nss-static.c
@@ -0,0 +1,15 @@
+/* glibc test for static NSS.  */
+#include <stdio.h>
+
+#define TEST_FUNCTION do_test ()
+static int
+do_test (void)
+{
+  struct passwd *pw;
+
+  pw = getpwuid(0);
+  return pw == NULL;
+}
+
+
+#include "../test-skeleton.c"

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                   |    8 ++++++++
 nss/Makefile                                |    2 ++
 nss/nsswitch.c                              |   18 +++++++++---------
 string/tst-strfry.c => nss/tst-nss-static.c |   12 ++++++------
 4 files changed, 25 insertions(+), 15 deletions(-)
 copy string/tst-strfry.c => nss/tst-nss-static.c (54%)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]