xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: Tim Deegan <tim@xen.org>, Jan Beulich <JBeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Keir Fraser <keir@xen.org>,
	ian.campbell@citrix.com, stefano.stabellini@citrix.com
Subject: Re: [PATCH 02/34] xen: clang: Disable built-in assembler
Date: Sat, 29 Mar 2014 22:55:19 +0000	[thread overview]
Message-ID: <53374F57.6070100@linaro.org> (raw)
In-Reply-To: <20140327180134.GN91759@deinos.phlegethon.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);
<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).

Regards,

-- 
Julien Grall

  parent reply	other threads:[~2014-03-29 22:55 UTC|newest]

Thread overview: 152+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-25 16:55 [PATCH 00/34] Add clang support for ARM and cleanups Julien Grall
2014-03-25 16:55 ` [PATCH 01/34] xen: clang: Disable initializer-overrides warning Julien Grall
2014-03-26 11:51   ` Jan Beulich
2014-03-26 15:00     ` Julien Grall
2014-03-26 15:09       ` Tim Deegan
2014-03-26 15:11         ` Julien Grall
2014-03-25 16:55 ` [PATCH 02/34] xen: clang: Disable built-in assembler Julien Grall
2014-03-26 11:53   ` Jan Beulich
2014-03-26 13:16     ` Tim Deegan
2014-03-26 15:08       ` Julien Grall
2014-03-26 15:30         ` Jan Beulich
2014-03-27 18:01           ` Tim Deegan
2014-03-28  8:14             ` Jan Beulich
2014-03-28 11:28               ` Tim Deegan
2014-03-28 11:39                 ` Jan Beulich
2014-04-03 16:07                   ` [PATCH v2] asm-offsets: encode magic asm-offset runes as strings Tim Deegan
2014-04-03 16:25                     ` Ian Campbell
2014-04-04  7:11                     ` Jan Beulich
2014-04-23 13:17                     ` Julien Grall
2014-04-24 10:45                       ` Tim Deegan
2014-04-24 11:29                         ` Julien Grall
2014-03-29 22:55             ` Julien Grall [this message]
2014-03-31  8:58               ` [PATCH 02/34] xen: clang: Disable built-in assembler Jan Beulich
2014-04-01 13:11               ` Ian Campbell
2014-04-01 14:50                 ` Julien Grall
2014-04-01 15:28                   ` Ian Campbell
2014-04-01 15:52                     ` Julien Grall
2014-03-25 16:55 ` [PATCH 03/34] xen: clang: Support correctly cross-compile Julien Grall
2014-03-25 16:55 ` [PATCH 04/34] xen/compiler: Introduce always_unused define Julien Grall
2014-03-25 17:34   ` Stefano Stabellini
2014-03-25 17:56     ` Julien Grall
2014-03-25 16:55 ` [PATCH 05/34] xen/xsm: flask: Remove unused function avc_sidcmp Julien Grall
2014-03-25 17:36   ` Daniel De Graaf
2014-03-26 11:57   ` Jan Beulich
2014-03-26 16:11     ` Julien Grall
2014-03-26 16:42       ` Jan Beulich
2014-03-26 17:06         ` Julien Grall
2014-03-26 17:30           ` Julien Grall
2014-03-25 16:55 ` [PATCH 06/34] xen/x86: shadow: sh_next_page is only used when GUEST_PAGING_LEVELS = 2 Julien Grall
2014-03-25 16:55 ` [PATCH 07/34] xen/common: sched_sedf: Remove unused functions Julien Grall
2014-03-25 17:03   ` George Dunlap
2014-03-25 16:55 ` [PATCH 08/34] xen/common: rcupdate: Remove unused function rcu_batch_after Julien Grall
2014-03-25 16:55 ` [PATCH 09/34] xen/common: tmem: Remove dumb check in do_tmem_destroy_pool Julien Grall
2014-03-25 18:05   ` Andrew Cooper
2014-03-25 18:18     ` Julien Grall
2014-04-03 18:06       ` Konrad Rzeszutek Wilk
2014-05-22 16:01         ` [PATCH 09/34] xen/common: tmem: Remove dumb check in do_tmem_destroy_pool [and 2 more messages] Ian Jackson
2014-05-23  6:08           ` Jan Beulich
2014-05-23 10:23             ` Ian Jackson
2014-05-23 10:47               ` Jan Beulich
2014-03-25 16:55 ` [PATCH 10/34] xen/crypto: rijndael: Fix compilation with Clang 3.5 Julien Grall
2014-04-01 15:54   ` Keir Fraser
2014-03-25 16:55 ` [PATCH 11/34] xen/arm: Introduce __builtin_stack_pointer Julien Grall
2014-03-25 17:18   ` Ian Campbell
2014-03-25 18:01     ` Julien Grall
2014-03-26 10:31       ` Ian Campbell
2014-03-26 10:38         ` Julien Grall
2014-03-26 10:42           ` Ian Campbell
2014-03-25 16:55 ` [PATCH 12/34] xen/arm: psci: Don't need to check if vcpuid is negative Julien Grall
2014-03-27 16:42   ` Ian Campbell
2014-03-25 16:55 ` [PATCH 13/34] xen/arm: gic: Introduce GIC_SGI_MAX Julien Grall
2014-03-25 18:19   ` Stefano Stabellini
2014-03-25 23:23     ` Julien Grall
2014-03-26  9:03       ` Ian Campbell
2014-03-26  9:41         ` Julien Grall
2014-03-26 10:21           ` Ian Campbell
2014-03-26  9:57         ` Julien Grall
2014-03-26 14:24           ` Stefano Stabellini
2014-03-25 16:55 ` [PATCH 14/34] xen/arm: mm: Mark check_memory_layout_alignment_constraints as unused Julien Grall
2014-03-27 16:42   ` Ian Campbell
2014-03-25 16:55 ` [PATCH 15/34] xen/arm: traps: Mark check_stack_alignment_constraints " Julien Grall
2014-03-27 16:43   ` Ian Campbell
2014-03-25 16:55 ` [PATCH 16/34] xen/arm: Guard correctly asm-arm/platforms/midway.h Julien Grall
2014-03-27 16:43   ` Ian Campbell
2014-03-25 16:55 ` [PATCH 17/34] xen/arm: Guard correctly asm-arm/platform/omap5.h Julien Grall
2014-03-27 16:44   ` Ian Campbell
2014-03-27 16:52     ` Julien Grall
2014-03-27 17:06       ` Ian Campbell
2014-03-25 16:55 ` [PATCH 18/34] xen/arm: omap5: Correctly constify platform compatibility list Julien Grall
2014-03-27 17:03   ` Ian Campbell
2014-03-25 16:55 ` [PATCH 19/34] xen/arm: Provide eabi wrapper for __aeabi_mem* functions Julien Grall
2014-03-25 17:25   ` Ian Campbell
2014-03-25 18:12     ` Julien Grall
2014-03-26 10:39       ` Ian Campbell
2014-03-26 15:38         ` Julien Grall
2014-03-26 15:46           ` Julien Grall
2014-03-26 15:47           ` Ian Campbell
2014-03-26 16:01             ` Julien Grall
2014-03-26 16:11               ` Ian Campbell
2014-03-26 16:16                 ` Julien Grall
2014-03-26 16:22                 ` Tim Deegan
2014-03-26 16:39                   ` Julien Grall
2014-03-26 16:42                     ` Ian Campbell
2014-03-26 16:46                     ` Tim Deegan
2014-03-26 16:52                       ` Julien Grall
2014-03-25 16:55 ` [PATCH 20/34] xen/common: cpupool: cpupool_unassign_cpu is only used internally Julien Grall
2014-03-31  5:02   ` Juergen Gross
2014-03-25 16:55 ` [PATCH 21/34] xen/common: domctl: Some functions are " Julien Grall
2014-04-01 17:40   ` Keir Fraser
2014-03-25 16:55 ` [PATCH 22/34] xen/common: tmem: " Julien Grall
2014-03-25 16:55 ` [PATCH 23/34] xen/sched: credit2: " Julien Grall
2014-03-25 17:03   ` George Dunlap
2014-03-25 16:55 ` [PATCH 24/34] xen/arm: setup: setup_cache is " Julien Grall
2014-03-27 17:07   ` Ian Campbell
2014-03-28 17:17     ` Julien Grall
2014-03-25 16:55 ` [PATCH 25/34] xen/arm: traps: show_stack " Julien Grall
2014-03-27 17:08   ` Ian Campbell
2014-03-25 16:55 ` [PATCH 26/34] xen/arm: traps: Drop dump_guest_s1_walk Julien Grall
2014-03-27 17:09   ` Ian Campbell
2014-04-01 16:59     ` Julien Grall
2014-04-02  8:38       ` Ian Campbell
2014-03-25 16:55 ` [PATCH 27/34] xen/arm: time: move ticks_to_ns and ns_to_ticks in asm/time.h Julien Grall
2014-03-27 17:11   ` Ian Campbell
2014-03-25 16:55 ` [PATCH 28/34] xen/xsm: flask: flask_disable is only used internally Julien Grall
2014-03-25 17:36   ` Daniel De Graaf
2014-03-25 16:55 ` [PATCH 29/34] xen/xsm: flask: ss: remove unused function determine_oocontext Julien Grall
2014-03-25 17:37   ` Daniel De Graaf
2014-03-25 16:55 ` [PATCH 30/34] xen: Add missing includes on different files Julien Grall
2014-03-25 17:38   ` Daniel De Graaf
2014-03-26 12:57   ` Jan Beulich
2014-03-26 17:41     ` Julien Grall
2014-03-27  7:57       ` Jan Beulich
2014-04-09 16:06         ` Julien Grall
2014-04-09 16:17           ` Jan Beulich
2014-04-09 16:40             ` Julien Grall
2014-03-27 17:11   ` Ian Campbell
2014-03-27 17:30     ` Julien Grall
2014-03-27 17:39       ` Ian Campbell
2014-03-27 17:47         ` Julien Grall
2014-03-28  9:59           ` Ian Campbell
2014-04-01 17:58             ` Julien Grall
2014-04-02  8:45               ` Ian Campbell
2014-03-25 16:55 ` [PATCH 31/34] tools: Disable ignored-attributes warning when compiling with clang Julien Grall
2014-03-27 17:14   ` Ian Campbell
2014-03-27 17:49     ` Julien Grall
2014-09-13 18:42       ` [PATCH] clang: sizeof(type) must not have __attribute__(aligned) Marcin Cieslak
2014-09-16 16:21         ` Ian Campbell
2014-09-16 18:26           ` Julien Grall
2014-09-16 18:32             ` Ian Campbell
2014-09-17 10:50               ` Jan Beulich
2014-09-17 21:18                 ` Julien Grall
2014-03-25 16:55 ` [PATCH 32/34] tools/libxl: list_domains: shutdown is typed unsigned Julien Grall
2014-03-25 18:22   ` Andrew Cooper
2014-03-27 17:15     ` Ian Campbell
2014-03-25 16:55 ` [PATCH 33/34] tools/libxl: libxl__json_object_to_yajl_gen should return yajl_gen_status Julien Grall
2014-03-25 17:28   ` Ian Campbell
2014-03-27 12:37     ` Julien Grall
2014-03-27 17:16       ` [PATCH 33/34] tools/libxl: libxl__json_object_to_yajl_gen should Ian Campbell
2014-03-25 16:55 ` [PATCH 34/34] DO NOT APPLY xen/common: kernel: Workaround clang 3.5 Julien Grall
2014-03-25 18:22 ` [PATCH 00/34] Add clang support for ARM and cleanups Stefano Stabellini
2014-03-25 23:26   ` Julien Grall
2014-03-27 16:34 ` Tim Deegan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53374F57.6070100@linaro.org \
    --to=julien.grall@linaro.org \
    --cc=JBeulich@suse.com \
    --cc=ian.campbell@citrix.com \
    --cc=keir@xen.org \
    --cc=stefano.stabellini@citrix.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).