[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] arm32: fix build after 063188f4b3
On Fri, 2014-10-10 at 15:54 +0100, Jan Beulich wrote: > >>> On 10.10.14 at 16:17, <Ian.Campbell@xxxxxxxxxxxxx> wrote: > > On Fri, 2014-10-10 at 14:58 +0100, Jan Beulich wrote: > >> static noinline void exynos_smc(register_t function_id, register_t arg0, > >> register_t arg1, register_t arg2) > >> { > >> + register register_t fn_id asm("r0") = function_id; > >> + register register_t a0 asm("r1") = arg0; > >> + register register_t a1 asm("r2") = arg1; > >> + register register_t a2 asm("r3") = arg2; > > > > ISTR being told that the arm gcc backend pays this sort of asm("r1") > > thing no heed (it's x86 specific?). This is how we ended up with the > > asmeq -- it was what the arm compiler guys (via the arm kernels guys) > > recommended. > > It is formally documented to play by this, You made me look again and here it is https://gcc.gnu.org/onlinedocs/gcc/Local-Reg-Vars.html > so I don't think this is > x86 specific, and I would strongly suspect any (apparent) violation > of this to be either a misunderstanding of the guarantees that are > being made or a bug in the specific compiler version. I may well be misremembering the older discussions... Either way, you retained the asmeq bits so even if there are broken gcc's out there we won't produce broken binaries and your patch is a clear improvement IMHO. > > Stefano may remember better (since this was in the context of the Linux > > hypervisor stub). > > > > I suppose you have a compiler which tickles this? > > Yes, the gcc 4.9.1 I use for testing the ARM builds. I'm still on 4.8, I'll grab a 4.9 and use it occasionally... Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |