From: H.J. Lu Date: Mon, 2 Oct 2017 00:49:47 +0000 (-0700) Subject: Hide internal __nis_hash function [BZ #18822] X-Git-Tag: glibc-2.27~782 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=36e7ae1e9d3b6a434e119aab4d10176aaaddf0c3;p=thirdparty%2Fglibc.git Hide internal __nis_hash function [BZ #18822] 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. --- diff --git a/ChangeLog b/ChangeLog index dc58bf19605..0563a751d50 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2017-10-01 H.J. Lu + + [BZ #18822] + * nscd/nscd_helper.c (__nis_hash): New prototype. + 2017-10-01 H.J. Lu [BZ #18822] diff --git a/nscd/nscd_helper.c b/nscd/nscd_helper.c index a225623f927..56e6d1421fd 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