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

[BZ #18822]
* include/aliases.h (__getaliasbyname_r): Add attribute_hidden.
* include/netdb.h (__gethostbyaddr_r): Likewise.
(__gethostbyname_r): Likewise.
(__gethostbyname2_r): Likewise.
(__getnetbyaddr_r): Likewise.
(__getnetbyname_r): Likewise.
(__getservbyname_r): Likewise.
(__getservbyport_r): Likewise.
(__getprotobyname_r): Likewise.
(__getprotobynumber_r): Likewise.
(__getnetgrent_r): Likewise.
* include/rpc/netdb.h (__getrpcbyname_r): Likewise.
(__getrpcbynumber_r): Likewise.
* nss/getXXbyYY.c (INTERNAL (REENTRANT_NAME)): Likewise.

ChangeLog
include/aliases.h
include/netdb.h
include/rpc/netdb.h
nss/getXXbyYY.c

index 905e7e8e9f34d42f107d28f3e09b3d121a2d4b1b..98d572b8da003039e468102be96fc48f348c9f20 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       [BZ #18822]
+       * include/aliases.h (__getaliasbyname_r): Add attribute_hidden.
+       * include/netdb.h (__gethostbyaddr_r): Likewise.
+       (__gethostbyname_r): Likewise.
+       (__gethostbyname2_r): Likewise.
+       (__getnetbyaddr_r): Likewise.
+       (__getnetbyname_r): Likewise.
+       (__getservbyname_r): Likewise.
+       (__getservbyport_r): Likewise.
+       (__getprotobyname_r): Likewise.
+       (__getprotobynumber_r): Likewise.
+       (__getnetgrent_r): Likewise.
+       * include/rpc/netdb.h (__getrpcbyname_r): Likewise.
+       (__getrpcbynumber_r): Likewise.
+       * nss/getXXbyYY.c (INTERNAL (REENTRANT_NAME)): Likewise.
+
 2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
 
        [BZ #18822]
index ece69ebe433fbec52d547275aeff48e025bacb0c..11b81d4d2427641d31ae26a6a69c0f918f578430 100644 (file)
@@ -14,7 +14,8 @@ extern int __old_getaliasent_r (struct aliasent *__restrict __result_buf,
 extern int __getaliasbyname_r (const char *__restrict __name,
                               struct aliasent *__restrict __result_buf,
                               char *__restrict __buffer, size_t __buflen,
-                              struct aliasent **__restrict __result);
+                              struct aliasent **__restrict __result)
+     attribute_hidden;
 extern int __old_getaliasbyname_r (const char *__restrict __name,
                                   struct aliasent *__restrict __result_buf,
                                   char *__restrict __buffer, size_t __buflen,
index d425a645066afef175fe22b0f5c7d0a92780d7ef..e230b1f4fc72dc7b8570a3620467f71c6c869fba 100644 (file)
@@ -43,7 +43,8 @@ extern int __gethostbyaddr_r (const void *__restrict __addr,
                              struct hostent *__restrict __result_buf,
                              char *__restrict __buf, size_t __buflen,
                              struct hostent **__restrict __result,
-                             int *__restrict __h_errnop);
+                             int *__restrict __h_errnop)
+     attribute_hidden;
 extern int __old_gethostbyaddr_r (const void *__restrict __addr,
                                  socklen_t __len, int __type,
                                  struct hostent *__restrict __result_buf,
@@ -63,7 +64,8 @@ extern int __gethostbyname_r (const char *__restrict __name,
                              struct hostent *__restrict __result_buf,
                              char *__restrict __buf, size_t __buflen,
                              struct hostent **__restrict __result,
-                             int *__restrict __h_errnop);
+                             int *__restrict __h_errnop)
+     attribute_hidden;
 extern int __old_gethostbyname_r (const char *__restrict __name,
                                  struct hostent *__restrict __result_buf,
                                  char *__restrict __buf, size_t __buflen,
@@ -74,7 +76,8 @@ extern int __gethostbyname2_r (const char *__restrict __name, int __af,
                               struct hostent *__restrict __result_buf,
                               char *__restrict __buf, size_t __buflen,
                               struct hostent **__restrict __result,
-                              int *__restrict __h_errnop);
+                              int *__restrict __h_errnop)
+     attribute_hidden;
 extern int __old_gethostbyname2_r (const char *__restrict __name, int __af,
                                   struct hostent *__restrict __result_buf,
                                   char *__restrict __buf, size_t __buflen,
@@ -101,7 +104,8 @@ extern int __getnetbyaddr_r (uint32_t __net, int __type,
                             struct netent *__restrict __result_buf,
                             char *__restrict __buf, size_t __buflen,
                             struct netent **__restrict __result,
-                            int *__restrict __h_errnop);
+                            int *__restrict __h_errnop)
+     attribute_hidden;
 extern int __old_getnetbyaddr_r (uint32_t __net, int __type,
                                 struct netent *__restrict __result_buf,
                                 char *__restrict __buf, size_t __buflen,
@@ -112,7 +116,8 @@ extern int __getnetbyname_r (const char *__restrict __name,
                             struct netent *__restrict __result_buf,
                             char *__restrict __buf, size_t __buflen,
                             struct netent **__restrict __result,
-                            int *__restrict __h_errnop);
+                            int *__restrict __h_errnop)
+     attribute_hidden;
 extern int __old_getnetbyname_r (const char *__restrict __name,
                                 struct netent *__restrict __result_buf,
                                 char *__restrict __buf, size_t __buflen,
@@ -131,7 +136,8 @@ extern int __getservbyname_r (const char *__restrict __name,
                              const char *__restrict __proto,
                              struct servent *__restrict __result_buf,
                              char *__restrict __buf, size_t __buflen,
-                             struct servent **__restrict __result);
+                             struct servent **__restrict __result)
+     attribute_hidden;
 extern int __old_getservbyname_r (const char *__restrict __name,
                                  const char *__restrict __proto,
                                  struct servent *__restrict __result_buf,
@@ -142,7 +148,8 @@ extern int __getservbyport_r (int __port,
                              const char *__restrict __proto,
                              struct servent *__restrict __result_buf,
                              char *__restrict __buf, size_t __buflen,
-                             struct servent **__restrict __result);
+                             struct servent **__restrict __result)
+     attribute_hidden;
 extern int __old_getservbyport_r (int __port,
                                  const char *__restrict __proto,
                                  struct servent *__restrict __result_buf,
@@ -160,7 +167,8 @@ extern int __old_getprotoent_r (struct protoent *__restrict __result_buf,
 extern int __getprotobyname_r (const char *__restrict __name,
                               struct protoent *__restrict __result_buf,
                               char *__restrict __buf, size_t __buflen,
-                              struct protoent **__restrict __result);
+                              struct protoent **__restrict __result)
+     attribute_hidden;
 extern int __old_getprotobyname_r (const char *__restrict __name,
                                   struct protoent *__restrict __result_buf,
                                   char *__restrict __buf, size_t __buflen,
@@ -169,7 +177,8 @@ extern int __old_getprotobyname_r (const char *__restrict __name,
 extern int __getprotobynumber_r (int __proto,
                                 struct protoent *__restrict __res_buf,
                                 char *__restrict __buf, size_t __buflen,
-                                struct protoent **__restrict __result);
+                                struct protoent **__restrict __result)
+     attribute_hidden;
 extern int __old_getprotobynumber_r (int __proto,
                                     struct protoent *__restrict __res_buf,
                                     char *__restrict __buf, size_t __buflen,
@@ -178,7 +187,8 @@ extern int __old_getprotobynumber_r (int __proto,
 extern int __getnetgrent_r (char **__restrict __hostp,
                            char **__restrict __userp,
                            char **__restrict __domainp,
-                           char *__restrict __buffer, size_t __buflen);
+                           char *__restrict __buffer, size_t __buflen)
+     attribute_hidden;
 
 extern int ruserpass (const char *host, const char **aname,
                      const char **apass);
index 9b84668be7ff2c14046da7fe9822f6897366f295..eb75f3f58c1667968f789b17c9a84d26ed2fc980 100644 (file)
@@ -5,7 +5,7 @@
 
 extern int __getrpcbyname_r (const char *__name, struct rpcent *__result_buf,
                             char *__buffer, size_t __buflen,
-                            struct rpcent **__result);
+                            struct rpcent **__result) attribute_hidden;
 extern int __old_getrpcbyname_r (const char *__name,
                                 struct rpcent *__result_buf,
                                 char *__buffer, size_t __buflen,
@@ -13,7 +13,7 @@ extern int __old_getrpcbyname_r (const char *__name,
 
 extern int __getrpcbynumber_r (int __number, struct rpcent *__result_buf,
                               char *__buffer, size_t __buflen,
-                              struct rpcent **__result);
+                              struct rpcent **__result) attribute_hidden;
 extern int __old_getrpcbynumber_r (int __number, struct rpcent *__result_buf,
                                   char *__buffer, size_t __buflen,
                                   struct rpcent **__result);
index a439b816f70aa2e71007b28668d27c9657e460b0..f420b34fb8636cd14a4016c01e97dada082995f7 100644 (file)
@@ -79,7 +79,8 @@
 /* Prototype for reentrant version we use here.  */
 extern int INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf,
                                      char *buffer, size_t buflen,
-                                     LOOKUP_TYPE **result H_ERRNO_PARM);
+                                     LOOKUP_TYPE **result H_ERRNO_PARM)
+     attribute_hidden;
 
 /* We need to protect the dynamic buffer handling.  */
 __libc_lock_define_initialized (static, lock);