[PATCH] nss: Remove effectively unused __nss_*_database variables

Florian Weimer fweimer@redhat.com
Mon Nov 17 17:43:36 GMT 2025


Use of this cache was removed in commit f8847d83e17774ed5e9c0f75ef693
("nsswitch: use new internal API (core)").

---
 nss/XXX-lookup.c | 10 +++-------
 nss/nsswitch.c   |  8 --------
 nss/nsswitch.h   |  7 +++----
 3 files changed, 6 insertions(+), 19 deletions(-)

diff --git a/nss/XXX-lookup.c b/nss/XXX-lookup.c
index 525b4d6304..6f5ea35d29 100644
--- a/nss/XXX-lookup.c
+++ b/nss/XXX-lookup.c
@@ -41,19 +41,15 @@
 #define CONCAT2_1(Pre, Name) CONCAT2_2 (Pre, Name)
 #define CONCAT2_2(Pre, Name) Pre##Name
 
-#define DATABASE_NAME_SYMBOL CONCAT3_1 (__nss_, DATABASE_NAME, _database)
-#define DATABASE_NAME_STRING STRINGIFY1 (DATABASE_NAME)
-#define STRINGIFY1(Name) STRINGIFY2 (Name)
-#define STRINGIFY2(Name) #Name
-
 int
 DB_LOOKUP_FCT (nss_action_list *ni, const char *fct_name, const char *fct2_name,
 	       void **fctp)
 {
-  if (! __nss_database_get (DATABASE_NAME_ID, &DATABASE_NAME_SYMBOL))
+  nss_action_list actions;
+  if (! __nss_database_get (DATABASE_NAME_ID, &actions))
     return -1;
 
-  *ni = DATABASE_NAME_SYMBOL;
+  *ni = actions;
 
   /* We want to know about it if we've somehow got a NULL action list;
    in the past, we had bad state if seccomp interfered with setup. */
diff --git a/nss/nsswitch.c b/nss/nsswitch.c
index d1bff6721d..b23bb4c2c1 100644
--- a/nss/nsswitch.c
+++ b/nss/nsswitch.c
@@ -42,14 +42,6 @@
 #include <sysdep.h>
 #include <config.h>
 
-/* Declare external database variables.  */
-#define DEFINE_DATABASE(name)						      \
-  nss_action_list __nss_##name##_database attribute_hidden;		      \
-  weak_extern (__nss_##name##_database)
-#include "databases.def"
-#undef DEFINE_DATABASE
-
-
 #ifdef USE_NSCD
 /* Flags whether custom rules for database is set.  */
 bool __nss_database_custom[NSS_DBSIDX_max];
diff --git a/nss/nsswitch.h b/nss/nsswitch.h
index fd37379377..9799627aa2 100644
--- a/nss/nsswitch.h
+++ b/nss/nsswitch.h
@@ -184,10 +184,9 @@ libc_hidden_proto (__nss_hostname_digits_dots)
 #define MAX_NR_ADDRS    48
 
 /* Prototypes for __nss_*_lookup2 functions.  */
-#define DEFINE_DATABASE(arg)						      \
-  extern struct nss_action *__nss_##arg##_database attribute_hidden;		      \
-  int __nss_##arg##_lookup2 (struct nss_action **, const char *,		      \
-			     const char *, void **);			      \
+#define DEFINE_DATABASE(arg)						\
+  int __nss_##arg##_lookup2 (struct nss_action **, const char *,	\
+			     const char *, void **);			\
   libc_hidden_proto (__nss_##arg##_lookup2)
 #include "databases.def"
 #undef DEFINE_DATABASE



More information about the Libc-alpha mailing list