summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-04-02 13:11:24 +0000
committerUlrich Drepper <drepper@redhat.com>1998-04-02 13:11:24 +0000
commitd0fc4041fec47665faff6ac1f51d71829f2dc30a (patch)
tree05903e496ef9bf3d13040f1359fb93f6f47d5e53
parentb60816b132df005889c2e563f935bddf110dfcb3 (diff)
Update.
* intl/finddomain.c: Likewise. * intl/gettextP.h: Likewise. * intl/loadmsgcat.c: Likewise.
-rw-r--r--ChangeLog3
-rw-r--r--elf/dl-addr.c1
-rw-r--r--elf/dl-close.c1
-rw-r--r--elf/dl-debug.c1
-rw-r--r--elf/dl-deps.c1
-rw-r--r--elf/dl-error.c3
-rw-r--r--elf/dl-fini.c1
-rw-r--r--elf/dl-init.c1
-rw-r--r--elf/dl-load.c2
-rw-r--r--elf/dl-lookup.c5
-rw-r--r--elf/dl-object.c1
-rw-r--r--elf/dl-open.c1
-rw-r--r--elf/dl-profile.c2
-rw-r--r--elf/dl-reloc.c1
-rw-r--r--elf/dl-runtime.c1
-rw-r--r--elf/dl-symbol.c1
-rw-r--r--elf/dl-version.c3
-rw-r--r--elf/dlerror.c1
-rw-r--r--elf/ldsodefs.h79
-rw-r--r--intl/finddomain.c3
-rw-r--r--intl/gettextP.h15
-rw-r--r--intl/loadmsgcat.c4
-rw-r--r--sysdeps/generic/dl-sysdep.c3
-rw-r--r--sysdeps/i386/dl-machine.h3
24 files changed, 100 insertions, 37 deletions
diff --git a/ChangeLog b/ChangeLog
index 3c06996518..f3e03d5aae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -25,6 +25,9 @@
* elf/dlerror.c: Likewise.
* sysdeps/generic/dl-sysdep.c: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
+ * intl/finddomain.c: Likewise.
+ * intl/gettextP.h: Likewise.
+ * intl/loadmsgcat.c: Likewise.
1998-04-01 17:38 Ulrich Drepper <drepper@cygnus.com>
diff --git a/elf/dl-addr.c b/elf/dl-addr.c
index d085ebe21a..f88f749b8a 100644
--- a/elf/dl-addr.c
+++ b/elf/dl-addr.c
@@ -23,6 +23,7 @@
int
+internal_function
_dl_addr (const void *address, Dl_info *info)
{
const ElfW(Addr) addr = (ElfW(Addr)) address;
diff --git a/elf/dl-close.c b/elf/dl-close.c
index 337a4e66ad..70b2e6057e 100644
--- a/elf/dl-close.c
+++ b/elf/dl-close.c
@@ -34,6 +34,7 @@ __libc_lock_define (extern, _dl_load_lock)
#define LOSE(s) _dl_signal_error (0, map->l_name, s)
void
+internal_function
_dl_close (struct link_map *map)
{
struct link_map **list;
diff --git a/elf/dl-debug.c b/elf/dl-debug.c
index 4c8c51a94c..e0bf1fbbc4 100644
--- a/elf/dl-debug.c
+++ b/elf/dl-debug.c
@@ -31,6 +31,7 @@ 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)
{
if (_r_debug.r_brk == 0)
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
index 2a945479f4..21dcf0dd41 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -80,6 +80,7 @@ struct list
void
+internal_function
_dl_map_object_deps (struct link_map *map,
struct link_map **preloads, unsigned int npreloads,
int trace_mode)
diff --git a/elf/dl-error.c b/elf/dl-error.c
index ab15094ebc..446ba627b5 100644
--- a/elf/dl-error.c
+++ b/elf/dl-error.c
@@ -46,6 +46,7 @@ static receiver_fct receiver;
void
+internal_function
_dl_signal_error (int errcode,
const char *objname,
const char *errstring)
@@ -94,6 +95,7 @@ _dl_signal_error (int errcode,
}
int
+internal_function
_dl_catch_error (char **errstring,
void (*operate) (void *),
void *args)
@@ -125,6 +127,7 @@ _dl_catch_error (char **errstring,
}
void
+internal_function
_dl_receive_error (receiver_fct fct, void (*operate) (void *), void *args)
{
struct catch *old_catch;
diff --git a/elf/dl-fini.c b/elf/dl-fini.c
index ae220ae50e..4b578f8bd7 100644
--- a/elf/dl-fini.c
+++ b/elf/dl-fini.c
@@ -20,6 +20,7 @@
#include <elf/ldsodefs.h>
void
+internal_function
_dl_fini (void)
{
struct link_map *l;
diff --git a/elf/dl-init.c b/elf/dl-init.c
index d9af0802b5..f93f8f1cb5 100644
--- a/elf/dl-init.c
+++ b/elf/dl-init.c
@@ -25,6 +25,7 @@
order (that is, leaf nodes first). */
ElfW(Addr)
+internal_function
_dl_init_next (struct link_map *map)
{
unsigned int i;
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 7d3ff0cc22..de940b2122 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -303,6 +303,7 @@ decompose_rpath (const char *rpath, size_t additional_room,
void
+internal_function
_dl_init_paths (const char *llp)
{
static const char *system_dirs[] =
@@ -979,6 +980,7 @@ open_path (const char *name, size_t namelen, int preloaded,
/* Map in the shared object file NAME. */
struct link_map *
+internal_function
_dl_map_object (struct link_map *loader, const char *name, int preloaded,
int type, int trace_mode)
{
diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
index 5a613587f2..7badf86328 100644
--- a/elf/dl-lookup.c
+++ b/elf/dl-lookup.c
@@ -210,6 +210,7 @@ do_lookup (const char *undef_name, unsigned long int hash,
UNDEF_NAME. */
ElfW(Addr)
+internal_function
_dl_lookup_symbol (const char *undef_name, const ElfW(Sym) **ref,
struct link_map *symbol_scope[],
const char *reference_name,
@@ -257,6 +258,7 @@ _dl_lookup_symbol (const char *undef_name, const ElfW(Sym) **ref,
object. If there are more search lists the object described by
SKIP_MAP is only skipped. */
ElfW(Addr)
+internal_function
_dl_lookup_symbol_skip (const char *undef_name, const ElfW(Sym) **ref,
struct link_map *symbol_scope[],
const char *reference_name,
@@ -305,6 +307,7 @@ _dl_lookup_symbol_skip (const char *undef_name, const ElfW(Sym) **ref,
XXX We'll see whether we need this separate function. */
ElfW(Addr)
+internal_function
_dl_lookup_versioned_symbol (const char *undef_name, const ElfW(Sym) **ref,
struct link_map *symbol_scope[],
const char *reference_name,
@@ -369,6 +372,7 @@ _dl_lookup_versioned_symbol (const char *undef_name, const ElfW(Sym) **ref,
/* Similar to _dl_lookup_symbol_skip but takes an additional argument
with the version we are looking for. */
ElfW(Addr)
+internal_function
_dl_lookup_versioned_symbol_skip (const char *undef_name,
const ElfW(Sym) **ref,
struct link_map *symbol_scope[],
@@ -429,6 +433,7 @@ _dl_lookup_versioned_symbol_skip (const char *undef_name,
/* Cache the location of MAP's hash table. */
void
+internal_function
_dl_setup_hash (struct link_map *map)
{
ElfW(Symndx) *hash;
diff --git a/elf/dl-object.c b/elf/dl-object.c
index 3705dd47ce..ed4b059754 100644
--- a/elf/dl-object.c
+++ b/elf/dl-object.c
@@ -31,6 +31,7 @@ struct link_map *_dl_default_scope[5];
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 *new = malloc (sizeof *new);
diff --git a/elf/dl-open.c b/elf/dl-open.c
index 99fac81e13..308175a8ae 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
@@ -51,6 +51,7 @@ __libc_lock_define_initialized_recursive (, _dl_load_lock)
struct link_map *
+internal_function
_dl_open (const char *file, int mode)
{
struct link_map *new, *l;
diff --git a/elf/dl-profile.c b/elf/dl-profile.c
index 5839dede67..669fee7a43 100644
--- a/elf/dl-profile.c
+++ b/elf/dl-profile.c
@@ -187,6 +187,7 @@ static int s_scale;
/* 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 (struct link_map *map, const char *output_dir)
{
char *filename;
@@ -437,6 +438,7 @@ _dl_start_profile (struct link_map *map, const char *output_dir)
void
+internal_function
_dl_mcount (ElfW(Addr) frompc, ElfW(Addr) selfpc)
{
uint16_t *topcindex;
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c
index 16296959ce..898fb48e42 100644
--- a/elf/dl-reloc.c
+++ b/elf/dl-reloc.c
@@ -27,6 +27,7 @@
void
+internal_function
_dl_relocate_object (struct link_map *l, struct link_map *scope[], int lazy)
{
if (l->l_relocated)
diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c
index cd414c3606..53601b809f 100644
--- a/elf/dl-runtime.c
+++ b/elf/dl-runtime.c
@@ -31,6 +31,7 @@ struct link_map **_dl_global_scope_end = &_dl_default_scope[3];
_dl_global_scope that should be passed to _dl_lookup_symbol for symbol
references made in the object L's relocations. */
inline struct link_map **
+internal_function
_dl_object_relocation_scope (struct link_map *l)
{
if (l->l_info[DT_SYMBOLIC])
diff --git a/elf/dl-symbol.c b/elf/dl-symbol.c
index 2b7b821bad..22adf4351a 100644
--- a/elf/dl-symbol.c
+++ b/elf/dl-symbol.c
@@ -23,6 +23,7 @@
/* Look up symbol NAME in MAP's scope and return its run-time address. */
ElfW(Addr)
+internal_function
_dl_symbol_value (struct link_map *map, const char *name)
{
ElfW(Addr) loadbase;
diff --git a/elf/dl-version.c b/elf/dl-version.c
index 9c93eff3f2..413b3bc0df 100644
--- a/elf/dl-version.c
+++ b/elf/dl-version.c
@@ -71,6 +71,7 @@ find_needed (const char *name, struct link_map *map)
static int
+internal_function
match_symbol (const char *name, ElfW(Word) hash, const char *string,
struct link_map *map, int verbose, int weak)
{
@@ -156,6 +157,7 @@ no version information available (required by ",
int
+internal_function
_dl_check_map_versions (struct link_map *map, int verbose)
{
int result = 0;
@@ -351,6 +353,7 @@ _dl_check_map_versions (struct link_map *map, int verbose)
int
+internal_function
_dl_check_all_versions (struct link_map *map, int verbose)
{
struct link_map *l;
diff --git a/elf/dlerror.c b/elf/dlerror.c
index b984b3d908..00d367b0a4 100644
--- a/elf/dlerror.c
+++ b/elf/dlerror.c
@@ -87,6 +87,7 @@ dlerror (void)
}
int
+internal_function
_dlerror_run (void (*operate) (void *), void *args)
{
__libc_once_define (static, once);
diff --git a/elf/ldsodefs.h b/elf/ldsodefs.h
index 86f23bfb8d..39f28332c6 100644
--- a/elf/ldsodefs.h
+++ b/elf/ldsodefs.h
@@ -196,7 +196,8 @@ extern int _dl_secure;
problem. */
extern void _dl_signal_error (int errcode,
const char *object,
- const char *errstring);
+ const char *errstring)
+ internal_function;
/* Call OPERATE, catching errors from `dl_signal_error'. If there is no
error, *ERRSTRING is set to null. If there is an error, *ERRSTRING is
@@ -206,21 +207,24 @@ extern void _dl_signal_error (int errcode,
ARGS is passed as argument to OPERATE. */
extern int _dl_catch_error (char **errstring,
void (*operate) (void *),
- void *args);
+ void *args)
+ internal_function;
/* Call OPERATE, receiving errors from `dl_signal_error'. Unlike
`_dl_catch_error' the operation is resumed after the OPERATE
function returns.
ARGS is passed as argument to OPERATE. */
extern void _dl_receive_error (receiver_fct fct, void (*operate) (void *),
- void *args);
+ void *args)
+ internal_function;
/* Helper function for <dlfcn.h> functions. Runs the OPERATE function via
_dl_catch_error. Returns zero for success, nonzero for failure; and
arranges for `dlerror' to return the error details.
ARGS is passed as argument to OPERATE. */
-extern int _dlerror_run (void (*operate) (void *), void *args);
+extern int _dlerror_run (void (*operate) (void *), void *args)
+ internal_function;
/* Open the shared object NAME and map in its segments.
@@ -230,7 +234,8 @@ extern int _dlerror_run (void (*operate) (void *), void *args);
value to allow additional security checks. */
extern struct link_map *_dl_map_object (struct link_map *loader,
const char *name, int preloaded,
- int type, int trace_mode);
+ int type, int trace_mode)
+ internal_function;
/* Call _dl_map_object on the dependencies of MAP, and set up
MAP->l_searchlist. PRELOADS points to a vector of NPRELOADS previously
@@ -238,19 +243,22 @@ extern struct link_map *_dl_map_object (struct link_map *loader,
but before its dependencies. */
extern void _dl_map_object_deps (struct link_map *map,
struct link_map **preloads,
- unsigned int npreloads, int trace_mode);
+ unsigned int npreloads, int trace_mode)
+ internal_function;
/* Cache the locations of MAP's hash table. */
-extern void _dl_setup_hash (struct link_map *map);
+extern void _dl_setup_hash (struct link_map *map) internal_function;
/* Open the shared object NAME, relocate it, and run its initializer if it
hasn't already been run. MODE is as for `dlopen' (see <dlfcn.h>). If
the object is already opened, returns its existing map. */
-extern struct link_map *_dl_open (const char *name, int mode);
+extern struct link_map *_dl_open (const char *name, int mode)
+ internal_function;
/* Close an object previously opened by _dl_open. */
-extern void _dl_close (struct link_map *map);
+extern void _dl_close (struct link_map *map)
+ internal_function;
/* Search loaded objects' symbol tables for a definition of the symbol
@@ -268,7 +276,8 @@ extern ElfW(Addr) _dl_lookup_symbol (const char *undef,
const ElfW(Sym) **sym,
struct link_map *symbol_scope[],
const char *reference_name,
- int reloc_type);
+ int reloc_type)
+ internal_function;
/* Lookup versioned symbol. */
extern ElfW(Addr) _dl_lookup_versioned_symbol (const char *undef,
@@ -276,14 +285,16 @@ extern ElfW(Addr) _dl_lookup_versioned_symbol (const char *undef,
struct link_map *symbol_scope[],
const char *reference_name,
const struct r_found_version *version,
- int reloc_type);
+ int reloc_type)
+ internal_function;
/* For handling RTLD_NEXT we must be able to skip shared objects. */
extern ElfW(Addr) _dl_lookup_symbol_skip (const char *undef,
const ElfW(Sym) **sym,
struct link_map *symbol_scope[],
const char *reference_name,
- struct link_map *skip_this);
+ struct link_map *skip_this)
+ internal_function;
/* For handling RTLD_NEXT with versioned symbols we must be able to
skip shared objects. */
@@ -292,13 +303,16 @@ extern ElfW(Addr) _dl_lookup_versioned_symbol_skip (const char *undef,
struct link_map *symbol_scope[],
const char *reference_name,
const struct r_found_version *version,
- struct link_map *skip_this);
+ struct link_map *skip_this)
+ internal_function;
/* Locate shared object containing the given address. */
-extern int _dl_addr (const void *address, Dl_info *info);
+extern int _dl_addr (const void *address, Dl_info *info)
+ internal_function;
/* 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);
+extern ElfW(Addr) _dl_symbol_value (struct link_map *map, const char *name)
+ internal_function;
/* Structure describing the dynamic linker itself. */
@@ -329,38 +343,41 @@ extern size_t _dl_global_scope_alloc; /* Number of slots malloc'd. */
/* Hack _dl_global_scope[0] and [1] as necessary, and return a pointer into
_dl_global_scope that should be passed to _dl_lookup_symbol for symbol
references made in the object MAP's relocations. */
-extern struct link_map **_dl_object_relocation_scope (struct link_map *map);
+extern struct link_map **_dl_object_relocation_scope (struct link_map *map)
+ internal_function;
/* Allocate a `struct link_map' for a new object being loaded,
and enter it into the _dl_loaded list. */
extern struct link_map *_dl_new_object (char *realname, const char *libname,
- int type);
+ int type) internal_function;
/* Relocate the given object (if it hasn't already been).
SCOPE is passed to _dl_lookup_symbol in symbol lookups.
If LAZY is nonzero, don't relocate its PLT. */
extern void _dl_relocate_object (struct link_map *map,
struct link_map *scope[],
- int lazy);
+ int lazy) internal_function;
/* 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);
+extern int _dl_check_all_versions (struct link_map *map, int verbose)
+ internal_function;
/* Check the version dependencies for MAP. If VERBOSE print some more
diagnostics. */
-extern int _dl_check_map_versions (struct link_map *map, int verbose);
+extern int _dl_check_map_versions (struct link_map *map, int verbose)
+ internal_function;
/* Return the address of the next initializer function for MAP or one of
its dependencies that has not yet been run. When there are no more
initializers to be run, this returns zero. The functions are returned
in the order they should be called. */
-extern ElfW(Addr) _dl_init_next (struct link_map *map);
+extern ElfW(Addr) _dl_init_next (struct link_map *map) internal_function;
/* Call the finalizer functions of all shared objects whose
initializer functions have completed. */
-extern void _dl_fini (void);
+extern void _dl_fini (void) internal_function;
/* The dynamic linker calls this function before and having changing
any shared object mappings. The `r_state' member of `struct r_debug'
@@ -371,31 +388,35 @@ extern void _dl_debug_state (void);
/* Initialize `struct r_debug' if it has not already been done. The
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);
+extern struct r_debug *_dl_debug_initialize (ElfW(Addr) ldbase)
+ internal_function;
/* Initialize the basic data structure for the search paths. */
-extern void _dl_init_paths (const char *library_path);
+extern void _dl_init_paths (const char *library_path) internal_function;
/* Gather the information needed to install the profiling tables and start
the timers. */
-extern void _dl_start_profile (struct link_map *map, const char *output_dir);
+extern void _dl_start_profile (struct link_map *map, const char *output_dir)
+ internal_function;
/* The actual functions used to keep book on the calls. */
-extern void _dl_mcount (ElfW(Addr) frompc, ElfW(Addr) selfpc);
+extern void _dl_mcount (ElfW(Addr) frompc, ElfW(Addr) selfpc)
+ internal_function;
/* Show the members of the auxiliary array passed up from the kernel. */
-extern void _dl_show_auxv (void);
+extern void _dl_show_auxv (void) internal_function;
/* Return all environment variables starting with `LD_', one after the
other. */
-extern char *_dl_next_ld_env_entry (char ***position);
+extern char *_dl_next_ld_env_entry (char ***position) internal_function;
/* 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);
+ size_t *max_capstrlen)
+ internal_function;
__END_DECLS
diff --git a/intl/finddomain.c b/intl/finddomain.c
index a44197c808..0b697ef053 100644
--- a/intl/finddomain.c
+++ b/intl/finddomain.c
@@ -1,5 +1,5 @@
/* Handle list of needed message catalogs
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
This file is part of the GNU C Library. Its master source is NOT part of
@@ -74,6 +74,7 @@ static struct loaded_l10nfile *_nl_loaded_domains;
the DOMAINNAME and CATEGORY parameters with respect to the currently
established bindings. */
struct loaded_l10nfile *
+internal_function
_nl_find_domain (dirname, locale, domainname)
const char *dirname;
char *locale;
diff --git a/intl/gettextP.h b/intl/gettextP.h
index 5225bcbc5e..fd2547b2c7 100644
--- a/intl/gettextP.h
+++ b/intl/gettextP.h
@@ -1,5 +1,5 @@
/* Header describing internals of gettext library
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
The GNU C Library is free software; you can redistribute it and/or
@@ -32,6 +32,10 @@
# endif
#endif
+#ifndef internal_function
+# define internal_function
+#endif
+
#ifndef W
# define W(flag, data) ((flag) ? SWAP (data) : (data))
#endif
@@ -69,9 +73,12 @@ struct binding
struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
char *__locale,
- const char *__domainname));
-void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain));
-void _nl_unload_domain PARAMS ((struct loaded_domain *__domain));
+ const char *__domainname))
+ internal_function;
+void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain))
+ internal_function;
+void _nl_unload_domain PARAMS ((struct loaded_domain *__domain))
+ internal_function;
/* @@ begin of epilog @@ */
diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c
index de0534269f..f6214e1428 100644
--- a/intl/loadmsgcat.c
+++ b/intl/loadmsgcat.c
@@ -1,5 +1,5 @@
/* Load needed message catalogs.
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. Its master source is NOT part of
the C library, however.
@@ -64,6 +64,7 @@ int _nl_msg_cat_cntr = 0;
/* Load the message catalogs specified by FILENAME. If it is no valid
message catalog do nothing. */
void
+internal_function
_nl_load_domain (domain_file)
struct loaded_l10nfile *domain_file;
{
@@ -208,6 +209,7 @@ _nl_load_domain (domain_file)
#ifdef _LIBC
void
+internal_function
_nl_unload_domain (domain)
struct loaded_domain *domain;
{
diff --git a/sysdeps/generic/dl-sysdep.c b/sysdeps/generic/dl-sysdep.c
index e05d38d31c..58c093e268 100644
--- a/sysdeps/generic/dl-sysdep.c
+++ b/sysdeps/generic/dl-sysdep.c
@@ -171,6 +171,7 @@ _dl_sysdep_start_cleanup (void)
}
void
+internal_function
_dl_show_auxv (void)
{
char buf[64];
@@ -252,6 +253,7 @@ _dl_show_auxv (void)
/* 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;
@@ -277,6 +279,7 @@ _dl_next_ld_env_entry (char ***position)
/* 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/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h
index 394188d0e4..fd463778f9 100644
--- a/sysdeps/i386/dl-machine.h
+++ b/sysdeps/i386/dl-machine.h
@@ -224,11 +224,10 @@ _dl_start_user:\n\
# Push _dl_default_scope[2] as argument in _dl_init_next call below.\n\
movl _dl_default_scope@GOT(%ebx), %eax\n\
movl 8(%eax), %esi\n\
-0: pushl %esi\n\
+0: movl %esi,%eax\n\
# Call _dl_init_next to return the address of an initializer\n\
# function to run.\n\
call _dl_init_next@PLT\n\
- addl $4, %esp # Pop argument.\n\
# Check for zero return, when out of initializers.\n\
testl %eax, %eax\n\
jz 1f\n\