aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/powerpc
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2003-03-15 23:09:52 +0000
committerRoland McGrath <roland@gnu.org>2003-03-15 23:09:52 +0000
commit124dcac84b992d26cfe992f9017f49e92c37add2 (patch)
tree0d6ed66ef128e14f3b685448ebdcdc1872ec243c /sysdeps/unix/sysv/linux/powerpc
parent2b089f2101801ca2a3295fcd755261288ce6268e (diff)
downloadglibc-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/sysv/linux/powerpc')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c31
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>