* Use popcount64 from libc when available
Without this, we get a compiler error on NetBSD because the one in
libc has a slightly different prototype.
libcpuid_util.c:78:12: error: conflicting types for 'popcount64'
78 | static int popcount64(uint64_t mask)
| ^~~~~~~~~~
In file included from /nix/store/155rj8nqh3xd80vpa8hl35p3hk7pacys-include-netbsd-8.0/include/string.h:98,
from libcpuid_util.c:30:
/nix/store/155rj8nqh3xd80vpa8hl35p3hk7pacys-include-netbsd-8.0/include/strings.h:61:14: note: previous declaration of 'popcount64' was here
61 | unsigned int popcount64(__uint64_t) __constfunc;
| ^~~~~~~~~~
* Return unsigned int from popcount64
Matches NetBSD libc, where popcount64 originates.
* Set version to 0.5.0
* Update debian/control to the new version (incompatible with 0.4.x)
* Rename .install files to match SO version
Co-authored-by: Veselin Georgiev <anrieff@gmail.com>
The version is 0.4.1 (instead of suggested 0.5.0) since it
introduces no backwards-incompatible changes.
Only version is actually changed, no code modifications.
Initial commit adding support for detection of SGX. Not tested yet.
Increment version number due to binary incompatibility of the
sizes of cpu_raw_data_t and cpu_id_t.
This is a backwards-incompatible binary change, which increases
sizeof(cpu_raw_data_t). Specifically, the cpu_raw_data_t::intel_fn4
array is increased from 4 to 8 elements, because on recent Hasells
(Crystalwell) there is a Level 4 cache, which should be encoded in
CPUID eax=4 ecx=4. However, we were only storing levels for eax=4
for ecx <= 3. Thus the raw data didn't have the relevant info.
There will be further changes to this, specifically to store
and print the level 4 cache in cpuid_tool.
Automake >= 1.12 seems to require AM_PROG_AR to be happy with our
configure.ac. However, this macro is not defined on < 1.12, thus
the ifdef.
Confirmed that the project bootstraps without warnings on both
Fedora 14 and Ubuntu 13.10.
Previously, 0.2.1 was mentioned in libcpuid.h, but this was not,
actually, in effect; it wasn't mentioned in autoconf and Visual Studio
project files. Also, cpuid_lib_version() still returned "0.2.0".