This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 49/58] Hide internal __nis_hash function [BZ #18822]
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: libc-alpha at sourceware dot org
- Date: Fri, 1 Sep 2017 11:00:20 -0700
- Subject: [PATCH 49/58] Hide internal __nis_hash function [BZ #18822]
- Authentication-results: sourceware.org; auth=none
- References: <20170901180029.9527-1-hjl.tools@gmail.com>
Hide internal __nis_hash function to allow direct access within libc.so
and libc.a without using GOT nor PLT.
[BZ #18822]
* nscd/nscd_helper.c (__nis_hash): New prototype.
---
nscd/nscd_helper.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/nscd/nscd_helper.c b/nscd/nscd_helper.c
index a225623f92..56e6d1421f 100644
--- a/nscd/nscd_helper.c
+++ b/nscd/nscd_helper.c
@@ -443,6 +443,11 @@ __nscd_get_map_ref (request_type type, const char *name,
#define MINIMUM_HASHENTRY_SIZE \
(offsetof (struct hashentry, dellist) + sizeof (int32_t))
+/* __nis_hash is defined in nis_hash.c which is included both libnsl
+ and libc. Since the one in libnsl is exported and the one in libc
+ is hidden, __nis_hash is marked as hidden where it is referenced,
+ not where it is defined. */
+extern __typeof (__nis_hash) __nis_hash attribute_hidden;
/* Don't return const struct datahead *, as eventhough the record
is normally constant, it can change arbitrarily during nscd
--
2.13.5