diff options
author | Florian Weimer <fweimer@redhat.com> | 2022-02-11 16:01:19 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2022-02-11 17:10:59 +0100 |
commit | d96d2995c1121d3310102afda2deb1f35761b5e6 (patch) | |
tree | e685f4927e3aa429d3a98abcdb1f9fd7c577a2d1 /sysdeps/unix/sysv/linux/alpha | |
parent | 02561bb48a26429a238cbd6afbe5998dabcc4546 (diff) | |
download | glibc-d96d2995c1121d3310102afda2deb1f35761b5e6.tar glibc-d96d2995c1121d3310102afda2deb1f35761b5e6.tar.gz glibc-d96d2995c1121d3310102afda2deb1f35761b5e6.tar.bz2 glibc-d96d2995c1121d3310102afda2deb1f35761b5e6.zip |
Revert "Linux: Consolidate auxiliary vector parsing"
This reverts commit 8c8510ab2790039e58995ef3a22309582413d3ff. The
revert is not perfect because the commit included a bug fix for
_dl_sysdep_start with an empty argv, introduced in commit
2d47fa68628e831a692cba8fc9050cef435afc5e ("Linux: Remove
DL_FIND_ARG_COMPONENTS"), and this bug fix is kept.
The revert is necessary because the reverted commit introduced an
early memset call on aarch64, which leads to crash due to lack of TCB
initialization.
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/dl-auxv.h | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/dl-auxv.h b/sysdeps/unix/sysv/linux/alpha/dl-auxv.h index fcec743239..81d90da095 100644 --- a/sysdeps/unix/sysv/linux/alpha/dl-auxv.h +++ b/sysdeps/unix/sysv/linux/alpha/dl-auxv.h @@ -20,8 +20,16 @@ extern long __libc_alpha_cache_shape[4]; -#define DL_PLATFORM_AUXV \ - __libc_alpha_cache_shape[0] = auxv_values[AT_L1I_CACHESHAPE]; \ - __libc_alpha_cache_shape[1] = auxv_values[AT_L1D_CACHESHAPE]; \ - __libc_alpha_cache_shape[2] = auxv_values[AT_L2_CACHESHAPE]; \ - __libc_alpha_cache_shape[3] = auxv_values[AT_L3_CACHESHAPE]; +#define DL_PLATFORM_AUXV \ + case AT_L1I_CACHESHAPE: \ + __libc_alpha_cache_shape[0] = av->a_un.a_val; \ + break; \ + case AT_L1D_CACHESHAPE: \ + __libc_alpha_cache_shape[1] = av->a_un.a_val; \ + break; \ + case AT_L2_CACHESHAPE: \ + __libc_alpha_cache_shape[2] = av->a_un.a_val; \ + break; \ + case AT_L3_CACHESHAPE: \ + __libc_alpha_cache_shape[3] = av->a_un.a_val; \ + break; |