I am trying to build GLIBC 2.14 from source. I keep getting the error message that cpuid.h was not found. What does that file contain and what purpose does it serve ?I have seen that cpuid.h is placed in two different locations ie./usr/lib/gcc/x86_64-redhat-linux/4.3.0/include/cpuid.h/usr/src/kernels/2.6.25-14.fc9.x86_64/include/config/x86/cpuid.hAlso I have seen that these two files are different running a simple diff tells me that -:diff --brief /usr/lib/gcc/x86_64-redhat-linux/4.3.0/include/cpuid.h /usr/src/kernels/2.6.25-14.fc9.x86_64/include/config/x86/cpuid.hFiles /usr/lib/gcc/x86_64-redhat-linux/4.3.0/include/cpuid.h and /usr/src/kernels/2.6.25-14.fc9.x86_64/include/config/x86/cpuid.h differWhat is cpuid.h, what does it normally contain and what purpose does it serve ?
What does the file cpuid.h do?
compiling;gcc
cpuid.h contains definitions of assembly-language fragments to get low-level info out of certain CPUs, plus names for various numeric constants that a program might use to figure out what kind of CPU it was running on, and what features are available.  (For example, if the program wanted to use special matrix-math instructions available on some CPUs, it could check whether the instructions were available before trying to use them.  If the program was running on an older CPU, it could use software emulation of those instructions instead.)The quick-n-dirty way to move ahead in your compilation project is just to copy one of the cpuid.h files you've found to a place where the compiler can find it.  (Maybe try cp /usr/lib/gcc/x86_64-redhat-linux/4.3.0/include/cpuid.h /usr/include)  It might not be the right file for your CPU, but most library routines don't need the cpuid information anyway, so it may let you make useful progress.  However, the library you build might not work in 100% of the places you expect it to, if you ever hit a function that tries to look up CPU info.