]> sourceware.org Git - glibc.git/commit
Add _arch_/_cpu_ to index_*/bit_* in x86 cpu-features.h
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 10 Mar 2016 13:26:46 +0000 (05:26 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 10 Mar 2016 13:27:07 +0000 (05:27 -0800)
commit6aa3e97e2530f9917f504eb4146af119a3f27229
treedf8362ad2b5876407ffcf9ce6ebdea8512852b32
parentf8e9c4d30c28b8815e65a391416e8b15d2e7cbb8
Add _arch_/_cpu_ to index_*/bit_* in x86 cpu-features.h

index_* and bit_* macros are used to access cpuid and feature arrays o
struct cpu_features.  It is very easy to use bits and indices of cpuid
array on feature array, especially in assembly codes.  For example,
sysdeps/i386/i686/multiarch/bcopy.S has

HAS_CPU_FEATURE (Fast_Rep_String)

which should be

HAS_ARCH_FEATURE (Fast_Rep_String)

We change index_* and bit_* to index_cpu_*/index_arch_* and
bit_cpu_*/bit_arch_* so that we can catch such error at build time.

[BZ #19762]
* sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
(EXTRA_LD_ENVVARS): Add _arch_ to index_*/bit_*.
* sysdeps/x86/cpu-features.c (init_cpu_features): Likewise.
* sysdeps/x86/cpu-features.h (bit_*): Renamed to ...
(bit_arch_*): This for feature array.
(bit_*): Renamed to ...
(bit_cpu_*): This for cpu array.
(index_*): Renamed to ...
(index_arch_*): This for feature array.
(index_*): Renamed to ...
(index_cpu_*): This for cpu array.
[__ASSEMBLER__] (HAS_FEATURE): Add and use field.
[__ASSEMBLER__] (HAS_CPU_FEATURE)): Pass cpu to HAS_FEATURE.
[__ASSEMBLER__] (HAS_ARCH_FEATURE)): Pass arch to HAS_FEATURE.
[!__ASSEMBLER__] (HAS_CPU_FEATURE): Replace index_##name and
bit_##name with index_cpu_##name and bit_cpu_##name.
[!__ASSEMBLER__] (HAS_ARCH_FEATURE): Replace index_##name and
bit_##name with index_arch_##name and bit_arch_##name.
ChangeLog
sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
sysdeps/x86/cpu-features.c
sysdeps/x86/cpu-features.h
This page took 0.042449 seconds and 5 git commands to generate.