aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog75
-rw-r--r--elf/dl-addr-obj.c1
-rw-r--r--elf/dl-cache.c2
-rw-r--r--elf/dl-debug.c1
-rw-r--r--elf/dl-deps.c2
-rw-r--r--elf/dl-environ.c1
-rw-r--r--elf/dl-execstack.c1
-rw-r--r--elf/dl-fini.c1
-rw-r--r--elf/dl-hwcaps.c1
-rw-r--r--elf/dl-libc.c1
-rw-r--r--elf/dl-load.c5
-rw-r--r--elf/dl-lookup.c5
-rw-r--r--elf/dl-misc.c4
-rw-r--r--elf/dl-object.c2
-rw-r--r--elf/dl-profile.c1
-rw-r--r--elf/dl-reloc.c7
-rw-r--r--elf/dl-support.c2
-rw-r--r--elf/dl-sym.c2
-rw-r--r--elf/dl-sysdep.c2
-rw-r--r--elf/dl-tls.c6
-rw-r--r--elf/dl-version.c3
-rw-r--r--elf/dynamic-link.h3
-rw-r--r--elf/tlsdeschtab.h1
-rw-r--r--elf/tst-_dl_addr_inside_object.c3
-rw-r--r--sysdeps/aarch64/dl-tlsdesc.h3
-rw-r--r--sysdeps/aarch64/tlsdesc.c1
-rw-r--r--sysdeps/arm/dl-lookupcfg.h2
-rw-r--r--sysdeps/arm/dl-machine.h2
-rw-r--r--sysdeps/arm/tlsdesc.c1
-rw-r--r--sysdeps/generic/dl-cache.h3
-rw-r--r--sysdeps/generic/ldsodefs.h98
-rw-r--r--sysdeps/i386/dl-lookupcfg.h3
-rw-r--r--sysdeps/i386/dl-tlsdesc.h3
-rw-r--r--sysdeps/i386/tlsdesc.c1
-rw-r--r--sysdeps/mach/hurd/dl-sysdep.c2
-rw-r--r--sysdeps/nios2/dl-init.c1
-rw-r--r--sysdeps/tile/dl-lookupcfg.h2
-rw-r--r--sysdeps/tile/dl-machine.h2
-rw-r--r--sysdeps/tile/dl-runtime.c4
-rw-r--r--sysdeps/unix/sysv/linux/dl-vdso.c1
-rw-r--r--sysdeps/unix/sysv/linux/dl-vdso.h2
-rw-r--r--sysdeps/x86_64/dl-lookupcfg.h3
-rw-r--r--sysdeps/x86_64/dl-tlsdesc.h2
-rw-r--r--sysdeps/x86_64/tlsdesc.c1
44 files changed, 130 insertions, 139 deletions
diff --git a/ChangeLog b/ChangeLog
index 0ad07472a7..befd2ed2b1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,80 @@
2017-08-31 Florian Weimer <fweimer@redhat.com>
+ * elf/dl-addr-obj.c (_dl_addr_inside_object): Remove
+ internal_function.
+ * elf/dl-cache.c (_dl_cache_libcmp, _dl_load_cache_lookup):
+ Likewise.
+ * elf/dl-debug.c (_dl_debug_initialize): Likewise.
+ * elf/dl-deps.c (_dl_build_local_scope, _dl_map_object_deps): Likewise.
+ * elf/dl-environ.c (_dl_next_ld_env_entry): Likewise.
+ * elf/dl-execstack.c (_dl_make_stack_executable): Likewise.
+ * elf/dl-fini.c (_dl_sort_fini): Likewise.
+ * elf/dl-hwcaps.c (_dl_important_hwcaps): Likewise.
+ * elf/dl-libc.c (dlerror_run): Likewise.
+ * elf/dl-load.c (add_name_to_object, decompose_rpath)
+ (_dl_init_paths, _dl_map_object, _dl_rtld_di_serinfo): Likewise.
+ * elf/dl-lookup.c (add_dependency, _dl_debug_bindings)
+ (_dl_lookup_symbol_x, _dl_setup_hash, _dl_debug_bindings):
+ Likewise.
+ * elf/dl-misc.c (_dl_sysdep_read_whole_file, _dl_name_match_p)
+ (_dl_higher_prime_number, _dl_strtoul): Likewise.
+ * elf/dl-object.c (_dl_add_to_namespace_list, _dl_new_object): Likewise.
+ * elf/dl-profile.c (_dl_start_profile): Likewise.
+ * elf/dl-reloc.c (_dl_try_allocate_static_tls)
+ (_dl_allocate_static_tls, _dl_protect_relro, _dl_reloc_bad_type):
+ Likewise.
+ * elf/dl-support.c (_dl_aux_init, _dl_non_dynamic_init): Likewise.
+ * elf/dl-sym.c (_dl_tls_symaddr, do_sym): Likewise.
+ * elf/dl-sysdep.c (_dl_sysdep_start_cleanup, _dl_show_auxv): Likewise.
+ * elf/dl-tls.c (_dl_next_tls_modid, _dl_count_modids)
+ (_dl_determine_tlsoffset, allocate_dtv, _dl_get_tls_static_info)
+ (_dl_allocate_tls_storage): Likewise.
+ * elf/dl-version.c (match_symbol, _dl_check_map_versions)
+ (_dl_check_all_versions): Likewise.
+ * elf/dynamic-link.h (_dl_try_allocate_static_tls): Likewise.
+ * elf/tlsdeschtab.h (_dl_make_tlsdesc_dynamic): Likewise.
+ * elf/tst-_dl_addr_inside_object.c (_dl_addr_inside_object): Likewise.
+ * sysdeps/aarch64/dl-tlsdesc.h (_dl_make_tlsdesc_dynamic): Likewise.
+ * sysdeps/aarch64/tlsdesc.c (_dl_unmap): Likewise.
+ * sysdeps/arm/dl-lookupcfg.h (_dl_unmap): Likewise.
+ * sysdeps/arm/dl-machine.h (elf_machine_load_address): Remove
+ internal_function from __dl_start.
+ * sysdeps/arm/dl-tlsdesc.h (_dl_unmap): Remove internal_function.
+ * sysdeps/generic/dl-cache.h (_dl_cache_libcmp): Likewise.
+ * sysdeps/generic/ldsodefs.h (_dl_name_match_p)
+ (_dl_higher_prime_number, _dl_strtoul, _dl_map_object)
+ (_dl_map_object_deps, _dl_setup_hash, _dl_rtld_di_serinfo)
+ (_dl_lookup_symbol_x, _dl_add_to_namespace_list, _dl_new_object)
+ (_dl_protect_relro, _dl_reloc_bad_type, _dl_check_all_versions)
+ (_dl_check_map_versions, _dl_sort_fini, _dl_debug_initialize)
+ (_dl_init_paths, _dl_start_profile, _dl_show_auxv)
+ (_dl_next_ld_env_entry, _dl_important_hwcaps)
+ (_dl_load_cache_lookup, _dl_sysdep_read_whole_file)
+ (_dl_sysdep_start_cleanup, _dl_next_tls_modid, _dl_count_modids)
+ (_dl_determine_tlsoffset, _dl_get_tls_static_info)
+ (_dl_allocate_static_tls, _dl_allocate_tls_storage)
+ (_dl_addr_inside_object, _dl_non_dynamic_init, _dl_aux_init):
+ Likewise.
+ (struct rtld_global_ro): Remove internal_function from the
+ _dl_lookup_symbol_x member.
+ (_dl_symbol_value): Remove. No longer defined anywhere.
+ * sysdeps/i386/dl-lookupcfg.h (_dl_unmap): Remove
+ internal_function.
+ * sysdeps/i386/dl-tlsdesc.h (_dl_make_tlsdesc_dynamic): Likewise.
+ * sysdeps/i386/tlsdesc.c (_dl_unmap): Likewise.
+ * sysdeps/mach/hurd/dl-sysdep.c (_dl_show_auxv): Likewise.
+ * sysdeps/nios2/dl-init.c (_dl_nios2_get_gp_value): Likewise.
+ * sysdeps/tile/dl-lookupcfg.h (_dl_unmap): Likewise.
+ * sysdeps/tile/dl-machine.h (_dl_after_load): Likewise.
+ * sysdeps/tile/dl-runtime.c (_dl_after_load, _dl_unmap): Likewise.
+ * sysdeps/unix/sysv/linux/dl-vdso.c (_dl_vdso_vsym): Likewise.
+ * sysdeps/unix/sysv/linux/dl-vdso.h (_dl_vdso_vsym): Likewise.
+ * sysdeps/x86_64/dl-lookupcfg.h (_dl_unmap): Likewise.
+ * sysdeps/x86_64/dl-tlsdesc.h (_dl_make_tlsdesc_dynamic): Likewise.
+ * sysdeps/x86_64/tlsdesc.c (_dl_unmap): Likewise.
+
+2017-08-31 Florian Weimer <fweimer@redhat.com>
+
* gmon/gmon.c (write_hist, write_call_graph, write_bb_counts):
Remove internal_function.
* sysdeps/arm/machine-gmon.h (mcount_internal, _MCOUNT_DECL):
diff --git a/elf/dl-addr-obj.c b/elf/dl-addr-obj.c
index 62aa630ce5..5986160241 100644
--- a/elf/dl-addr-obj.c
+++ b/elf/dl-addr-obj.c
@@ -61,7 +61,6 @@
*/
int
-internal_function
_dl_addr_inside_object (struct link_map *l, const ElfW(Addr) addr)
{
int n = l->l_phnum;
diff --git a/elf/dl-cache.c b/elf/dl-cache.c
index e9632da0b3..b04ddee93f 100644
--- a/elf/dl-cache.c
+++ b/elf/dl-cache.c
@@ -134,7 +134,6 @@ while (0)
int
-internal_function
_dl_cache_libcmp (const char *p1, const char *p2)
{
while (*p1 != '\0')
@@ -181,7 +180,6 @@ _dl_cache_libcmp (const char *p1, const char *p2)
this function must take care that it does not return references to
any data in the mapping. */
char *
-internal_function
_dl_load_cache_lookup (const char *name)
{
int left, right, middle;
diff --git a/elf/dl-debug.c b/elf/dl-debug.c
index f3957044f6..73c69dfbae 100644
--- a/elf/dl-debug.c
+++ b/elf/dl-debug.c
@@ -42,7 +42,6 @@ struct r_debug _r_debug;
_r_debug.r_ldbase. Returns the address of _r_debug. */
struct r_debug *
-internal_function
_dl_debug_initialize (ElfW(Addr) ldbase, Lmid_t ns)
{
struct r_debug *r;
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
index 7c82d42be9..35cad364b7 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -68,7 +68,6 @@ openaux (void *a)
}
static ptrdiff_t
-internal_function
_dl_build_local_scope (struct link_map **list, struct link_map *map)
{
struct link_map **p = list;
@@ -153,7 +152,6 @@ preload (struct list *known, unsigned int *nlist, struct link_map *map)
}
void
-internal_function
_dl_map_object_deps (struct link_map *map,
struct link_map **preloads, unsigned int npreloads,
int trace_mode, int open_mode)
diff --git a/elf/dl-environ.c b/elf/dl-environ.c
index cbffec8808..8134324d9d 100644
--- a/elf/dl-environ.c
+++ b/elf/dl-environ.c
@@ -24,7 +24,6 @@
/* Walk through the environment of the process and return all entries
starting with `LD_'. */
char *
-internal_function
_dl_next_ld_env_entry (char ***position)
{
char **current = *position;
diff --git a/elf/dl-execstack.c b/elf/dl-execstack.c
index 875338bea5..a266c077f3 100644
--- a/elf/dl-execstack.c
+++ b/elf/dl-execstack.c
@@ -23,7 +23,6 @@
so as to mprotect it. */
int
-internal_function
_dl_make_stack_executable (void **stack_endp)
{
return ENOSYS;
diff --git a/elf/dl-fini.c b/elf/dl-fini.c
index d6201b2c81..71c06fc68b 100644
--- a/elf/dl-fini.c
+++ b/elf/dl-fini.c
@@ -26,7 +26,6 @@ typedef void (*fini_t) (void);
void
-internal_function
_dl_sort_fini (struct link_map **maps, size_t nmaps, char *used, Lmid_t ns)
{
/* A list of one element need not be sorted. */
diff --git a/elf/dl-hwcaps.c b/elf/dl-hwcaps.c
index ac50fd2c38..92f2eb45ce 100644
--- a/elf/dl-hwcaps.c
+++ b/elf/dl-hwcaps.c
@@ -34,7 +34,6 @@
/* Return an array of useful/necessary hardware capability names. */
const struct r_strlenpair *
-internal_function
_dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz,
size_t *max_capstrlen)
{
diff --git a/elf/dl-libc.c b/elf/dl-libc.c
index 9fdc8b1130..bd3c18d20f 100644
--- a/elf/dl-libc.c
+++ b/elf/dl-libc.c
@@ -36,7 +36,6 @@ extern char **__environ;
Much of this code came from gconv_dl.c with slight modifications. */
static int
-internal_function
dlerror_run (void (*operate) (void *), void *args)
{
const char *objname;
diff --git a/elf/dl-load.c b/elf/dl-load.c
index c1b6d4ba0f..a067760cc6 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -392,7 +392,6 @@ expand_dynamic_string_token (struct link_map *l, const char *s, int is_path)
be freed if the shared object already has this name.
Returns false if the object already had this name. */
static void
-internal_function
add_name_to_object (struct link_map *l, const char *name)
{
struct libname_list *lnp, *lastp;
@@ -536,7 +535,6 @@ fillin_rpath (char *rpath, struct r_search_path_elem **result, const char *sep,
static bool
-internal_function
decompose_rpath (struct r_search_path_struct *sps,
const char *rpath, struct link_map *l, const char *what)
{
@@ -656,7 +654,6 @@ cache_rpath (struct link_map *l,
void
-internal_function
_dl_init_paths (const char *llp)
{
size_t idx;
@@ -1887,7 +1884,6 @@ open_path (const char *name, size_t namelen, int mode,
/* Map in the shared object file NAME. */
struct link_map *
-internal_function
_dl_map_object (struct link_map *loader, const char *name,
int type, int trace_mode, int mode, Lmid_t nsid)
{
@@ -2241,7 +2237,6 @@ add_path (struct add_path_state *p, const struct r_search_path_struct *sps,
}
void
-internal_function
_dl_rtld_di_serinfo (struct link_map *loader, Dl_serinfo *si, bool counting)
{
if (counting)
diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
index 645dc3ebb4..d77e803976 100644
--- a/elf/dl-lookup.c
+++ b/elf/dl-lookup.c
@@ -560,7 +560,6 @@ dl_new_hash (const char *s)
/* Add extra dependency on MAP to UNDEF_MAP. */
static int
-internal_function
add_dependency (struct link_map *undef_map, struct link_map *map, int flags)
{
struct link_map *runp;
@@ -770,7 +769,6 @@ add_dependency (struct link_map *undef_map, struct link_map *map, int flags)
}
static void
-internal_function
_dl_debug_bindings (const char *undef_name, struct link_map *undef_map,
const ElfW(Sym) **ref, struct sym_val *value,
const struct r_found_version *version, int type_class,
@@ -784,7 +782,6 @@ _dl_debug_bindings (const char *undef_name, struct link_map *undef_map,
or in any function which gets called. If this would happen the audit
code might create a thread which can throw off all the scope locking. */
lookup_t
-internal_function
_dl_lookup_symbol_x (const char *undef_name, struct link_map *undef_map,
const ElfW(Sym) **ref,
struct r_scope_elem *symbol_scope[],
@@ -935,7 +932,6 @@ _dl_lookup_symbol_x (const char *undef_name, struct link_map *undef_map,
/* Cache the location of MAP's hash table. */
void
-internal_function
_dl_setup_hash (struct link_map *map)
{
Elf_Symndx *hash;
@@ -979,7 +975,6 @@ _dl_setup_hash (struct link_map *map)
static void
-internal_function
_dl_debug_bindings (const char *undef_name, struct link_map *undef_map,
const ElfW(Sym) **ref, struct sym_val *value,
const struct r_found_version *version, int type_class,
diff --git a/elf/dl-misc.c b/elf/dl-misc.c
index c469b5a365..c1955dda30 100644
--- a/elf/dl-misc.c
+++ b/elf/dl-misc.c
@@ -40,7 +40,6 @@
is returned. */
void *
-internal_function
_dl_sysdep_read_whole_file (const char *file, size_t *sizep, int prot)
{
void *result = MAP_FAILED;
@@ -279,7 +278,6 @@ _dl_dprintf (int fd, const char *fmt, ...)
/* Test whether given NAME matches any of the names of the given object. */
int
-internal_function
_dl_name_match_p (const char *name, const struct link_map *map)
{
if (strcmp (name, map->l_name) == 0)
@@ -298,7 +296,6 @@ _dl_name_match_p (const char *name, const struct link_map *map)
unsigned long int
-internal_function
_dl_higher_prime_number (unsigned long int n)
{
/* These are primes that are near, but slightly smaller than, a
@@ -366,7 +363,6 @@ _dl_higher_prime_number (unsigned long int n)
called before errno may have been set up. */
uint64_t
-internal_function
_dl_strtoul (const char *nptr, char **endptr)
{
uint64_t result = 0;
diff --git a/elf/dl-object.c b/elf/dl-object.c
index 4c43235148..da138829da 100644
--- a/elf/dl-object.c
+++ b/elf/dl-object.c
@@ -27,7 +27,6 @@
/* Add the new link_map NEW to the end of the namespace list. */
void
-internal_function
_dl_add_to_namespace_list (struct link_map *new, Lmid_t nsid)
{
/* We modify the list of loaded objects. */
@@ -55,7 +54,6 @@ _dl_add_to_namespace_list (struct link_map *new, Lmid_t nsid)
/* Allocate a `struct link_map' for a new object being loaded,
and enter it into the _dl_loaded list. */
struct link_map *
-internal_function
_dl_new_object (char *realname, const char *libname, int type,
struct link_map *loader, int mode, Lmid_t nsid)
{
diff --git a/elf/dl-profile.c b/elf/dl-profile.c
index a4f11089a1..c295dd6d00 100644
--- a/elf/dl-profile.c
+++ b/elf/dl-profile.c
@@ -180,7 +180,6 @@ static unsigned int log_hashfraction;
/* Set up profiling data to profile object desribed by MAP. The output
file is found (or created) in OUTPUT_DIR. */
void
-internal_function
_dl_start_profile (void)
{
char *filename;
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c
index b3c3a9bbf9..eef9e3ad0c 100644
--- a/elf/dl-reloc.c
+++ b/elf/dl-reloc.c
@@ -45,7 +45,6 @@
directly, as static TLS should be rare and code handling it should
not be inlined as much as possible. */
int
-internal_function
_dl_try_allocate_static_tls (struct link_map *map)
{
/* If we've already used the variable with dynamic access, or if the
@@ -112,7 +111,7 @@ _dl_try_allocate_static_tls (struct link_map *map)
}
void
-internal_function __attribute_noinline__
+__attribute_noinline__
_dl_allocate_static_tls (struct link_map *map)
{
if (map->l_tls_offset == FORCED_DYNAMIC_TLS_OFFSET
@@ -308,7 +307,7 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[],
}
-void internal_function
+void
_dl_protect_relro (struct link_map *l)
{
ElfW(Addr) start = ALIGN_DOWN((l->l_addr
@@ -328,7 +327,7 @@ cannot apply additional memory protection after relocation");
}
void
-internal_function __attribute_noinline__
+__attribute_noinline__
_dl_reloc_bad_type (struct link_map *map, unsigned int type, int plt)
{
#define DIGIT(b) _itoa_lower_digits[(b) & 0xf];
diff --git a/elf/dl-support.c b/elf/dl-support.c
index 48340f7959..5e3de90598 100644
--- a/elf/dl-support.c
+++ b/elf/dl-support.c
@@ -221,7 +221,6 @@ __rtld_lock_define_initialized_recursive (, _dl_load_write_lock)
int _dl_clktck;
void
-internal_function
_dl_aux_init (ElfW(auxv_t) *av)
{
int seen = 0;
@@ -305,7 +304,6 @@ _dl_aux_init (ElfW(auxv_t) *av)
void
-internal_function
_dl_non_dynamic_init (void)
{
_dl_main_map.l_origin = _dl_get_origin ();
diff --git a/elf/dl-sym.c b/elf/dl-sym.c
index 97cfcca712..3e23555b78 100644
--- a/elf/dl-sym.c
+++ b/elf/dl-sym.c
@@ -41,7 +41,6 @@
/* Return the symbol address given the map of the module it is in and
the symbol record. This is used in dl-sym.c. */
static void *
-internal_function
_dl_tls_symaddr (struct link_map *map, const ElfW(Sym) *ref)
{
# ifndef DONT_USE_TLS_INDEX
@@ -83,7 +82,6 @@ call_dl_lookup (void *ptr)
static void *
-internal_function
do_sym (void *handle, const char *name, void *who,
struct r_found_version *vers, int flags)
{
diff --git a/elf/dl-sysdep.c b/elf/dl-sysdep.c
index c4ff8b2937..6d92df5e56 100644
--- a/elf/dl-sysdep.c
+++ b/elf/dl-sysdep.c
@@ -255,13 +255,11 @@ _dl_sysdep_start (void **start_argptr,
}
void
-internal_function
_dl_sysdep_start_cleanup (void)
{
}
void
-internal_function
_dl_show_auxv (void)
{
char buf[64];
diff --git a/elf/dl-tls.c b/elf/dl-tls.c
index ddf9fb26cc..d791a5c06b 100644
--- a/elf/dl-tls.c
+++ b/elf/dl-tls.c
@@ -44,7 +44,6 @@ oom (void)
size_t
-internal_function
_dl_next_tls_modid (void)
{
size_t result;
@@ -105,7 +104,6 @@ _dl_next_tls_modid (void)
size_t
-internal_function
_dl_count_modids (void)
{
/* It is rare that we have gaps; see elf/dl-open.c (_dl_open) where
@@ -133,7 +131,6 @@ _dl_count_modids (void)
#ifdef SHARED
void
-internal_function
_dl_determine_tlsoffset (void)
{
size_t max_align = TLS_TCB_ALIGN;
@@ -277,7 +274,6 @@ _dl_determine_tlsoffset (void)
#endif /* SHARED */
static void *
-internal_function
allocate_dtv (void *result)
{
dtv_t *dtv;
@@ -308,7 +304,6 @@ allocate_dtv (void *result)
/* Get size and alignment requirements of the static TLS block. */
void
-internal_function
_dl_get_tls_static_info (size_t *sizep, size_t *alignp)
{
*sizep = GL(dl_tls_static_size);
@@ -333,7 +328,6 @@ tcb_to_pointer_to_free_location (void *tcb)
}
void *
-internal_function
_dl_allocate_tls_storage (void)
{
void *result;
diff --git a/elf/dl-version.c b/elf/dl-version.c
index c0d76ad42a..6401bc478d 100644
--- a/elf/dl-version.c
+++ b/elf/dl-version.c
@@ -51,7 +51,6 @@ find_needed (const char *name, struct link_map *map)
static int
-internal_function
match_symbol (const char *name, Lmid_t ns, ElfW(Word) hash, const char *string,
struct link_map *map, int verbose, int weak)
{
@@ -153,7 +152,6 @@ checking for version `%s' in file %s [%lu] required by file %s [%lu]\n",
int
-internal_function
_dl_check_map_versions (struct link_map *map, int verbose, int trace_mode)
{
int result = 0;
@@ -360,7 +358,6 @@ _dl_check_map_versions (struct link_map *map, int verbose, int trace_mode)
int
-internal_function
_dl_check_all_versions (struct link_map *map, int verbose, int trace_mode)
{
struct link_map *l;
diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h
index 60f2d91151..ebea7567cd 100644
--- a/elf/dynamic-link.h
+++ b/elf/dynamic-link.h
@@ -42,8 +42,7 @@
&& (__builtin_expect ((sym_map)->l_tls_offset != NO_TLS_OFFSET, 1) \
|| _dl_try_allocate_static_tls (sym_map) == 0))
-int internal_function attribute_hidden
- _dl_try_allocate_static_tls (struct link_map *map);
+int _dl_try_allocate_static_tls (struct link_map *map) attribute_hidden;
#include <elf.h>
diff --git a/elf/tlsdeschtab.h b/elf/tlsdeschtab.h
index 3091d8b420..ad3001dac5 100644
--- a/elf/tlsdeschtab.h
+++ b/elf/tlsdeschtab.h
@@ -79,7 +79,6 @@ map_generation (struct link_map *map)
}
void *
-internal_function
_dl_make_tlsdesc_dynamic (struct link_map *map, size_t ti_offset)
{
struct hashtab *ht;
diff --git a/elf/tst-_dl_addr_inside_object.c b/elf/tst-_dl_addr_inside_object.c
index 1604b8df63..0a407ec19c 100644
--- a/elf/tst-_dl_addr_inside_object.c
+++ b/elf/tst-_dl_addr_inside_object.c
@@ -22,8 +22,7 @@
#include <elf.h>
#include <libc-symbols.h>
-extern int internal_function _dl_addr_inside_object (struct link_map *l,
- const ElfW(Addr) addr);
+extern int _dl_addr_inside_object (struct link_map *l, const ElfW(Addr) addr);
static int
do_test (void)
diff --git a/sysdeps/aarch64/dl-tlsdesc.h b/sysdeps/aarch64/dl-tlsdesc.h
index 127d1258d3..66ec0dea7f 100644
--- a/sysdeps/aarch64/dl-tlsdesc.h
+++ b/sysdeps/aarch64/dl-tlsdesc.h
@@ -58,8 +58,7 @@ extern ptrdiff_t attribute_hidden
_dl_tlsdesc_resolve_hold (struct tlsdesc *);
# ifdef SHARED
-extern void *internal_function _dl_make_tlsdesc_dynamic (struct link_map *,
- size_t);
+extern void *_dl_make_tlsdesc_dynamic (struct link_map *, size_t);
extern ptrdiff_t attribute_hidden
_dl_tlsdesc_dynamic (struct tlsdesc *);
diff --git a/sysdeps/aarch64/tlsdesc.c b/sysdeps/aarch64/tlsdesc.c
index 0b57031126..4c8a5a81d1 100644
--- a/sysdeps/aarch64/tlsdesc.c
+++ b/sysdeps/aarch64/tlsdesc.c
@@ -154,7 +154,6 @@ _dl_tlsdesc_resolve_hold_fixup (struct tlsdesc *td, void *caller)
if there is one. */
void
-internal_function
_dl_unmap (struct link_map *map)
{
_dl_unmap_segments (map);
diff --git a/sysdeps/arm/dl-lookupcfg.h b/sysdeps/arm/dl-lookupcfg.h
index 23b4e7e9af..6d3bca57c2 100644
--- a/sysdeps/arm/dl-lookupcfg.h
+++ b/sysdeps/arm/dl-lookupcfg.h
@@ -22,6 +22,6 @@
struct link_map;
-extern void internal_function _dl_unmap (struct link_map *map);
+extern void _dl_unmap (struct link_map *map);
#define DL_UNMAP(map) _dl_unmap (map)
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
index 0a126ce117..7d733f2b1c 100644
--- a/sysdeps/arm/dl-machine.h
+++ b/sysdeps/arm/dl-machine.h
@@ -53,7 +53,7 @@ elf_machine_dynamic (void)
static inline Elf32_Addr __attribute__ ((unused))
elf_machine_load_address (void)
{
- extern Elf32_Addr internal_function __dl_start (void *) asm ("_dl_start");
+ extern Elf32_Addr __dl_start (void *) asm ("_dl_start");
Elf32_Addr got_addr = (Elf32_Addr) &__dl_start;
Elf32_Addr pcrel_addr;
asm ("adr %0, _dl_start" : "=r" (pcrel_addr));
diff --git a/sysdeps/arm/tlsdesc.c b/sysdeps/arm/tlsdesc.c
index 7ec5fef688..ad79506178 100644
--- a/sysdeps/arm/tlsdesc.c
+++ b/sysdeps/arm/tlsdesc.c
@@ -144,7 +144,6 @@ _dl_tlsdesc_resolve_hold_fixup (struct tlsdesc volatile *td,
if there is one. */
void
-internal_function
_dl_unmap (struct link_map *map)
{
_dl_unmap_segments (map);
diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h
index 1f0b8f629d..e552ac2589 100644
--- a/sysdeps/generic/dl-cache.h
+++ b/sysdeps/generic/dl-cache.h
@@ -100,5 +100,4 @@ struct cache_file_new
(((addr) + __alignof__ (struct cache_file_new) -1) \
& (~(__alignof__ (struct cache_file_new) - 1)))
-extern int _dl_cache_libcmp (const char *p1, const char *p2)
- internal_function attribute_hidden;
+extern int _dl_cache_libcmp (const char *p1, const char *p2) attribute_hidden;
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index 49e673dd24..1a4449eeb3 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -248,15 +248,14 @@ struct audit_ifaces
/* Test whether given NAME matches any of the names of the given object. */
extern int _dl_name_match_p (const char *__name, const struct link_map *__map)
- internal_function attribute_hidden;
+ attribute_hidden;
/* Compute next higher prime number. */
extern unsigned long int _dl_higher_prime_number (unsigned long int n)
- internal_function attribute_hidden;
+ attribute_hidden;
/* A stripped down strtoul-like implementation. */
-uint64_t internal_function _dl_strtoul (const char *, char **)
- internal_function attribute_hidden;
+uint64_t _dl_strtoul (const char *, char **) attribute_hidden;
/* Function used as argument for `_dl_receive_error' function. The
arguments are the error code, error string, and the objname the
@@ -586,13 +585,10 @@ struct rtld_global_ro
void (*_dl_debug_printf) (const char *, ...)
__attribute__ ((__format__ (__printf__, 1, 2)));
void (*_dl_mcount) (ElfW(Addr) frompc, ElfW(Addr) selfpc);
- lookup_t (internal_function *_dl_lookup_symbol_x) (const char *,
- struct link_map *,
- const ElfW(Sym) **,
- struct r_scope_elem *[],
- const struct r_found_version *,
- int, int,
- struct link_map *);
+ lookup_t (*_dl_lookup_symbol_x) (const char *, struct link_map *,
+ const ElfW(Sym) **, struct r_scope_elem *[],
+ const struct r_found_version *, int, int,
+ struct link_map *);
int (*_dl_check_caller) (const void *, enum allowmask);
void *(*_dl_open) (const char *file, int mode, const void *caller_dlopen,
Lmid_t nsid, int argc, char *argv[], char *env[]);
@@ -851,8 +847,7 @@ libc_hidden_proto (_dl_catch_exception)
extern struct link_map *_dl_map_object (struct link_map *loader,
const char *name,
int type, int trace_mode, int mode,
- Lmid_t nsid)
- internal_function attribute_hidden;
+ Lmid_t nsid) attribute_hidden;
/* Call _dl_map_object on the dependencies of MAP, and set up
MAP->l_searchlist. PRELOADS points to a vector of NPRELOADS previously
@@ -862,11 +857,10 @@ extern void _dl_map_object_deps (struct link_map *map,
struct link_map **preloads,
unsigned int npreloads, int trace_mode,
int open_mode)
- internal_function attribute_hidden;
+ attribute_hidden;
/* Cache the locations of MAP's hash table. */
-extern void _dl_setup_hash (struct link_map *map)
- internal_function attribute_hidden;
+extern void _dl_setup_hash (struct link_map *map) attribute_hidden;
/* Collect the directories in the search path for LOADER's dependencies.
@@ -875,8 +869,7 @@ extern void _dl_setup_hash (struct link_map *map)
by a previous call with COUNTING set, and SI must point to SI->dls_size
bytes to be used in filling in the result. */
extern void _dl_rtld_di_serinfo (struct link_map *loader,
- Dl_serinfo *si, bool counting)
- internal_function;
+ Dl_serinfo *si, bool counting);
/* Search loaded objects' symbol tables for a definition of the symbol
@@ -907,22 +900,18 @@ extern lookup_t _dl_lookup_symbol_x (const char *undef,
const struct r_found_version *version,
int type_class, int flags,
struct link_map *skip_map)
- internal_function attribute_hidden;
-
+ attribute_hidden;
-/* Look up symbol NAME in MAP's scope and return its run-time address. */
-extern ElfW(Addr) _dl_symbol_value (struct link_map *map, const char *name)
- internal_function;
/* Add the new link_map NEW to the end of the namespace list. */
extern void _dl_add_to_namespace_list (struct link_map *new, Lmid_t nsid)
- internal_function attribute_hidden;
+ attribute_hidden;
/* Allocate a `struct link_map' for a new object being loaded. */
extern struct link_map *_dl_new_object (char *realname, const char *libname,
int type, struct link_map *loader,
int mode, Lmid_t nsid)
- internal_function attribute_hidden;
+ attribute_hidden;
/* Relocate the given object (if it hasn't already been).
SCOPE is passed to _dl_lookup_symbol in symbol lookups.
@@ -933,15 +922,14 @@ extern void _dl_relocate_object (struct link_map *map,
attribute_hidden;
/* Protect PT_GNU_RELRO area. */
-extern void _dl_protect_relro (struct link_map *map)
- internal_function attribute_hidden;
+extern void _dl_protect_relro (struct link_map *map) attribute_hidden;
/* Call _dl_signal_error with a message about an unhandled reloc type.
TYPE is the result of ELFW(R_TYPE) (r_info), i.e. an R_<CPU>_* value.
PLT is nonzero if this was a PLT reloc; it just affects the message. */
extern void _dl_reloc_bad_type (struct link_map *map,
unsigned int type, int plt)
- internal_function attribute_hidden __attribute__ ((__noreturn__));
+ attribute_hidden __attribute__ ((__noreturn__));
/* Resolve conflicts if prelinking. */
extern void _dl_resolve_conflicts (struct link_map *l,
@@ -952,14 +940,12 @@ extern void _dl_resolve_conflicts (struct link_map *l,
/* Check the version dependencies of all objects available through
MAP. If VERBOSE print some more diagnostics. */
extern int _dl_check_all_versions (struct link_map *map, int verbose,
- int trace_mode)
- internal_function attribute_hidden;
+ int trace_mode) attribute_hidden;
/* Check the version dependencies for MAP. If VERBOSE print some more
diagnostics. */
extern int _dl_check_map_versions (struct link_map *map, int verbose,
- int trace_mode)
- internal_function attribute_hidden;
+ int trace_mode) attribute_hidden;
/* Initialize the object in SCOPE by calling the constructors with
ARGC, ARGV, and ENV as the parameters. */
@@ -972,8 +958,7 @@ extern void _dl_fini (void);
/* Sort array MAPS according to dependencies of the contained objects. */
extern void _dl_sort_fini (struct link_map **maps, size_t nmaps, char *used,
- Lmid_t ns)
- internal_function attribute_hidden;
+ Lmid_t ns) attribute_hidden;
/* The dynamic linker calls this function before and having changing
any shared object mappings. The `r_state' member of `struct r_debug'
@@ -986,15 +971,14 @@ rtld_hidden_proto (_dl_debug_state)
argument is the run-time load address of the dynamic linker, to be put
in the `r_ldbase' member. Returns the address of the structure. */
extern struct r_debug *_dl_debug_initialize (ElfW(Addr) ldbase, Lmid_t ns)
- internal_function attribute_hidden;
+ attribute_hidden;
/* Initialize the basic data structure for the search paths. */
-extern void _dl_init_paths (const char *library_path)
- internal_function attribute_hidden;
+extern void _dl_init_paths (const char *library_path) attribute_hidden;
/* Gather the information needed to install the profiling tables and start
the timers. */
-extern void _dl_start_profile (void) internal_function attribute_hidden;
+extern void _dl_start_profile (void) attribute_hidden;
/* The actual functions used to keep book on the calls. */
extern void _dl_mcount (ElfW(Addr) frompc, ElfW(Addr) selfpc);
@@ -1006,25 +990,22 @@ rtld_hidden_proto (_dl_mcount)
extern void _dl_mcount_wrapper (void *selfpc);
/* Show the members of the auxiliary array passed up from the kernel. */
-extern void _dl_show_auxv (void)
- internal_function attribute_hidden;
+extern void _dl_show_auxv (void) attribute_hidden;
/* Return all environment variables starting with `LD_', one after the
other. */
-extern char *_dl_next_ld_env_entry (char ***position)
- internal_function attribute_hidden;
+extern char *_dl_next_ld_env_entry (char ***position) attribute_hidden;
/* Return an array with the names of the important hardware capabilities. */
extern const struct r_strlenpair *_dl_important_hwcaps (const char *platform,
size_t paltform_len,
size_t *sz,
size_t *max_capstrlen)
- internal_function attribute_hidden;
+ attribute_hidden;
/* Look up NAME in ld.so.cache and return the file name stored there,
or null if none is found. Caller must free returned string. */
-extern char *_dl_load_cache_lookup (const char *name)
- internal_function attribute_hidden;
+extern char *_dl_load_cache_lookup (const char *name) attribute_hidden;
/* If the system does not support MAP_COPY we cannot leave the file open
all the time since this would create problems when the file is replaced.
@@ -1036,8 +1017,7 @@ extern void _dl_unload_cache (void) attribute_hidden;
most convenient manner available. *SIZEP gets the size of the
file. On error MAP_FAILED is returned. */
extern void *_dl_sysdep_read_whole_file (const char *file, size_t *sizep,
- int prot)
- internal_function attribute_hidden;
+ int prot) attribute_hidden;
/* System-specific function to do initial startup for the dynamic linker.
After this, file access calls and getenv must work. This is responsible
@@ -1050,18 +1030,17 @@ extern ElfW(Addr) _dl_sysdep_start (void **start_argptr,
ElfW(auxv_t) *auxv))
attribute_hidden;
-extern void _dl_sysdep_start_cleanup (void)
- internal_function attribute_hidden;
+extern void _dl_sysdep_start_cleanup (void) attribute_hidden;
/* Determine next available module ID. */
-extern size_t _dl_next_tls_modid (void) internal_function attribute_hidden;
+extern size_t _dl_next_tls_modid (void) attribute_hidden;
/* Count the modules with TLS segments. */
-extern size_t _dl_count_modids (void) internal_function attribute_hidden;
+extern size_t _dl_count_modids (void) attribute_hidden;
/* Calculate offset of the TLS blocks in the static TLS block. */
-extern void _dl_determine_tlsoffset (void) internal_function attribute_hidden;
+extern void _dl_determine_tlsoffset (void) attribute_hidden;
#ifndef SHARED
/* Set up the TCB for statically linked applications. This is called
@@ -1079,16 +1058,13 @@ extern void *_dl_allocate_tls (void *mem);
rtld_hidden_proto (_dl_allocate_tls)
/* Get size and alignment requirements of the static TLS block. */
-extern void _dl_get_tls_static_info (size_t *sizep, size_t *alignp)
- internal_function;
+extern void _dl_get_tls_static_info (size_t *sizep, size_t *alignp);
-extern void _dl_allocate_static_tls (struct link_map *map)
- internal_function attribute_hidden;
+extern void _dl_allocate_static_tls (struct link_map *map) attribute_hidden;
/* These are internal entry points to the two halves of _dl_allocate_tls,
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_storage (void) attribute_hidden;
extern void *_dl_allocate_tls_init (void *);
rtld_hidden_proto (_dl_allocate_tls_init)
@@ -1137,7 +1113,7 @@ extern struct link_map *_dl_update_slotinfo (unsigned long int req_modid)
extern void *_dl_tls_get_addr_soft (struct link_map *l) attribute_hidden;
extern int _dl_addr_inside_object (struct link_map *l, const ElfW(Addr) addr)
- internal_function attribute_hidden;
+ attribute_hidden;
/* Show show of an object. */
extern void _dl_show_scope (struct link_map *new, int from)
@@ -1147,10 +1123,10 @@ 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. */
-extern void _dl_non_dynamic_init (void) internal_function;
+extern void _dl_non_dynamic_init (void);
/* Used by static binaries to check the auxiliary vector. */
-extern void _dl_aux_init (ElfW(auxv_t) *av) internal_function;
+extern void _dl_aux_init (ElfW(auxv_t) *av);
__END_DECLS
diff --git a/sysdeps/i386/dl-lookupcfg.h b/sysdeps/i386/dl-lookupcfg.h
index 47b534a059..80e829d004 100644
--- a/sysdeps/i386/dl-lookupcfg.h
+++ b/sysdeps/i386/dl-lookupcfg.h
@@ -26,7 +26,6 @@
struct link_map;
-extern void _dl_unmap (struct link_map *map)
- internal_function attribute_hidden;
+extern void _dl_unmap (struct link_map *map) attribute_hidden;
#define DL_UNMAP(map) _dl_unmap (map)
diff --git a/sysdeps/i386/dl-tlsdesc.h b/sysdeps/i386/dl-tlsdesc.h
index 242bebfc8e..967b8bc2cb 100644
--- a/sysdeps/i386/dl-tlsdesc.h
+++ b/sysdeps/i386/dl-tlsdesc.h
@@ -51,8 +51,7 @@ extern ptrdiff_t attribute_hidden __attribute__ ((regparm (1)))
# ifdef SHARED
extern void *_dl_make_tlsdesc_dynamic (struct link_map *map,
- size_t ti_offset)
- internal_function attribute_hidden;
+ size_t ti_offset) attribute_hidden;
extern ptrdiff_t attribute_hidden __attribute__ ((regparm (1)))
_dl_tlsdesc_dynamic (struct tlsdesc *);
diff --git a/sysdeps/i386/tlsdesc.c b/sysdeps/i386/tlsdesc.c
index 90de2bb05e..7902908c9a 100644
--- a/sysdeps/i386/tlsdesc.c
+++ b/sysdeps/i386/tlsdesc.c
@@ -256,7 +256,6 @@ _dl_tlsdesc_resolve_hold_fixup (struct tlsdesc volatile *td,
if there is one. */
void
-internal_function
_dl_unmap (struct link_map *map)
{
_dl_unmap_segments (map);
diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c
index 3794aed521..6d5c1abf83 100644
--- a/sysdeps/mach/hurd/dl-sysdep.c
+++ b/sysdeps/mach/hurd/dl-sysdep.c
@@ -277,7 +277,6 @@ fmh(); /* XXX */
}
void
-internal_function
_dl_sysdep_start_cleanup (void)
{
/* Deallocate the reply port and task port rights acquired by
@@ -645,7 +644,6 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg,
void
-internal_function
_dl_show_auxv (void)
{
/* There is nothing to print. Hurd has no auxiliary vector. */
diff --git a/sysdeps/nios2/dl-init.c b/sysdeps/nios2/dl-init.c
index 5d3d0edc68..9fc8e1a2ca 100644
--- a/sysdeps/nios2/dl-init.c
+++ b/sysdeps/nios2/dl-init.c
@@ -19,7 +19,6 @@
#include <elf/dl-init.c>
unsigned int
-internal_function
_dl_nios2_get_gp_value (struct link_map *main_map)
{
ElfW(Dyn) *dyn = main_map->l_ld;
diff --git a/sysdeps/tile/dl-lookupcfg.h b/sysdeps/tile/dl-lookupcfg.h
index 18a816ec89..c829823680 100644
--- a/sysdeps/tile/dl-lookupcfg.h
+++ b/sysdeps/tile/dl-lookupcfg.h
@@ -22,6 +22,6 @@
struct link_map;
-void internal_function _dl_unmap (struct link_map *map);
+void _dl_unmap (struct link_map *map);
#define DL_UNMAP(map) _dl_unmap (map)
diff --git a/sysdeps/tile/dl-machine.h b/sysdeps/tile/dl-machine.h
index ae92673ac8..f7af7c3848 100644
--- a/sysdeps/tile/dl-machine.h
+++ b/sysdeps/tile/dl-machine.h
@@ -255,7 +255,7 @@ elf_machine_plt_value (struct link_map *map, const ElfW(Rela) *reloc,
}
/* Support notifying the simulator about new objects. */
-void internal_function _dl_after_load (struct link_map *l);
+void _dl_after_load (struct link_map *l);
#define DL_AFTER_LOAD _dl_after_load
/* Names of the architecture-specific auditing callback functions. */
diff --git a/sysdeps/tile/dl-runtime.c b/sysdeps/tile/dl-runtime.c
index 3aced41643..c58e6192bd 100644
--- a/sysdeps/tile/dl-runtime.c
+++ b/sysdeps/tile/dl-runtime.c
@@ -94,7 +94,7 @@ dl_realpath (const char *name, char *rpath)
}
/* Support notifying the simulator about new objects. */
-void internal_function
+void
_dl_after_load (struct link_map *l)
{
int shift;
@@ -151,7 +151,7 @@ sim_dlclose (ElfW(Addr) map_start)
#undef DLPUTC
}
-void internal_function
+void
_dl_unmap (struct link_map *map)
{
sim_dlclose (map->l_map_start);
diff --git a/sysdeps/unix/sysv/linux/dl-vdso.c b/sysdeps/unix/sysv/linux/dl-vdso.c
index 7e3546e5bc..abdc22b6b4 100644
--- a/sysdeps/unix/sysv/linux/dl-vdso.c
+++ b/sysdeps/unix/sysv/linux/dl-vdso.c
@@ -21,7 +21,6 @@
void *
-internal_function
_dl_vdso_vsym (const char *name, const struct r_found_version *vers)
{
struct link_map *map = GLRO (dl_sysinfo_map);
diff --git a/sysdeps/unix/sysv/linux/dl-vdso.h b/sysdeps/unix/sysv/linux/dl-vdso.h
index 8923883f88..7d51a33f80 100644
--- a/sysdeps/unix/sysv/linux/dl-vdso.h
+++ b/sysdeps/unix/sysv/linux/dl-vdso.h
@@ -48,6 +48,6 @@
/* Functions for resolving symbols in the VDSO link map. */
extern void *_dl_vdso_vsym (const char *name,
const struct r_found_version *version)
- internal_function attribute_hidden;
+ attribute_hidden;
#endif /* dl-vdso.h */
diff --git a/sysdeps/x86_64/dl-lookupcfg.h b/sysdeps/x86_64/dl-lookupcfg.h
index 47b534a059..80e829d004 100644
--- a/sysdeps/x86_64/dl-lookupcfg.h
+++ b/sysdeps/x86_64/dl-lookupcfg.h
@@ -26,7 +26,6 @@
struct link_map;
-extern void _dl_unmap (struct link_map *map)
- internal_function attribute_hidden;
+extern void _dl_unmap (struct link_map *map) attribute_hidden;
#define DL_UNMAP(map) _dl_unmap (map)
diff --git a/sysdeps/x86_64/dl-tlsdesc.h b/sysdeps/x86_64/dl-tlsdesc.h
index 14019a2610..a2279e73fe 100644
--- a/sysdeps/x86_64/dl-tlsdesc.h
+++ b/sysdeps/x86_64/dl-tlsdesc.h
@@ -62,7 +62,7 @@ extern ptrdiff_t attribute_hidden
# ifdef SHARED
extern void *_dl_make_tlsdesc_dynamic (struct link_map *map,
size_t ti_offset)
- internal_function attribute_hidden;
+ attribute_hidden;
extern ptrdiff_t attribute_hidden _dl_tlsdesc_dynamic(struct tlsdesc *);
# endif
diff --git a/sysdeps/x86_64/tlsdesc.c b/sysdeps/x86_64/tlsdesc.c
index 20d821ac66..9752742062 100644
--- a/sysdeps/x86_64/tlsdesc.c
+++ b/sysdeps/x86_64/tlsdesc.c
@@ -134,7 +134,6 @@ _dl_tlsdesc_resolve_hold_fixup (struct tlsdesc volatile *td,
if there is one. */
void
-internal_function
_dl_unmap (struct link_map *map)
{
_dl_unmap_segments (map);