From b22974092d09a61fdb371b28837175bb616e78cf Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Sun, 13 Aug 2017 21:10:56 +0200 Subject: NSS: Do not use internal_function for functions with hidden aliases Such functions are called across DSO boundaries and should not use a non-standard ABI. --- nss/XXX-lookup.c | 6 ++---- nss/getXXbyYY_r.c | 3 +-- nss/getXXent_r.c | 3 +-- nss/nsswitch.h | 3 +-- 4 files changed, 5 insertions(+), 10 deletions(-) (limited to 'nss') diff --git a/nss/XXX-lookup.c b/nss/XXX-lookup.c index 5a37fdae08..972a2102bf 100644 --- a/nss/XXX-lookup.c +++ b/nss/XXX-lookup.c @@ -56,12 +56,10 @@ service_user *DATABASE_NAME_SYMBOL attribute_hidden; extern int DB_LOOKUP_FCT (service_user **ni, const char *fct_name, - const char *fct2_name, void **fctp) - internal_function; + const char *fct2_name, void **fctp); libc_hidden_proto (DB_LOOKUP_FCT) int -internal_function DB_LOOKUP_FCT (service_user **ni, const char *fct_name, const char *fct2_name, void **fctp) { @@ -79,7 +77,7 @@ libc_hidden_def (DB_LOOKUP_FCT) #ifndef NO_COMPAT int -internal_function attribute_compat_text_section +attribute_compat_text_section DB_COMPAT_FCT (service_user **ni, const char *fct_name, void **fctp) { return DB_LOOKUP_FCT (ni, fct_name, NULL, fctp); diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c index bce80e05dd..c58481ef80 100644 --- a/nss/getXXbyYY_r.c +++ b/nss/getXXbyYY_r.c @@ -180,8 +180,7 @@ typedef enum nss_status (*lookup_function) (ADD_PARAMS, LOOKUP_TYPE *, char *, /* The lookup function for the first entry of this service. */ extern int DB_LOOKUP_FCT (service_user **nip, const char *name, - const char *name2, void **fctp) - internal_function; + const char *name2, void **fctp); libc_hidden_proto (DB_LOOKUP_FCT) diff --git a/nss/getXXent_r.c b/nss/getXXent_r.c index 2710c1cd51..66c38a5245 100644 --- a/nss/getXXent_r.c +++ b/nss/getXXent_r.c @@ -113,8 +113,7 @@ __libc_lock_define_initialized (static, lock) /* The lookup function for the first entry of this service. */ extern int DB_LOOKUP_FCT (service_user **nip, const char *name, - const char *name2, void **fctp) - internal_function; + const char *name2, void **fctp); libc_hidden_proto (DB_LOOKUP_FCT) void diff --git a/nss/nsswitch.h b/nss/nsswitch.h index bd3fbcb082..7da90130ec 100644 --- a/nss/nsswitch.h +++ b/nss/nsswitch.h @@ -168,8 +168,7 @@ extern void __nss_disable_nscd (void (*) (size_t, struct traced_file *)); typedef int (*db_lookup_function) (service_user **, const char *, const char *, - void **) - internal_function; + void **); typedef enum nss_status (*setent_function) (int); typedef enum nss_status (*endent_function) (void); typedef enum nss_status (*getent_function) (void *, char *, size_t, -- cgit v1.2.3