From patchwork Sat Aug 12 12:05:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 22116 Received: (qmail 118949 invoked by alias); 12 Aug 2017 12:05:27 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 118844 invoked by uid 89); 12 Aug 2017 12:05:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mx1.redhat.com DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com CFC912DD144 Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=fweimer@redhat.com Date: Sat, 12 Aug 2017 14:05:21 +0200 To: libc-alpha@sourceware.org Subject: [PATCH] ld.so: Remove internal_function attribute from various functions User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Message-Id: <20170812120521.C4FF34027587E@oldenburg.str.redhat.com> From: fweimer@redhat.com (Florian Weimer) These functions are invoked from other DSOs and should therefore use the standard calling convention. 2017-08-12 Florian Weimer * elf/dl-addr.c (_dl_addr): Remove internal_function. * elf/dl-error-skeleton.c (_dl_signal_error, _dl_signal_cerror) (_dl_catch_error, _dl_receive_error): Likewise. * elf/dl-open.c (_dl_find_dso_for_object): Likewise. * elf/dl-tls.c (_dl_allocate_tls_init, _dl_allocate_tls) (_dl_deallocate_tls): Likewise. * include/dlfcn.h (_dl_addr): Likewise. * sysdeps/generic/ldsodefs.h (_dl_signal_error, _dl_signal_cerror) (_dl_catch_error, _dl_receive_error, _dl_find_dso_for_object) (_dl_allocate_tls_init, _dl_allocate_tls, _dl_deallocate_tls): Likewise. diff --git a/elf/dl-addr.c b/elf/dl-addr.c index 1fac63d1a9..83e1b01b6d 100644 --- a/elf/dl-addr.c +++ b/elf/dl-addr.c @@ -121,7 +121,6 @@ determine_info (const ElfW(Addr) addr, struct link_map *match, Dl_info *info, int -internal_function _dl_addr (const void *address, Dl_info *info, struct link_map **mapp, const ElfW(Sym) **symbolp) { diff --git a/elf/dl-error-skeleton.c b/elf/dl-error-skeleton.c index 8de6c87abf..5b0fc8971b 100644 --- a/elf/dl-error-skeleton.c +++ b/elf/dl-error-skeleton.c @@ -104,7 +104,6 @@ _dl_signal_exception (int errcode, struct dl_exception *exception, libc_hidden_def (_dl_signal_exception) void -internal_function _dl_signal_error (int errcode, const char *objname, const char *occation, const char *errstring) { @@ -150,7 +149,6 @@ _dl_signal_cexception (int errcode, struct dl_exception *exception, } void -internal_function _dl_signal_cerror (int errcode, const char *objname, const char *occation, const char *errstring) { @@ -210,7 +208,6 @@ _dl_catch_exception (struct dl_exception *exception, libc_hidden_def (_dl_catch_exception) int -internal_function _dl_catch_error (const char **objname, const char **errstring, bool *mallocedp, void (*operate) (void *), void *args) { @@ -225,7 +222,6 @@ libc_hidden_def (_dl_catch_error) #if DL_ERROR_BOOTSTRAP void -internal_function _dl_receive_error (receiver_fct fct, void (*operate) (void *), void *args) { struct catch *old_catch = catch_hook; diff --git a/elf/dl-open.c b/elf/dl-open.c index 91a1d1a4f8..2d8948aab1 100644 --- a/elf/dl-open.c +++ b/elf/dl-open.c @@ -162,7 +162,6 @@ add_to_global (struct link_map *new) address ADDR. Returns the pointer to the link map of the matching DSO, or NULL if a match is not found. */ struct link_map * -internal_function _dl_find_dso_for_object (const ElfW(Addr) addr) { struct link_map *l; diff --git a/elf/dl-tls.c b/elf/dl-tls.c index 5aba33b3fa..ddf9fb26cc 100644 --- a/elf/dl-tls.c +++ b/elf/dl-tls.c @@ -439,7 +439,6 @@ _dl_resize_dtv (dtv_t *dtv) void * -internal_function _dl_allocate_tls_init (void *result) { if (result == NULL) @@ -532,7 +531,6 @@ _dl_allocate_tls_init (void *result) rtld_hidden_def (_dl_allocate_tls_init) void * -internal_function _dl_allocate_tls (void *mem) { return _dl_allocate_tls_init (mem == NULL @@ -543,7 +541,6 @@ rtld_hidden_def (_dl_allocate_tls) void -internal_function _dl_deallocate_tls (void *tcb, bool dealloc_tcb) { dtv_t *dtv = GET_DTV (tcb); diff --git a/include/dlfcn.h b/include/dlfcn.h index 2524292ebc..51cc1dfde8 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -43,8 +43,7 @@ libc_hidden_proto (__libc_dlclose) /* Locate shared object containing the given address. */ #ifdef ElfW extern int _dl_addr (const void *address, Dl_info *info, - struct link_map **mapp, const ElfW(Sym) **symbolp) - internal_function; + struct link_map **mapp, const ElfW(Sym) **symbolp); libc_hidden_proto (_dl_addr) #endif diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 55bb5e979e..3c92a296cd 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -782,7 +782,7 @@ libc_hidden_proto (_dl_signal_exception) /* Like _dl_signal_exception, but creates the exception first. */ extern void _dl_signal_error (int errcode, const char *object, const char *occasion, const char *errstring) - internal_function __attribute__ ((__noreturn__)); + __attribute__ ((__noreturn__)); libc_hidden_proto (_dl_signal_error) /* Like _dl_signal_exception, but may return when called in the @@ -806,7 +806,7 @@ _dl_signal_cexception (int errcode, struct dl_exception *exception, #if IS_IN (rtld) extern void _dl_signal_cerror (int errcode, const char *object, const char *occasion, const char *errstring) - internal_function attribute_hidden; + attribute_hidden; #else __attribute__ ((always_inline)) static inline void @@ -822,8 +822,7 @@ _dl_signal_cerror (int errcode, const char *object, function returns. ARGS is passed as argument to OPERATE. */ extern void _dl_receive_error (receiver_fct fct, void (*operate) (void *), - void *args) - internal_function attribute_hidden; + void *args) attribute_hidden; /* Call OPERATE, catching errors from `_dl_signal_error' and related functions. If there is no error, *ERRSTRING is set to null. If @@ -836,8 +835,7 @@ extern void _dl_receive_error (receiver_fct fct, void (*operate) (void *), the returned string is allocated using the libc's malloc. */ extern int _dl_catch_error (const char **objname, const char **errstring, bool *mallocedp, void (*operate) (void *), - void *args) - internal_function; + void *args); libc_hidden_proto (_dl_catch_error) /* Call OPERATE (ARGS). If no error occurs, set *EXCEPTION to zero. @@ -1077,7 +1075,7 @@ void __pthread_initialize_minimal (void) weak_function; #endif /* Allocate memory for static TLS block (unless MEM is nonzero) and dtv. */ -extern void *_dl_allocate_tls (void *mem) internal_function; +extern void *_dl_allocate_tls (void *mem); rtld_hidden_proto (_dl_allocate_tls) /* Get size and alignment requirements of the static TLS block. */ @@ -1091,11 +1089,11 @@ extern void _dl_allocate_static_tls (struct link_map *map) only used within rtld.c itself at startup time. */ extern void *_dl_allocate_tls_storage (void) internal_function attribute_hidden; -extern void *_dl_allocate_tls_init (void *) internal_function; +extern void *_dl_allocate_tls_init (void *); rtld_hidden_proto (_dl_allocate_tls_init) /* Deallocate memory allocated with _dl_allocate_tls. */ -extern void _dl_deallocate_tls (void *tcb, bool dealloc_tcb) internal_function; +extern void _dl_deallocate_tls (void *tcb, bool dealloc_tcb); rtld_hidden_proto (_dl_deallocate_tls) extern void _dl_nothread_init_static_tls (struct link_map *) attribute_hidden; @@ -1145,8 +1143,7 @@ extern int _dl_addr_inside_object (struct link_map *l, const ElfW(Addr) addr) extern void _dl_show_scope (struct link_map *new, int from) attribute_hidden; -extern struct link_map *_dl_find_dso_for_object (const ElfW(Addr) addr) - internal_function; +extern struct link_map *_dl_find_dso_for_object (const ElfW(Addr) addr); rtld_hidden_proto (_dl_find_dso_for_object) /* Initialization which is normally done by the dynamic linker. */