From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.mhcomputing.net (master.mhcomputing.net [74.208.46.186]) by dpdk.org (Postfix) with ESMTP id 5CE23B38D for ; Wed, 1 Jul 2015 07:49:30 +0200 (CEST) Received: from [192.168.1.160] (99-34-229-174.lightspeed.sntcca.sbcglobal.net [99.34.229.174]) by mail.mhcomputing.net (Postfix) with ESMTPSA id E821280B7BF; Tue, 30 Jun 2015 22:46:44 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) From: Matthew Hall In-Reply-To: Date: Tue, 30 Jun 2015 22:49:26 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: References: <1A87AD2E-38CD-4C61-A9FD-C52608FF9DAC@mhcomputing.net> <39879033.dIVnPGkh8l@xps13> <386858255.20150629121137@intel.com> <2576181.dRfjlrHRWI@xps13> To: Thomas Monjalon X-Mailer: Apple Mail (2.1878.6) Cc: dev@dpdk.org Subject: Re: [dpdk-dev] RTM instruction compile failure for XABORT when AVX is active X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2015 05:49:30 -0000 With those two items commented out, and these CFLAGS: "-g -O0 -fPIC -msse4.2" it looks like I can reproduce the issue in clang 2.6 series: /vagrant/external/dpdk/build/include/rte_rtm.h:56:15: error: invalid = operand for inline asm constraint 'i' asm volatile(".byte 0xc6,0xf8,%P0" :: "i" (status) : "memory"); So there are definitely some corner cases that seem to be able to = trigger it. On Jun 30, 2015, at 10:17 PM, Matthew Hall = wrote: > To be a bit more specific, this is what I had to do to fix it for = clang 3.6 SVN snapshot release. >=20 > I am not sure if there is a better way of handling this situation. I'd = love to know where I could improve it. >=20 > Matthew. >=20 > diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk > index f595cd0..8c883ee 100644 > --- a/mk/rte.cpuflags.mk > +++ b/mk/rte.cpuflags.mk > @@ -77,13 +77,13 @@ ifneq ($(filter $(AUTO_CPUFLAGS),__RDRND__),) > CPUFLAGS +=3D RDRAND > endif >=20 > -ifneq ($(filter $(AUTO_CPUFLAGS),__FSGSBASE__),) > -CPUFLAGS +=3D FSGSBASE > -endif > +#ifneq ($(filter $(AUTO_CPUFLAGS),__FSGSBASE__),) > +#CPUFLAGS +=3D FSGSBASE > +#endif >=20 > -ifneq ($(filter $(AUTO_CPUFLAGS),__F16C__),) > -CPUFLAGS +=3D F16C > -endif > +#ifneq ($(filter $(AUTO_CPUFLAGS),__F16C__),) > +#CPUFLAGS +=3D F16C > +#endif >=20 > ifneq ($(filter $(AUTO_CPUFLAGS),__AVX2__),) > CPUFLAGS +=3D AVX2