Mark internal nscd functions with attribute_hidden [BZ #18822]
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.
This commit is contained in:
parent
a2ca165230
commit
a4338d994f
21
ChangeLog
21
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]
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue