Blame 0001-Don-t-use-MMX-and-SSE-registers-they-aren-t-initiali.patch

fca313b
From 2a1167083fc6fa313a202afe179dbae080f04b95 Mon Sep 17 00:00:00 2001
fca313b
From: Peter Jones <pjones@redhat.com>
fca313b
Date: Fri, 31 May 2013 15:22:37 -0400
fca313b
Subject: [PATCH] Don't use MMX and SSE registers, they aren't initialized.
fca313b
fca313b
GCC 4.8.0 will try to use these by default, and you'll wind up looping
fca313b
across the (uninitialized!) trap handler for uninitialized instructions.
fca313b
fca313b
Signed-off-by: Peter Jones <pjones@redhat.com>
fca313b
---
fca313b
 Cryptlib/Makefile         | 2 +-
fca313b
 Cryptlib/OpenSSL/Makefile | 2 +-
fca313b
 Makefile                  | 4 ++--
fca313b
 3 files changed, 4 insertions(+), 4 deletions(-)
fca313b
fca313b
diff --git a/Cryptlib/Makefile b/Cryptlib/Makefile
fca313b
index 925db8d..f1add83 100644
fca313b
--- a/Cryptlib/Makefile
fca313b
+++ b/Cryptlib/Makefile
fca313b
@@ -10,7 +10,7 @@ LIB_GCC		= $(shell $(CC) -print-libgcc-file-name)
fca313b
 EFI_LIBS	= -lefi -lgnuefi $(LIB_GCC)
fca313b
 
fca313b
 CFLAGS		= -ggdb -O0 -I. -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar \
fca313b
-		  -Wall $(EFI_INCLUDES) -mno-red-zone
fca313b
+		  -Wall $(EFI_INCLUDES) -mno-red-zone -mno-sse -mno-mmx
fca313b
 ifeq ($(ARCH),x86_64)
fca313b
 	CFLAGS	+= -DEFI_FUNCTION_WRAPPER
fca313b
 endif
fca313b
diff --git a/Cryptlib/OpenSSL/Makefile b/Cryptlib/OpenSSL/Makefile
fca313b
index 7fde382..1bae841 100644
fca313b
--- a/Cryptlib/OpenSSL/Makefile
fca313b
+++ b/Cryptlib/OpenSSL/Makefile
fca313b
@@ -9,7 +9,7 @@ EFI_PATH	= /usr/lib64/gnuefi
fca313b
 LIB_GCC		= $(shell $(CC) -print-libgcc-file-name)
fca313b
 EFI_LIBS	= -lefi -lgnuefi $(LIB_GCC)
fca313b
 
fca313b
-CFLAGS		= -ggdb -O0 -I. -I.. -I../Include/ -Icrypto -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar -nostdinc \
fca313b
+CFLAGS		= -ggdb -O0 -I. -I.. -I../Include/ -Icrypto -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar -nostdinc -mno-mmx -mno-sse \
fca313b
 		  -Wall $(EFI_INCLUDES) -DOPENSSL_SYSNAME_UWIN -DOPENSSL_SYS_UEFI -DL_ENDIAN -DSIXTY_FOUR_BIT_LONG -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SOCK -DOPENSSL_NO_CMS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_ERR -DOPENSSL_NO_KRB5 -DOPENSSL_NO_DYNAMIC_ENGINE -DGETPID_IS_MEANINGLESS -DOPENSSL_NO_STDIO -DOPENSSL_NO_FP_API -DOPENSSL_NO_DGRAM -DOPENSSL_NO_SHA0 -DOPENSSL_NO_SHA512 -DOPENSSL_NO_LHASH -DOPENSSL_NO_HW -DOPENSSL_NO_OCSP -DOPENSSL_NO_LOCKING -DOPENSSL_NO_DEPRECATED -DOPENSSL_SMALL_FOOTPRINT -DPEDANTIC -mno-red-zone
fca313b
 ifeq ($(ARCH),x86_64)
fca313b
 	CFLAGS	+= -DEFI_FUNCTION_WRAPPER
fca313b
diff --git a/Makefile b/Makefile
fca313b
index 287fbcf..c8f6ec8 100644
fca313b
--- a/Makefile
fca313b
+++ b/Makefile
fca313b
@@ -14,8 +14,8 @@ EFI_LIBS	= -lefi -lgnuefi --start-group Cryptlib/libcryptlib.a Cryptlib/OpenSSL/
fca313b
 EFI_CRT_OBJS 	= $(EFI_PATH)/crt0-efi-$(ARCH).o
fca313b
 EFI_LDS		= $(EFI_PATH)/elf_$(ARCH)_efi.lds
fca313b
 
fca313b
-CFLAGS		= -ggdb -O0 -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar \
fca313b
-		  -Wall -mno-red-zone \
fca313b
+CFLAGS		= -ggdb -O0 -fno-stack-protector -fno-strict-aliasing -fpic \
fca313b
+		  -fshort-wchar -Wall -mno-red-zone -mno-mmx -mno-sse \
fca313b
 		  $(EFI_INCLUDES)
fca313b
 ifeq ($(ARCH),x86_64)
fca313b
 	CFLAGS	+= -DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI
fca313b
-- 
fca313b
1.8.2.1
fca313b