]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Mark internal nscd functions with attribute_hidden [BZ #18822]
authorH.J. Lu <hjl.tools@gmail.com>
Sun, 1 Oct 2017 22:16:13 +0000 (15:16 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Sun, 1 Oct 2017 22:16:27 +0000 (15:16 -0700)
Mark internal nscd functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.

[BZ #18822]
* nscd/nscd-client.h (__nscd_get_map_ref): Add attribute_hidden.
(__nscd_unmap): Likewise.
(__nscd_cache_search): Likewise.
(__nscd_get_nl_timestamp): Likewise.
(__nscd_getpwnam_r): Likewise.
(__nscd_getpwuid_r): Likewise.
(__nscd_getgrnam_r): Likewise.
(__nscd_getgrgid_r): Likewise.
(__nscd_gethostbyname_r): Likewise.
(__nscd_gethostbyname2_r): Likewise.
(__nscd_gethostbyaddr_r): Likewise.
(__nscd_getai): Likewise.
(__nscd_getgrouplist): Likewise.
(__nscd_getservbyname_r): Likewise.
(__nscd_getservbyport_r): Likewise.
(__nscd_innetgr): Likewise.
(__nscd_setnetgrent): Likewise.

ChangeLog
nscd/nscd-client.h
nscd/nscd_proto.h

index d1ab72051feaee99fbec7f90b2fbecff59f42fdd..170d07972e92e067b1ba3133709b64b9b12ba4a9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       [BZ #18822]
+       * nscd/nscd-client.h (__nscd_get_map_ref): Add attribute_hidden.
+       (__nscd_unmap): Likewise.
+       (__nscd_cache_search): Likewise.
+       (__nscd_get_nl_timestamp): Likewise.
+       (__nscd_getpwnam_r): Likewise.
+       (__nscd_getpwuid_r): Likewise.
+       (__nscd_getgrnam_r): Likewise.
+       (__nscd_getgrgid_r): Likewise.
+       (__nscd_gethostbyname_r): Likewise.
+       (__nscd_gethostbyname2_r): Likewise.
+       (__nscd_gethostbyaddr_r): Likewise.
+       (__nscd_getai): Likewise.
+       (__nscd_getgrouplist): Likewise.
+       (__nscd_getservbyname_r): Likewise.
+       (__nscd_getservbyport_r): Likewise.
+       (__nscd_innetgr): Likewise.
+       (__nscd_setnetgrent): Likewise.
+
 2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
 
        [BZ #18822]
index 96170bff1b14a52787aaea2784a952c6b5fc1fc4..9155218e1bf8c2e48c9e17bad5e8b3ccb0f4eaad 100644 (file)
@@ -400,10 +400,12 @@ extern struct mapped_database *__nscd_get_mapping (request_type type,
 extern struct mapped_database *__nscd_get_map_ref (request_type type,
                                                   const char *name,
                                                   volatile struct locked_map_ptr *mapptr,
-                                                  int *gc_cyclep);
+                                                  int *gc_cyclep)
+  attribute_hidden;
 
 /* Unmap database.  */
-extern void __nscd_unmap (struct mapped_database *mapped);
+extern void __nscd_unmap (struct mapped_database *mapped)
+  attribute_hidden;
 
 /* Drop reference of mapping.  */
 static int
@@ -433,7 +435,8 @@ extern struct datahead *__nscd_cache_search (request_type type,
                                             const char *key,
                                             size_t keylen,
                                             const struct mapped_database *mapped,
-                                            size_t datalen);
+                                            size_t datalen)
+  attribute_hidden;
 
 /* Wrappers around read, readv and write that only read/write less than LEN
    bytes on error or EOF.  */
@@ -447,6 +450,7 @@ extern ssize_t sendfileall (int tofd, int fromfd, off_t off, size_t len)
   attribute_hidden;
 
 /* Get netlink timestamp counter from mapped area or zero.  */
-extern uint32_t __nscd_get_nl_timestamp (void);
+extern uint32_t __nscd_get_nl_timestamp (void)
+  attribute_hidden;
 
 #endif /* nscd.h */
index 7c61821e74ba0c3b43d7c6f0a64a1615af72a398..2ec08853499f4eb3ddd44a51914b32dc6b302485 100644 (file)
@@ -39,41 +39,49 @@ extern int __nss_not_use_nscd_netgroup attribute_hidden;
 
 extern int __nscd_getpwnam_r (const char *name, struct passwd *resultbuf,
                              char *buffer, size_t buflen,
-                             struct passwd **result);
+                             struct passwd **result) attribute_hidden;
 extern int __nscd_getpwuid_r (uid_t uid, struct passwd *resultbuf,
                              char *buffer,  size_t buflen,
-                             struct passwd **result);
+                             struct passwd **result) attribute_hidden;
 extern int __nscd_getgrnam_r (const char *name, struct group *resultbuf,
                              char *buffer, size_t buflen,
-                             struct group **result);
+                             struct group **result) attribute_hidden;
 extern int __nscd_getgrgid_r (gid_t gid, struct group *resultbuf,
                              char *buffer,  size_t buflen,
-                             struct group **result);
+                             struct group **result) attribute_hidden;
 extern int __nscd_gethostbyname_r (const char *name,
                                   struct hostent *resultbuf,
                                   char *buffer, size_t buflen,
-                                  struct hostent **result, int *h_errnop);
+                                  struct hostent **result, int *h_errnop)
+     attribute_hidden;
 extern int __nscd_gethostbyname2_r (const char *name, int af,
                                    struct hostent *resultbuf,
                                    char *buffer, size_t buflen,
-                                   struct hostent **result, int *h_errnop);
+                                   struct hostent **result, int *h_errnop)
+     attribute_hidden;
 extern int __nscd_gethostbyaddr_r (const void *addr, socklen_t len, int type,
                                   struct hostent *resultbuf,
                                   char *buffer, size_t buflen,
-                                  struct hostent **result, int *h_errnop);
+                                  struct hostent **result, int *h_errnop)
+     attribute_hidden;
 extern int __nscd_getai (const char *key, struct nscd_ai_result **result,
-                        int *h_errnop);
+                        int *h_errnop) attribute_hidden;
 extern int __nscd_getgrouplist (const char *user, gid_t group, long int *size,
-                               gid_t **groupsp, long int limit);
+                               gid_t **groupsp, long int limit)
+     attribute_hidden;
 extern int __nscd_getservbyname_r (const char *name, const char *proto,
                                   struct servent *result_buf, char *buf,
-                                  size_t buflen, struct servent **result);
+                                  size_t buflen, struct servent **result)
+     attribute_hidden;
 extern int __nscd_getservbyport_r (int port, const char *proto,
                                   struct servent *result_buf, char *buf,
-                                  size_t buflen, struct servent **result);
+                                  size_t buflen, struct servent **result)
+     attribute_hidden;
 extern int __nscd_innetgr (const char *netgroup, const char *host,
-                          const char *user, const char *domain);
-extern int __nscd_setnetgrent (const char *group, struct __netgrent *datap);
+                          const char *user, const char *domain)
+     attribute_hidden;
+extern int __nscd_setnetgrent (const char *group, struct __netgrent *datap)
+     attribute_hidden;
 
 
 #endif /* _NSCD_PROTO_H */