diff options
author | Roland McGrath <roland@gnu.org> | 2003-03-15 23:09:52 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2003-03-15 23:09:52 +0000 |
commit | 124dcac84b992d26cfe992f9017f49e92c37add2 (patch) | |
tree | 0d6ed66ef128e14f3b685448ebdcdc1872ec243c /sysdeps/unix | |
parent | 2b089f2101801ca2a3295fcd755261288ce6268e (diff) | |
download | glibc-124dcac84b992d26cfe992f9017f49e92c37add2.tar glibc-124dcac84b992d26cfe992f9017f49e92c37add2.tar.gz glibc-124dcac84b992d26cfe992f9017f49e92c37add2.tar.bz2 glibc-124dcac84b992d26cfe992f9017f49e92c37add2.zip |
* sysdeps/powerpc/elf/libc-start.c (AUX_VECTOR_INIT): Define it.
(LIBC_START_MAIN, LIBC_START_MAIN_AUXVEC_ARG, MAIN_AUXVEC_ARG)
(INIT_MAIN_ARGS): Define, and #include <sysdeps/generic/libc-start.c>.
(__libc_start_main): Just call the generic one for most of the work.
* sysdeps/generic/libc-start.c [LIBC_START_MAIN]: If defined, define a
static function by that name instead of BP_SYM (__libc_start_main).
[LIBC_START_MAIN_AUXVEC_ARG]: Take AUXVEC as argument.
[MAIN_AUXVEC_ARG]: Pass 4th argument to MAIN.
[INIT_MAIN_ARGS]: Give INIT the same args as MAIN.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [DL_PLATFORM_AUXV]:
Use this macro for extra AT_* cases.
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c (DL_PLATFORM_AUXV):
New macro, guts from ...
(__aux_init_cache): ... here, function removed.
(DL_PLATFORM_INIT): Don't define this.
* sysdeps/powerpc/powerpc32/memset.S: Put __cache_line_size in bss.
* sysdeps/powerpc/powerpc64/memset.S: Likewise.
* Versions.def (libthread_db): Add GLICB_2.3.3 set.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c index a8687b35b1..64e4e2c4d3 100644 --- a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c +++ b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c @@ -1,5 +1,5 @@ /* Operating system support for run-time dynamic linker. Linux/PPC version. - Copyright (C) 1997, 1998, 2001 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 2001, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,27 +25,18 @@ extern int __cache_line_size; weak_extern (__cache_line_size) -#define DL_PLATFORM_INIT __aux_init_cache(_dl_auxv) - /* Scan the Aux Vector for the "Data Cache Block Size" entry. If found verify that the static extern __cache_line_size is defined by checking - for not NULL. If it is defined then assign the cache block size + for not NULL. If it is defined then assign the cache block size value to __cache_line_size. */ -static inline void -__aux_init_cache (ElfW(auxv_t) *av) -{ - for (; av->a_type != AT_NULL; ++av) - switch (av->a_type) - { - case AT_DCACHEBSIZE: - { - int *cls = & __cache_line_size; - if (cls != NULL) - *cls = av->a_un.a_val; - } - break; - } -} +#define DL_PLATFORM_AUXV \ + case AT_DCACHEBSIZE: \ + { \ + int *cls = & __cache_line_size; \ + if (cls != NULL) \ + *cls = av->a_un.a_val; \ + } \ + break; #ifndef __ASSUME_STD_AUXV @@ -78,4 +69,4 @@ __aux_init_cache (ElfW(auxv_t) *av) } while (0) #endif -#include <sysdeps/unix/sysv/linux/dl-sysdep.c> +#include_next <sysdeps/unix/sysv/linux/dl-sysdep.c> |