diff options
author | Richard Henderson <rth@redhat.com> | 2007-03-13 21:25:16 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 2007-03-13 21:25:16 +0000 |
commit | 47dbe62b552dee48242bc8437caed215d5f19435 (patch) | |
tree | 19995d87d57293f99fc0a5b10e5a89edef14888d /sysdeps/unix/sysv/linux/alpha/dl-sysdep.c | |
parent | b8097bed55c6d3e4fcdeedc231d659de60911d61 (diff) | |
download | glibc-47dbe62b552dee48242bc8437caed215d5f19435.tar.gz glibc-47dbe62b552dee48242bc8437caed215d5f19435.tar.xz glibc-47dbe62b552dee48242bc8437caed215d5f19435.zip |
* elf/dl-support.c (_dl_aux_init): Honor DL_PLATFORM_AUXV.
* sysdeps/unix/sysv/linux/alpha/dl-auxv.h: New file. * sysdeps/unix/sysv/linux/alpha/dl-support.c: New file. * sysdeps/unix/sysv/linux/alpha/dl-sysdep.c (__libc_alpha_cache_shape): Move to dl-auxv.h; initialize instead of extern weak. (DL_PLATFORM_AUXV): Move to dl-auxv.h; don't test for undef weak symbol. * sysdeps/unix/sysv/linux/alpha/sysconf.c (__libc_alpha_cache_shape): Extern instead of initialized. * elf/dl-support.c (_dl_aux_init): Honor DL_PLATFORM_AUXV. * sysdeps/unix/sysv/linux/alpha/dl-auxv.h: New file. * sysdeps/unix/sysv/linux/alpha/dl-support.c: New file. * sysdeps/unix/sysv/linux/alpha/dl-sysdep.c (__libc_alpha_cache_shape): Move to dl-auxv.h; initialize instead of extern weak. (DL_PLATFORM_AUXV): Move to dl-auxv.h; don't test for undef weak symbol. * sysdeps/unix/sysv/linux/alpha/sysconf.c (__libc_alpha_cache_shape): Extern instead of initialized. 2007-03-13 Richard Henderson <rth@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha/dl-sysdep.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/dl-sysdep.c | 59 |
1 files changed, 1 insertions, 58 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c b/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c index d95e46f6f1..4034820f4d 100644 --- a/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c +++ b/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c @@ -1,59 +1,2 @@ -/* Operating system support for run-time dynamic linker. Linux/Alpha version. - Copyright (C) 1997, 1998, 2001, 2003, 2006 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <config.h> -#include <kernel-features.h> -#include <ldsodefs.h> - -extern long __libc_alpha_cache_shape[4]; -weak_extern (__libc_alpha_cache_shape); - - -/* Scan the Aux Vector for the cache shape entries. */ -#define DL_PLATFORM_AUXV \ - case AT_L1I_CACHESHAPE: \ - { \ - long *cls = __libc_alpha_cache_shape; \ - if (cls != NULL) \ - cls[0] = av->a_un.a_val; \ - break; \ - } \ - case AT_L1D_CACHESHAPE: \ - { \ - long *cls = __libc_alpha_cache_shape; \ - if (cls != NULL) \ - cls[1] = av->a_un.a_val; \ - break; \ - } \ - case AT_L2_CACHESHAPE: \ - { \ - long *cls = __libc_alpha_cache_shape; \ - if (cls != NULL) \ - cls[2] = av->a_un.a_val; \ - break; \ - } \ - case AT_L3_CACHESHAPE: \ - { \ - long *cls = __libc_alpha_cache_shape; \ - if (cls != NULL) \ - cls[3] = av->a_un.a_val; \ - break; \ - } - +#include "dl-auxv.h" #include <sysdeps/unix/sysv/linux/dl-sysdep.c> |