Date: Wed, 07 Oct 2015 13:50:54 -0700 From: John Baldwin <jhb@freebsd.org> To: "O. Hartmann" <ohartman@zedat.fu-berlin.de> Cc: freebsd-current@freebsd.org, Dimitry Andric <dim@freebsd.org> Subject: Re: CURRENT: build failure with clang 3.7.0 Message-ID: <2790993.pgulpShlNy@ralph.baldwin.cx> In-Reply-To: <20151007210950.60474f36.ohartman@zedat.fu-berlin.de> References: <20151007093727.0db8e2e6@freyja.zeit4.iv.bundesimmobilien.de> <10633363.fQY0fDW1VU@ralph.baldwin.cx> <20151007210950.60474f36.ohartman@zedat.fu-berlin.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, October 07, 2015 09:09:50 PM O. Hartmann wrote: > Am Wed, 07 Oct 2015 11:03 -0700 > John Baldwin <jhb@freebsd.org> schrieb: > > > On Wednesday, October 07, 2015 01:33:23 PM O. Hartmann wrote: > > > On Wed, 7 Oct 2015 13:23:48 +0200 > > > Dimitry Andric <dim@FreeBSD.org> wrote: > > > > > > > On 07 Oct 2015, at 09:37, O. Hartmann <ohartman@zedat.fu-berlin.de> wrote: > > > > > > > > > > I hit on a box this nasty/sticky error when performing buildworld. > > > > > > > > > > /usr/src is on r288980 > > > > ... > > > > > --- ieee802_11_common.o --- > > > > ... > > > > > -c /usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/common/ieee802_11_common.c > > > > > -o ieee802_11_common.o Cannot emit physreg copy instruction UNREACHABLE > > > > > executed > > > > > at /usr/src/lib/clang/libllvmx86codegen/../../../contrib/llvm/lib/Target/X86/X86InstrInfo.cpp:3935! > > > > > > > > Somebody else reported the same to me yesterday. This is an upstream > > > > bug with AVX (which is still present in llvm trunk), so for now you need > > > > to set your CPUTYPE to something that doesn't have AVX, or simply unset > > > > your CPUTYPE. > > > > > > > > The bug has been reported upstream, and once there is a fix, I will > > > > import it ASAP. > > > > > > > > -Dimitry > > > > > > > > > > Funny, I have several other boxes, definitely having AVX aboard: > > > > > > [... from dmesg] > > > Jul 29 07:05:52 freyja kernel: CPU: Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz > > > (3491.98-MHz K8-class CPU) > > > Jul 29 07:05:52 freyja kernel: Origin="GenuineIntel" Id=0x306f2 Family=0x6 > > > Model=0x3f Stepping=2 > > > Jul 29 07:05:52 freyja kernel: > > > Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> > > > Jul 29 07:05:52 freyja kernel: > > > Features2=0x7dfefbff<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,DCA,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,XSAVE,OSXSAVE,AVX,F16C,RDRAND> > > > Jul 29 07:05:52 freyja kernel: AMD > > > Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM> > > > Jul 29 07:05:52 freyja kernel: AMD Features2=0x21<LAHF,ABM> > > > Jul 29 07:05:52 freyja kernel: Structured Extended > > > Features=0x37ab<FSGSBASE,TSCADJ,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,PQM,NFPUSG> > > > > > > [...] > > > > > > which is a most recent Haswell XEON and builds world fine. My personal failing > > > box is a i3-32XX, IvyBridge, but the IvyBridge E3-124XX XEON builds well. > > > > It's not about whether your CPU supports it, it is about whether or not you have > > asked the compiler to use it. Normally by setting 'CPUTYPE' in /etc/make.conf > > or the like. (I also was bitten by this yesterday on my sandbridge laptop > > where I have 'CPUTYPE=corei7-avx' in /etc/src.conf.) The workaround is to not > > set CPUTYPE (or set it to something without AVX like just 'corei7'). > > > > Hello. > > Well, I guess I understood the usage of CPUTYPE. Maybe I did not express myself in the > clear, but I wanted to emphasize the fact that I'm using two CPUs supposedly of the same > architectural design and if the AVX feature is indeed the culprit, then the question is > why the one CPU compiles and the other not. I use on all machines the very same src.conf > and make.conf except for the kernel name. So this would imply that on all boxes the very > same feature set, identified by the CPU type, would be used. So far the theory. > > I did not check the expansion of CPUTYPE on both systems failing the buildworld, so maybe > there is a slight difference there ... Are you using CPUTYPE=native? If so, the Haswell box might very well follow a different chain of optimizations that avoids this edge case. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2790993.pgulpShlNy>