[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 02/34] xen: clang: Disable built-in assembler

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);
<inline asm>: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).


Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.