> On Jul 5, 2016, at 11:54, Ngie Cooper (yaneurabeya) <yaneurab...@gmail.com> > wrote: > >> >> On Jul 5, 2016, at 11:52, Dimitry Andric <d...@freebsd.org> wrote: >> >> 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? > > Seems ok to me. I was going to submit a patch to fix the other issues > with bhyve (because I am getting annoyed by the build failure emails).
Actually, there’s a better #define: /usr/include/x86/specialreg.h:#define CPUID2_SSE41 0x00080000 Thanks, -Ngie
Description: Message signed with OpenPGP using GPGMail