Mark internal getXXXbyYYY functions with attribute_hidden [BZ #18822]
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.
This commit is contained in:
parent
2e0a69097d
commit
9635ce6962
18
ChangeLog
18
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>
|
2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
[BZ #18822]
|
[BZ #18822]
|
||||||
|
|
|
@ -14,7 +14,8 @@ extern int __old_getaliasent_r (struct aliasent *__restrict __result_buf,
|
||||||
extern int __getaliasbyname_r (const char *__restrict __name,
|
extern int __getaliasbyname_r (const char *__restrict __name,
|
||||||
struct aliasent *__restrict __result_buf,
|
struct aliasent *__restrict __result_buf,
|
||||||
char *__restrict __buffer, size_t __buflen,
|
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,
|
extern int __old_getaliasbyname_r (const char *__restrict __name,
|
||||||
struct aliasent *__restrict __result_buf,
|
struct aliasent *__restrict __result_buf,
|
||||||
char *__restrict __buffer, size_t __buflen,
|
char *__restrict __buffer, size_t __buflen,
|
||||||
|
|
|
@ -43,7 +43,8 @@ extern int __gethostbyaddr_r (const void *__restrict __addr,
|
||||||
struct hostent *__restrict __result_buf,
|
struct hostent *__restrict __result_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
char *__restrict __buf, size_t __buflen,
|
||||||
struct hostent **__restrict __result,
|
struct hostent **__restrict __result,
|
||||||
int *__restrict __h_errnop);
|
int *__restrict __h_errnop)
|
||||||
|
attribute_hidden;
|
||||||
extern int __old_gethostbyaddr_r (const void *__restrict __addr,
|
extern int __old_gethostbyaddr_r (const void *__restrict __addr,
|
||||||
socklen_t __len, int __type,
|
socklen_t __len, int __type,
|
||||||
struct hostent *__restrict __result_buf,
|
struct hostent *__restrict __result_buf,
|
||||||
|
@ -63,7 +64,8 @@ extern int __gethostbyname_r (const char *__restrict __name,
|
||||||
struct hostent *__restrict __result_buf,
|
struct hostent *__restrict __result_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
char *__restrict __buf, size_t __buflen,
|
||||||
struct hostent **__restrict __result,
|
struct hostent **__restrict __result,
|
||||||
int *__restrict __h_errnop);
|
int *__restrict __h_errnop)
|
||||||
|
attribute_hidden;
|
||||||
extern int __old_gethostbyname_r (const char *__restrict __name,
|
extern int __old_gethostbyname_r (const char *__restrict __name,
|
||||||
struct hostent *__restrict __result_buf,
|
struct hostent *__restrict __result_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
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,
|
struct hostent *__restrict __result_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
char *__restrict __buf, size_t __buflen,
|
||||||
struct hostent **__restrict __result,
|
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,
|
extern int __old_gethostbyname2_r (const char *__restrict __name, int __af,
|
||||||
struct hostent *__restrict __result_buf,
|
struct hostent *__restrict __result_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
char *__restrict __buf, size_t __buflen,
|
||||||
|
@ -101,7 +104,8 @@ extern int __getnetbyaddr_r (uint32_t __net, int __type,
|
||||||
struct netent *__restrict __result_buf,
|
struct netent *__restrict __result_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
char *__restrict __buf, size_t __buflen,
|
||||||
struct netent **__restrict __result,
|
struct netent **__restrict __result,
|
||||||
int *__restrict __h_errnop);
|
int *__restrict __h_errnop)
|
||||||
|
attribute_hidden;
|
||||||
extern int __old_getnetbyaddr_r (uint32_t __net, int __type,
|
extern int __old_getnetbyaddr_r (uint32_t __net, int __type,
|
||||||
struct netent *__restrict __result_buf,
|
struct netent *__restrict __result_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
char *__restrict __buf, size_t __buflen,
|
||||||
|
@ -112,7 +116,8 @@ extern int __getnetbyname_r (const char *__restrict __name,
|
||||||
struct netent *__restrict __result_buf,
|
struct netent *__restrict __result_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
char *__restrict __buf, size_t __buflen,
|
||||||
struct netent **__restrict __result,
|
struct netent **__restrict __result,
|
||||||
int *__restrict __h_errnop);
|
int *__restrict __h_errnop)
|
||||||
|
attribute_hidden;
|
||||||
extern int __old_getnetbyname_r (const char *__restrict __name,
|
extern int __old_getnetbyname_r (const char *__restrict __name,
|
||||||
struct netent *__restrict __result_buf,
|
struct netent *__restrict __result_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
char *__restrict __buf, size_t __buflen,
|
||||||
|
@ -131,7 +136,8 @@ extern int __getservbyname_r (const char *__restrict __name,
|
||||||
const char *__restrict __proto,
|
const char *__restrict __proto,
|
||||||
struct servent *__restrict __result_buf,
|
struct servent *__restrict __result_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
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,
|
extern int __old_getservbyname_r (const char *__restrict __name,
|
||||||
const char *__restrict __proto,
|
const char *__restrict __proto,
|
||||||
struct servent *__restrict __result_buf,
|
struct servent *__restrict __result_buf,
|
||||||
|
@ -142,7 +148,8 @@ extern int __getservbyport_r (int __port,
|
||||||
const char *__restrict __proto,
|
const char *__restrict __proto,
|
||||||
struct servent *__restrict __result_buf,
|
struct servent *__restrict __result_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
char *__restrict __buf, size_t __buflen,
|
||||||
struct servent **__restrict __result);
|
struct servent **__restrict __result)
|
||||||
|
attribute_hidden;
|
||||||
extern int __old_getservbyport_r (int __port,
|
extern int __old_getservbyport_r (int __port,
|
||||||
const char *__restrict __proto,
|
const char *__restrict __proto,
|
||||||
struct servent *__restrict __result_buf,
|
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,
|
extern int __getprotobyname_r (const char *__restrict __name,
|
||||||
struct protoent *__restrict __result_buf,
|
struct protoent *__restrict __result_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
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,
|
extern int __old_getprotobyname_r (const char *__restrict __name,
|
||||||
struct protoent *__restrict __result_buf,
|
struct protoent *__restrict __result_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
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,
|
extern int __getprotobynumber_r (int __proto,
|
||||||
struct protoent *__restrict __res_buf,
|
struct protoent *__restrict __res_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
char *__restrict __buf, size_t __buflen,
|
||||||
struct protoent **__restrict __result);
|
struct protoent **__restrict __result)
|
||||||
|
attribute_hidden;
|
||||||
extern int __old_getprotobynumber_r (int __proto,
|
extern int __old_getprotobynumber_r (int __proto,
|
||||||
struct protoent *__restrict __res_buf,
|
struct protoent *__restrict __res_buf,
|
||||||
char *__restrict __buf, size_t __buflen,
|
char *__restrict __buf, size_t __buflen,
|
||||||
|
@ -178,7 +187,8 @@ extern int __old_getprotobynumber_r (int __proto,
|
||||||
extern int __getnetgrent_r (char **__restrict __hostp,
|
extern int __getnetgrent_r (char **__restrict __hostp,
|
||||||
char **__restrict __userp,
|
char **__restrict __userp,
|
||||||
char **__restrict __domainp,
|
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,
|
extern int ruserpass (const char *host, const char **aname,
|
||||||
const char **apass);
|
const char **apass);
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
extern int __getrpcbyname_r (const char *__name, struct rpcent *__result_buf,
|
extern int __getrpcbyname_r (const char *__name, struct rpcent *__result_buf,
|
||||||
char *__buffer, size_t __buflen,
|
char *__buffer, size_t __buflen,
|
||||||
struct rpcent **__result);
|
struct rpcent **__result) attribute_hidden;
|
||||||
extern int __old_getrpcbyname_r (const char *__name,
|
extern int __old_getrpcbyname_r (const char *__name,
|
||||||
struct rpcent *__result_buf,
|
struct rpcent *__result_buf,
|
||||||
char *__buffer, size_t __buflen,
|
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,
|
extern int __getrpcbynumber_r (int __number, struct rpcent *__result_buf,
|
||||||
char *__buffer, size_t __buflen,
|
char *__buffer, size_t __buflen,
|
||||||
struct rpcent **__result);
|
struct rpcent **__result) attribute_hidden;
|
||||||
extern int __old_getrpcbynumber_r (int __number, struct rpcent *__result_buf,
|
extern int __old_getrpcbynumber_r (int __number, struct rpcent *__result_buf,
|
||||||
char *__buffer, size_t __buflen,
|
char *__buffer, size_t __buflen,
|
||||||
struct rpcent **__result);
|
struct rpcent **__result);
|
||||||
|
|
|
@ -79,7 +79,8 @@
|
||||||
/* Prototype for reentrant version we use here. */
|
/* Prototype for reentrant version we use here. */
|
||||||
extern int INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf,
|
extern int INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf,
|
||||||
char *buffer, size_t buflen,
|
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. */
|
/* We need to protect the dynamic buffer handling. */
|
||||||
__libc_lock_define_initialized (static, lock);
|
__libc_lock_define_initialized (static, lock);
|
||||||
|
|
Loading…
Reference in New Issue