- XCODE:*_*_IA32_CC_FLAGS = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w\r
- XCODE:*_*_X64_CC_FLAGS = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w\r
+ XCODE:*_*_IA32_CC_FLAGS = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w -std=c99 -Wno-error=uninitialized\r
+ XCODE:*_*_X64_CC_FLAGS = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w -std=c99 -Wno-error=uninitialized\r
+\r
+ #\r
+ # AARCH64 uses strict alignment and avoids SIMD registers for code that may execute\r
+ # with the MMU off. This involves SEC, PEI_CORE and PEIM modules as well as BASE\r
+ # libraries, given that they may be included into such modules.\r
+ # This library, even though of the BASE type, is never used in such cases, and\r
+ # avoiding the SIMD register file (which is shared with the FPU) prevents the\r
+ # compiler from successfully building some of the OpenSSL source files that\r
+ # use floating point types, so clear the flags here.\r
+ #\r
+ GCC:*_*_AARCH64_CC_XIPFLAGS ==\r