aboutsummaryrefslogtreecommitdiff
path: root/nss
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2012-10-30 14:14:33 -0400
committerChris Metcalf <cmetcalf@tilera.com>2012-10-30 14:14:33 -0400
commit017678433caae358b1782a2438b10e1ed510a8ad (patch)
treefd9915a47e3a2b0c65dd2981ea249a9f4b8ec7a8 /nss
parentd44a6f8b9995932b20a2ebbf4ca2fb1be673e49d (diff)
downloadglibc-017678433caae358b1782a2438b10e1ed510a8ad.zip
glibc-017678433caae358b1782a2438b10e1ed510a8ad.tar.gz
glibc-017678433caae358b1782a2438b10e1ed510a8ad.tar.bz2
Suppress incorrect link warnings for NSS symbols
When glibc is built with --enable-static-nss, the warning that using NSS symbols requires the nss shared objects to be present is no longer true, as those symbols are built into libc. Suppress the warning for those symbols by providing a new macro (nss_interface_function) for the NSS functions that is defined as static_link_warning in the normal case, and empty for static NSS.
Diffstat (limited to 'nss')
-rw-r--r--nss/getXXbyYY.c2
-rw-r--r--nss/getXXbyYY_r.c2
-rw-r--r--nss/getXXent.c2
-rw-r--r--nss/getXXent_r.c6
-rw-r--r--nss/nsswitch.h8
5 files changed, 14 insertions, 6 deletions
diff --git a/nss/getXXbyYY.c b/nss/getXXbyYY.c
index 336676a..c308a70 100644
--- a/nss/getXXbyYY.c
+++ b/nss/getXXbyYY.c
@@ -151,4 +151,4 @@ done:
return result;
}
-static_link_warning (FUNCTION_NAME)
+nss_interface_function (FUNCTION_NAME)
diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c
index f296ed1..8b3b61b 100644
--- a/nss/getXXbyYY_r.c
+++ b/nss/getXXbyYY_r.c
@@ -349,4 +349,4 @@ do_default_symbol_version (NEW (REENTRANT_NAME),
REENTRANT_NAME, GLIBC_2_1_2);
#endif
-static_link_warning (REENTRANT_NAME)
+nss_interface_function (REENTRANT_NAME)
diff --git a/nss/getXXent.c b/nss/getXXent.c
index 008851e..152798f 100644
--- a/nss/getXXent.c
+++ b/nss/getXXent.c
@@ -91,4 +91,4 @@ GETFUNC_NAME (void)
return result;
}
-static_link_warning (GETFUNC_NAME)
+nss_interface_function (GETFUNC_NAME)
diff --git a/nss/getXXent_r.c b/nss/getXXent_r.c
index f103605..6c52d27 100644
--- a/nss/getXXent_r.c
+++ b/nss/getXXent_r.c
@@ -207,6 +207,6 @@ do_default_symbol_version (NEW (REENTRANT_GETNAME),
REENTRANT_GETNAME, GLIBC_2_1_2);
#endif
-static_link_warning (SETFUNC_NAME)
-static_link_warning (ENDFUNC_NAME)
-static_link_warning (REENTRANT_GETNAME)
+nss_interface_function (SETFUNC_NAME)
+nss_interface_function (ENDFUNC_NAME)
+nss_interface_function (REENTRANT_GETNAME)
diff --git a/nss/nsswitch.h b/nss/nsswitch.h
index 047a9e5..0cf67ff 100644
--- a/nss/nsswitch.h
+++ b/nss/nsswitch.h
@@ -107,6 +107,14 @@ enum
/* Flags whether custom rules for database is set. */
extern bool __nss_database_custom[NSS_DBSIDX_max];
+/* Warning for NSS functions, which don't require dlopen if glibc
+ was built with --enable-static-nss. */
+#ifdef DO_STATIC_NSS
+# define nss_interface_function(name)
+#else
+# define nss_interface_function(name) static_link_warning (name)
+#endif
+
/* Interface functions for NSS. */