From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH 02/34] xen: clang: Disable built-in assembler Date: Sat, 29 Mar 2014 22:55:19 +0000 Message-ID: <53374F57.6070100@linaro.org> References: <1395766541-23979-1-git-send-email-julien.grall@linaro.org> <1395766541-23979-3-git-send-email-julien.grall@linaro.org> <5332CDE00200007800002490@nat28.tlf.novell.com> <20140326131625.GB7885@deinos.phlegethon.org> <5332ED80.5070305@linaro.org> <533300BC02000078000027D4@nat28.tlf.novell.com> <20140327180134.GN91759@deinos.phlegethon.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WU29t-0001VR-Gl for xen-devel@lists.xenproject.org; Sat, 29 Mar 2014 22:55:25 +0000 Received: by mail-we0-f177.google.com with SMTP id u57so3390360wes.8 for ; Sat, 29 Mar 2014 15:55:23 -0700 (PDT) In-Reply-To: <20140327180134.GN91759@deinos.phlegethon.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Tim Deegan , Jan Beulich Cc: xen-devel@lists.xenproject.org, Keir Fraser , ian.campbell@citrix.com, stefano.stabellini@citrix.com List-Id: xen-devel@lists.xenproject.org Hi Tim, On 27/03/14 18:01, Tim Deegan wrote: > > The patch below works for me (at least as far as building > asm-offsets.h on x86) by wrapping everything in a string. I did try > just prefixing with '#' but clang 3.5 also strips the comments out. > That seems unhelpful, since I know some people put comments in their > inline assembler too. :( I'm able to build correctly x86 with your patch, and this patch (e.g #2) reverted. But for ARM ... it breaks in another place :( vfp.c:8:25: error: invalid operand for instruction v->arch.vfp.fpexc = READ_CP32(FPEXC); :1:6: note: instantiated into assembly here mrc p10, 7, r1, c8, c0, 0; ^ Coprocessor p10 (and p11) are used for Neon instruction are clang doesn't allow to use it directly. (http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20131104/194170.html). Depends on which part of the ARM ARM you are reading, p10 and p11 should not be used directly with mrc/mcr instruction ... but gas accept it. I guess the best solution is to use directly the VFP instructions but it would mean to re-enable VFP at compile time in Xen (see http://www.gossamer-threads.com/lists/xen/devel/284653?do=post_view_threaded). Regards, -- Julien Grall