From bea1a4a77305cef90dac47b873bd9f01a6409c22 Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Thu, 11 May 2023 14:54:11 +0200 Subject: [PATCH] nss: Reconcile conditional declaration and use of `is_nscd' This change harmonizes the declaration and use of `is_nscd' and fixes a build failure with the "--enable-static-nss --enable-nscd" configuration options due to `is_nscd' being used undeclared. The purpose of `is_nscd' is to avoid (nss <-> nscd) recursion in dynamically linked libc (SHARED) that is nscd-aware (USE_NSCD), and so its declaration and use should be guarded by the definition of those macros. Reviewed-by: Carlos O'Donell --- nss/nss_module.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nss/nss_module.c b/nss/nss_module.c index 487e513def..0104f88974 100644 --- a/nss/nss_module.c +++ b/nss/nss_module.c @@ -53,7 +53,7 @@ static struct nss_module *nss_module_list; modules. */ __libc_lock_define (static, nss_module_list_lock); -#if defined USE_NSCD && (!defined DO_STATIC_NSS || defined SHARED) +#if defined SHARED && defined USE_NSCD /* Nonzero if this is the nscd process. */ static bool is_nscd; /* The callback passed to the init functions when nscd is used. */ @@ -147,7 +147,7 @@ module_load_builtin (struct nss_module *module, static bool module_load_nss_files (struct nss_module *module) { -#ifdef USE_NSCD +#if defined SHARED && defined USE_NSCD if (is_nscd) { void (*cb) (size_t, struct traced_file *) = nscd_init_cb; @@ -238,7 +238,7 @@ module_load (struct nss_module *module) PTR_MANGLE (pointers[idx]); } -# ifdef USE_NSCD +# if defined SHARED && defined USE_NSCD if (is_nscd) { /* Call the init function when nscd is used. */ -- 2.43.5