On 05 Jul 2016, at 18:03, jenkins-ad...@freebsd.org wrote: > > FreeBSD_HEAD_amd64_gcc - Build #1340 - Still Failing: > > Build information: > https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_amd64_gcc/1340/ > Full change log: > https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_amd64_gcc/1340/changes > Full build log: > https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_amd64_gcc/1340/console ... > /builds/FreeBSD_HEAD_amd64_gcc/usr.sbin/bhyve/rfb.c: In function > 'sse42_supported': > /builds/FreeBSD_HEAD_amd64_gcc/usr.sbin/bhyve/rfb.c:885:17: error: > 'bit_SSE42' undeclared (first use in this function) > return ((ecx & bit_SSE42) != 0); > ^
So, this is because clang's and gcc's versions of cpuid.h use slightly different naming for these bits: clang's cpuid.h: #define bit_SSE41 0x00080000 #define bit_SSE42 0x00100000 gcc's cpuid.h: #define bit_SSE4_1 (1 << 19) #define bit_SSE4_2 (1 << 20) Unfortunately there are more bit defines that differ. No standardization on this point, it seems. :-/ For this specific compile error, we could put in a little crutch like: #if defined(bit_SSE4_2) && !defined(bit_SSE42) #define bit_SSE42 bit_SSE4_2 #endif Thoughts? -Dimitry
signature.asc
Description: Message signed with OpenPGP using GPGMail