Fix build when CFLAGS contains or implies -mavx2 and/or -mavx512f https://bugs.gentoo.org/983361 https://github.com/veracrypt/VeraCrypt/issues/1867 --- a/Build/Include/Makefile.inc +++ b/Build/Include/Makefile.inc @@ -14,7 +14,7 @@ $(NAME): $(NAME).a clean: @echo Cleaning $(NAME) - rm -f $(APPNAME) $(NAME).a $(OBJS) $(OBJSEX) $(OBJSNOOPT) $(OBJSHANI) $(OBJAESNI) $(OBJSSSE41) $(OBJSSSSE3) $(OBJSAVX2) $(OBJARMV8CRYPTO) $(OBJS:.o=.d) $(OBJSEX:.oo=.d) $(OBJSNOOPT:.o0=.d) $(OBJSHANI:.oshani=.d) $(OBJAESNI:.oaesni=.d) $(OBJSSSE41:.osse41=.d) $(OBJSSSSE3:.ossse3=.d) $(OBJSAVX2:.oavx2=.d) $(OBJARMV8CRYPTO:.oarmv8crypto=.d) *.gch + rm -f $(APPNAME) $(NAME).a $(OBJS) $(OBJSEX) $(OBJSNOOPT) $(OBJSHANI) $(OBJAESNI) $(OBJSSSE2) $(OBJSSSE41) $(OBJSSSSE3) $(OBJSAVX2) $(OBJARMV8CRYPTO) $(OBJS:.o=.d) $(OBJSEX:.oo=.d) $(OBJSNOOPT:.o0=.d) $(OBJSHANI:.oshani=.d) $(OBJAESNI:.oaesni=.d) $(OBJSSSE2:.osse2=.d) $(OBJSSSE41:.osse41=.d) $(OBJSSSSE3:.ossse3=.d) $(OBJSAVX2:.oavx2=.d) $(OBJARMV8CRYPTO:.oarmv8crypto=.d) *.gch %.o: %.c @echo Compiling $(/dev/null 2>&1 && echo D; rm -f $$t $$t.a) RANLIB_DETERMINISTIC := $(shell t=$$(mktemp); rm -f $$t.a; $(AR) rc $$t.a $$t >/dev/null 2>&1; $(RANLIB) -D $$t.a >/dev/null 2>&1 && echo -D; rm -f $$t $$t.a) -$(NAME).a: $(OBJS) $(OBJSEX) $(OBJSNOOPT) $(OBJSHANI) $(OBJAESNI) $(OBJSSSE41) $(OBJSSSSE3) $(OBJSAVX2) $(OBJARMV8CRYPTO) +$(NAME).a: $(OBJS) $(OBJSEX) $(OBJSNOOPT) $(OBJSHANI) $(OBJAESNI) $(OBJSSSE2) $(OBJSSSE41) $(OBJSSSSE3) $(OBJSAVX2) $(OBJARMV8CRYPTO) @echo Updating library $@ rm -f $@ - $(AR) $(AFLAGS) $(AR_DETERMINISTIC)rc $@ $(OBJS) $(OBJSEX) $(OBJSNOOPT) $(OBJSHANI) $(OBJAESNI) $(OBJSSSE41) $(OBJSSSSE3) $(OBJSAVX2) $(OBJARMV8CRYPTO) + $(AR) $(AFLAGS) $(AR_DETERMINISTIC)rc $@ $(OBJS) $(OBJSEX) $(OBJSNOOPT) $(OBJSHANI) $(OBJAESNI) $(OBJSSSE2) $(OBJSSSE41) $(OBJSSSSE3) $(OBJSAVX2) $(OBJARMV8CRYPTO) $(RANLIB) $(RANLIB_DETERMINISTIC) $@ --- a/Volume/Volume.make +++ b/Volume/Volume.make @@ -13,6 +13,7 @@ OBJS := OBJSEX := OBJSNOOPT := +OBJSSSE2 := OBJSSSE41 := OBJSSSSE3 := OBJSHANI := @@ -96,6 +97,8 @@ else OBJS += ../Crypto/Aescrypt.o endif +OBJSSSE2 += ../Crypto/blake2s_SSE2.osse2 +OBJSSSE2 += ../Crypto/Argon2/src/opt_sse2.osse2 ifeq "$(GCC_GTEQ_430)" "1" OBJSSSE41 += ../Crypto/blake2s_SSE41.osse41 OBJSSSSE3 += ../Crypto/blake2s_SSSE3.ossse3 @@ -127,7 +132,6 @@ ifeq "$(ENABLE_WOLFCRYPT)" "0" OBJS += ../Crypto/Aeskey.o OBJS += ../Crypto/Aestab.o OBJS += ../Crypto/blake2s.o -OBJS += ../Crypto/blake2s_SSE2.o OBJS += ../Crypto/SerpentFast.o OBJS += ../Crypto/SerpentFast_simd.o OBJS += ../Crypto/Sha2.o @@ -141,7 +145,6 @@ OBJS += ../Crypto/Argon2/src/blake2/blake2b.o OBJS += ../Crypto/Argon2/src/argon2.o OBJS += ../Crypto/Argon2/src/core.o OBJS += ../Crypto/Argon2/src/argon2.o -OBJS += ../Crypto/Argon2/src/opt_sse2.o OBJS += ../Crypto/Argon2/src/ref.o OBJS += ../Crypto/Argon2/src/selftest.o OBJS += ../Common/Pkcs5.o