This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Remove internal_function attribute from various functions

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):

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,
 _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)
 _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,
 _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)
 _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)
 _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 *
 _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 *
 _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 *
 _dl_allocate_tls (void *mem)
   return _dl_allocate_tls_init (mem == NULL
@@ -543,7 +541,6 @@ rtld_hidden_def (_dl_allocate_tls)
 _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)
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;
 __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;
 /* 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)
-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.  */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]