[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] x86emul/test: keep compiler from using {x, y, z}mm registers itself
commit 79136f2673b52db7b4bbd6cb5da194f2f4c39a9d Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Thu Nov 23 11:40:31 2017 +0100 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Thu Nov 23 11:40:31 2017 +0100 x86emul/test: keep compiler from using {x,y,z}mm registers itself 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> Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Release-acked-by: Julien Grall <julien.grall@xxxxxxxxxx> --- tools/tests/x86_emulator/x86-emulate.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/tests/x86_emulator/x86-emulate.h b/tools/tests/x86_emulator/x86-emulate.h index b901010..fbf2944 100644 --- 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> -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |