This is the mail archive of the libc-alpha@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]

Re: [PATCH 2/3] Mark internal nss symbols with attribute_hidden [BZ #18822]


* H. J. Lu:

>  extern service_user *__nss_group_database attribute_hidden;
> -service_user *__nss_initgroups_database;
> +service_user *__nss_initgroups_database attribute_hidden;
>  static bool use_initgroups_entry;

Please use DEFINE_DATABASE in nsswitch.h instead to generate all
__nss_*_database declarations (and remove the declaration from
nss/XXX-lookup.c).

> diff --git a/nss/getXXent.c b/nss/getXXent.c
> index aad374197f..31bd24b924 100644
> --- a/nss/getXXent.c
> +++ b/nss/getXXent.c
> @@ -56,7 +56,7 @@
>  /* Prototype of the reentrant version.  */
>  extern int INTERNAL (REENTRANT_GETNAME) (LOOKUP_TYPE *resbuf, char *buffer,
>  					 size_t buflen, LOOKUP_TYPE **result
> -					 H_ERRNO_PARM);
> +					 H_ERRNO_PARM) attribute_hidden;

Ideally, we should have a full complement of prototypes in include/,
so that we get some type safety here.  But until that, this part looks
fine.

>  /* Flags whether custom rules for database is set.  */
> -extern bool __nss_database_custom[NSS_DBSIDX_max];
> +extern bool __nss_database_custom[NSS_DBSIDX_max] attribute_hidden;

The entire declaration should probably be guarded with #ifndef
USE_NSCD because if the symbol is used from nscd, it would give wrong
results.


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