Add -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS for -O5 and -Ofast
parent
c606ea2573
commit
6ed2a60a53
14
GNUmakefile
14
GNUmakefile
|
|
@ -141,17 +141,21 @@ else
|
||||||
endif # X86/X32/X64
|
endif # X86/X32/X64
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Aligned access required at -O3 for GCC due to vectorization (circa 08/2008). Expect other compilers to do the same.
|
# Aligned access required for -O3 and above due to vectorization
|
||||||
UNALIGNED_ACCESS := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_NO_UNALIGNED_DATA_ACCESS" config.h)
|
UNALIGNED_ACCESS := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_NO_UNALIGNED_DATA_ACCESS" config.h)
|
||||||
ifeq ($(findstring -O3,$(CXXFLAGS)),-O3)
|
|
||||||
ifneq ($(UNALIGNED_ACCESS),0)
|
ifneq ($(UNALIGNED_ACCESS),0)
|
||||||
ifeq ($(GCC46_OR_LATER),1)
|
|
||||||
ifeq ($(findstring -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS,$(CXXFLAGS)),)
|
ifeq ($(findstring -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS,$(CXXFLAGS)),)
|
||||||
|
ifeq ($(findstring -O3,$(CXXFLAGS)),-O3)
|
||||||
CXXFLAGS += -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS
|
CXXFLAGS += -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS
|
||||||
|
endif # -O3
|
||||||
|
ifeq ($(findstring -O5,$(CXXFLAGS)),-O5)
|
||||||
|
CXXFLAGS += -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS
|
||||||
|
endif # -O5
|
||||||
|
ifeq ($(findstring -Ofast,$(CXXFLAGS)),-Ofast)
|
||||||
|
CXXFLAGS += -DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS
|
||||||
|
endif # -Ofast
|
||||||
endif # CRYPTOPP_NO_UNALIGNED_DATA_ACCESS
|
endif # CRYPTOPP_NO_UNALIGNED_DATA_ACCESS
|
||||||
endif # GCC 4.6
|
|
||||||
endif # UNALIGNED_ACCESS
|
endif # UNALIGNED_ACCESS
|
||||||
endif # Vectorization
|
|
||||||
|
|
||||||
ifneq ($(INTEL_COMPILER),0)
|
ifneq ($(INTEL_COMPILER),0)
|
||||||
CXXFLAGS += -wd68 -wd186 -wd279 -wd327 -wd161 -wd3180
|
CXXFLAGS += -wd68 -wd186 -wd279 -wd327 -wd161 -wd3180
|
||||||
|
|
|
||||||
|
|
@ -572,14 +572,6 @@ if [[ (-z "$HAVE_DISASS") ]]; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Fixup... SunCC appears to generate bad code for BLAKE2
|
|
||||||
if [[ ("$SUN_COMPILER" -ne "0") ]]; then
|
|
||||||
HAVE_O5=0
|
|
||||||
OPT_O5=
|
|
||||||
HAVE_OFAST=0
|
|
||||||
OPT_OFAST=
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fixup... GCC 4.8 ASAN produces false positives under ARM
|
# Fixup... GCC 4.8 ASAN produces false positives under ARM
|
||||||
if [[ ( ("$IS_ARM32" -ne "0" || "$IS_ARM64" -ne "0") && "$GCC_48_COMPILER" -ne "0") ]]; then
|
if [[ ( ("$IS_ARM32" -ne "0" || "$IS_ARM64" -ne "0") && "$GCC_48_COMPILER" -ne "0") ]]; then
|
||||||
HAVE_ASAN=0
|
HAVE_ASAN=0
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue