[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86emul: keep compiler from using {x, y, z}mm registers itself
>>> On 16.10.17 at 14:37, <andrew.cooper3@xxxxxxxxxx> wrote: > On 16/10/17 13:32, Jan Beulich wrote: >> Since the emulator acts on the live hardware registers, we need to >> prevent the compiler from using them e.g. for inlined memcpy() / >> memset() (as gcc7 does). We can't, however, set this from the command >> line, as otherwise the 64-bit build would face issues with functions >> returning floating point values and being declared in standard headers. >> >> As the pragma isn't available prior to gcc6, we need to invoke it >> conditionally. Luckily up to gcc6 we haven't seen generated code access >> SIMD registers beyond what our asm()s do. >> >> Reported-by: George Dunlap <george.dunlap@xxxxxxxxxx> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> >> --- >> While this doesn't affect core functionality, I think it would still be >> nice for it to be allowed in for 4.10. > > Agreed. > > Has this been tested with Clang? Sorry, no - still haven't got around to set up a suitable Clang locally. > It stands a good chance of being > compatible, but we may need an && !defined(__clang__) included. Should non-gcc silently ignore "#pragma GCC ..." it doesn't recognize, or not define __GNUC__ in the first place if it isn't sufficiently compatible? I.e. if anything I'd expect we need "#elif defined(__clang__)" to achieve the same for Clang by some different pragma (if such exists). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |