diff options
author | Florian Weimer <fweimer@redhat.com> | 2022-02-28 11:50:41 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2022-02-28 11:50:41 +0100 |
commit | 73fc4e28b9464f0e13edc719a5372839970e7ddb (patch) | |
tree | 62b7c150b29bccc23cda28ac57f60d2d1a973481 /sysdeps/unix/sysv/linux/alpha | |
parent | 1fe00d3eb602a0754873b536dc92fb6226759ee4 (diff) | |
download | glibc-73fc4e28b9464f0e13edc719a5372839970e7ddb.tar glibc-73fc4e28b9464f0e13edc719a5372839970e7ddb.tar.gz glibc-73fc4e28b9464f0e13edc719a5372839970e7ddb.tar.bz2 glibc-73fc4e28b9464f0e13edc719a5372839970e7ddb.zip |
Linux: Consolidate auxiliary vector parsing (redo)
And optimize it slightly.
This is commit 8c8510ab2790039e58995ef3a22309582413d3ff revised.
In _dl_aux_init in elf/dl-support.c, use an explicit loop
and -fno-tree-loop-distribute-patterns to avoid memset.
Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/dl-auxv.h | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/dl-auxv.h b/sysdeps/unix/sysv/linux/alpha/dl-auxv.h index 81d90da095..fcec743239 100644 --- a/sysdeps/unix/sysv/linux/alpha/dl-auxv.h +++ b/sysdeps/unix/sysv/linux/alpha/dl-auxv.h @@ -20,16 +20,8 @@ extern long __libc_alpha_cache_shape[4]; -#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; +#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]; |