1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-07 12:21:14 +03:00
2001-01-05  H.J. Lu  <hjl@gnu.org>

	* elf/dl-support.c (non_dynamic_init): Move the auxiliary
	vector checking to ...
	(_dl_aux_init): Here. New function. Defined only if
	HAVE_AUX_VECTOR is defined.

	* sysdeps/generic/libc-start.c (__libc_start_main): Call
	_dl_aux_init for static binaries if HAVE_AUX_VECTOR is defined.

	* sysdeps/powerpc/elf/libc-start.c (__libc_start_main): Call
	_dl_aux_init.

	* sysdeps/unix/sysv/linux/ldsodefs.h (DL_FIND_AUXV): Removed.
	(HAVE_AUX_VECTOR): Defined.
	(_dl_aux_init): Declared.
This commit is contained in:
Ulrich Drepper
2001-01-07 02:00:21 +00:00
parent bf798a9534
commit e4a5f77de6
6 changed files with 45 additions and 24 deletions

View File

@ -108,34 +108,31 @@ int _dl_starting_up = 1;
__libc_lock_define_initialized_recursive (, _dl_load_lock)
#ifdef HAVE_AUX_VECTOR
extern int _dl_clktck;
static void non_dynamic_init (int argc, char **argv, char **envp)
__attribute__ ((unused));
static void
non_dynamic_init (int argc, char **argv, char **envp)
void
internal_function
_dl_aux_init (ElfW(auxv_t) *av)
{
#ifdef DL_FIND_AUXV
ElfW(auxv_t) *av;
DL_FIND_AUXV (av, envp);
for (; av->a_type != AT_NULL; ++av)
switch (av->a_type)
{
case AT_PAGESZ:
_dl_pagesize = av->a_un.a_val;
break;
case AT_PLATFORM:
_dl_platform = av->a_un.a_ptr;
break;
case AT_CLKTCK:
_dl_clktck = av->a_un.a_val;
break;
}
}
#endif
static void non_dynamic_init (void) __attribute__ ((unused));
static void
non_dynamic_init (void)
{
if (!_dl_pagesize)
_dl_pagesize = __getpagesize ();