about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h
Commit message (Collapse)AuthorAgeFilesLines
* x86: Set dl_platform and dl_hwcap from CPU features [BZ #21391]H.J. Lu2017-05-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dl_platform and dl_hwcap are set from AT_PLATFORM and AT_HWCAP very early during startup. They are used by dynamic linker to determine platform and build an array of hardware capability names, which are added to search path when loading shared object. dl_platform and dl_hwcap are unused on x86-64. On i386, i386, i486, i586 and i686 platforms were supported and only SSE2 capability was used. On x86, usage of AT_PLATFORM and AT_HWCAP to determine platform and processor capabilities is obsolete since all information is available in dl_x86_cpu_features. This patch sets dl_platform and dl_hwcap from dl_x86_cpu_features in dynamic linker. On i386, the available plaforms are changed to i586 and i686 since i386 has been deprecated. On x86-64, the available plaforms are haswell, which is for Haswell class processors with BMI1, BMI2, LZCNT, MOVBE, POPCNT, AVX2 and FMA, and xeon_phi, which is for Xeon Phi class processors with AVX512F, AVX512CD, AVX512ER and AVX512PF. A capability, avx512_1, is also added to x86-64 for AVX512 ISAs: AVX512F, AVX512CD, AVX512BW, AVX512DQ and AVX512VL. [BZ #21391] * sysdeps/i386/dl-machine.h (dl_platform_init) [IS_IN (rtld)]: Only call init_cpu_features. [!IS_IN (rtld)]: Only set GLRO(dl_platform) to NULL if needed. * sysdeps/x86_64/dl-machine.h (dl_platform_init): Likewise. * sysdeps/i386/dl-procinfo.h: Removed. * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Don't include <sysdeps/i386/dl-procinfo.h> nor <ldsodefs.h>. Include <sysdeps/x86/dl-procinfo.h>. (_dl_procinfo): Replace _DL_HWCAP_COUNT with 32. * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h [!IS_IN (ldconfig)]: Include <sysdeps/x86/dl-procinfo.h> instead of <sysdeps/generic/dl-procinfo.h>. * sysdeps/x86/cpu-features.c: Include <dl-hwcap.h>. (init_cpu_features): Set dl_platform, dl_hwcap and dl_hwcap_mask. * sysdeps/x86/cpu-features.h (bit_cpu_LZCNT): New. (bit_cpu_MOVBE): Likewise. (bit_cpu_BMI1): Likewise. (bit_cpu_BMI2): Likewise. (index_cpu_BMI1): Likewise. (index_cpu_BMI2): Likewise. (index_cpu_LZCNT): Likewise. (index_cpu_MOVBE): Likewise. (index_cpu_POPCNT): Likewise. (reg_BMI1): Likewise. (reg_BMI2): Likewise. (reg_LZCNT): Likewise. (reg_MOVBE): Likewise. (reg_POPCNT): Likewise. * sysdeps/x86/dl-hwcap.h: New file. * sysdeps/x86/dl-procinfo.h: Likewise. * sysdeps/x86/dl-procinfo.c (_dl_x86_hwcap_flags): New. (_dl_x86_platforms): Likewise.
* Remove IS_IN_ldconfigSiddhesh Poyarekar2014-11-241-1/+1
| | | | | | | | | Replace with IS_IN (ldconfig). No change in generated code. * elf/Makefile (CFLAGS-ldconfig.c): Remove definition of IS_IN_ldconfig. * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c: Use IS_IN. * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h: Likewise.
* 2005-12-13 Ulrich Drepper <drepper@redhat.com>Ulrich Drepper2005-12-141-2/+2
|
* (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.Ulrich Drepper2004-12-221-2/+2
|
* 2.5-18.1Jakub Jelinek2007-07-121-2/+2
|
* Update.Ulrich Drepper2003-07-221-0/+5
2003-07-22 H.J. Lu <hongjiu.lu@intel.com> * elf/dl-support.c (_dl_hwcap): New variable. (_dl_aux_init): Initialize GL(dl_hwcap) for static binaries. * sysdeps/i386/fpu/fclrexcpt.c: Include <unistd.h>, <ldsodefs.h> and <dl-procinfo.h>. (__feclearexcept): Clear MXCSR if needed. * sysdeps/i386/fpu/fsetexcptflg.c: Likewise. * sysdeps/i386/fpu_control.h (_FPU_GETCW, _FPU_SETCW): Document that newer hardware needs more than these macros. * sysdeps/i386/setfpucw.c: New file. 2003-07-22 Jakub Jelinek <jakub@redhat.com> * elf/Makefile (CFLAGS-ldconfig.c): Define IS_IN_ldconfig. * elf/ldconfig.c: Include dl-procinfo.c. (PROCINFO_CLASS): Define. * sysdeps/generic/ldsodefs.h (PROCINFO_CLASS): Define. * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c: New file. * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h: New file. * sysdeps/unix/sysv/linux/i386/dl-procinfo.c (PROCINFO_CLASS): Define if not yet defined. Use it instead of EXTERN. Undefine at the end of the file. * sysdeps/unix/sysv/linux/arm/dl-procinfo.c (PROCINFO_CLASS): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c (PROCINFO_CLASS): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c (PROCINFO_CLASS): Likewise. 2003-07-22 H.J. Lu <hongjiu.lu@intel.com> * elf/ldconfig.c (main): Issue a fatal error if relative path is used to build cache. 2003-07-22 Ulrich Drepper <drepper@redhat.com> * elf/readlib.c (process_file): Avoid possible overflow in assignment.