[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 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? It stands a good chance of being compatible, but we may need an && !defined(__clang__) included. ~Andrew > > --- a/tools/tests/x86_emulator/x86-emulate.h > +++ b/tools/tests/x86_emulator/x86-emulate.h > @@ -4,6 +4,11 @@ > #include <stdint.h> > #include <stdlib.h> > #include <string.h> > + > +#if __GNUC__ >= 6 > +#pragma GCC target("no-sse") > +#endif > + > #include <xen/xen.h> > > #include <asm/msr-index.h> > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |