[FREELDR] Disable SSE instructions for GCC x64
authorHervé Poussineau <hpoussin@reactos.org>
Sat, 30 Jan 2021 17:51:07 +0000 (18:51 +0100)
committerHervé Poussineau <hpoussin@reactos.org>
Mon, 1 Feb 2021 18:57:12 +0000 (19:57 +0100)
Even if all x64 CPUs can handle SSE instructions, prevent GCC x64 to
generate them, as FreeLoader is not ready to handle them.

boot/freeldr/freeldr/CMakeLists.txt

index 95dc2e3..f4610d4 100644 (file)
@@ -225,6 +225,10 @@ if(NOT MSVC AND ARCH STREQUAL "i386" AND SARCH STREQUAL "xbox")
   # Prevent a warning when doing a memcmp with address 0
   set_source_files_properties(arch/i386/xbox/xboxmem.c PROPERTIES COMPILE_FLAGS "-Wno-nonnull")
 endif()
+if(ARCH STREQUAL "amd64" AND NOT MSVC)
+    # Prevent using SSE (not support in freeldr)
+    target_compile_options(freeldr_common PUBLIC -mno-sse)
+endif()
 
 set(PCH_SOURCE
     ${FREELDR_BOOTLIB_SOURCE}