--- john-1.8.0/src/Makefile.orig 2013-05-29 23:21:25.000000000 +0000 +++ john-1.8.0/src/Makefile 2016-09-11 21:19:18.930129331 +0000 @@ -32,7 +32,7 @@ # CFLAGS for use on the main john.c file only CFLAGS_MAIN = $(CFLAGS) ASFLAGS = -c $(OMPFLAGS) -LDFLAGS = -s $(OMPFLAGS) +LDFLAGS = $(LDFLAGS_DEBUG) $(OMPFLAGS) OPT_NORMAL = -funroll-loops # Remove the "-Os" if you're using an ancient version of gcc OPT_INLINE = -Os -funroll-loops -finline-functions @@ -104,6 +104,13 @@ # @echo "linux-ppc64-altivec Linux, PowerPC 64-bit w/AltiVec" @echo "linux-ppc64 Linux, PowerPC 64-bit" @echo "linux-ia64 Linux, IA-64" + @echo "midipix-x86-64-avx Midipix, x86-64 with AVX (2011+ Intel CPUs)" + @echo "midipix-x86-64 Midipix, x86-64 with SSE2 (most common)" + @echo "midipix-x86-avx Midipix, x86 32-bit with AVX (2011+ Intel CPUs)" + @echo "midipix-x86-xop Midipix, x86 32-bit with AVX and XOP (2011+ AMD CPUs)" + @echo "midipix-x86-sse2 Midipix, x86 32-bit with SSE2 (most common, if 32-bit)" + @echo "midipix-x86-mmx Midipix, x86 32-bit with MMX (for old computers)" + @echo "midipix-x86-any Midipix, x86 32-bit (for truly ancient computers)" @echo "freebsd-x86-64 FreeBSD, x86-64 with SSE2 (best)" @echo "freebsd-x86-sse2 FreeBSD, x86 with SSE2 (best if 32-bit)" @echo "freebsd-x86-mmx FreeBSD, x86 with MMX" @@ -306,6 +313,64 @@ CFLAGS="$(CFLAGS) -DHAVE_CRYPT" \ LDFLAGS="$(LDFLAGS) -lcrypt" +midipix-x86-64-avx: + $(LN) x86-64.h arch.h + $(MAKE) $(PROJ) \ + JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86-64.o" \ + CFLAGS_MAIN="$(CFLAGS) -DJOHN_AVX -DHAVE_CRYPT" \ + CFLAGS="$(CFLAGS) -mavx -DHAVE_CRYPT -fvisibility=hidden" \ + ASFLAGS="$(ASFLAGS) -mavx" \ + LDFLAGS="$(LDFLAGS) -lcrypt" + +midipix-x86-64: + $(LN) x86-64.h arch.h + $(MAKE) $(PROJ) \ + JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86-64.o" \ + CFLAGS="$(CFLAGS) -DHAVE_CRYPT -fvisibility=hidden" \ + LDFLAGS="$(LDFLAGS) -lcrypt" + +midipix-x86-avx: + $(LN) x86-sse.h arch.h + $(MAKE) $(PROJ) \ + JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86.o" \ + CFLAGS_MAIN="$(CFLAGS) -m32 -DJOHN_AVX -DHAVE_CRYPT -fvisibility=hidden -DUNDERSCORES" \ + CFLAGS="$(CFLAGS) -m32 -mavx -DHAVE_CRYPT -fvisibility=hidden -DUNDERSCORES" \ + ASFLAGS="$(ASFLAGS) -m32 -mavx -DUNDERSCORES" \ + LDFLAGS="$(LDFLAGS) -m32 -lcrypt" + +midipix-x86-xop: + $(LN) x86-sse.h arch.h + $(MAKE) $(PROJ) \ + JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86.o" \ + CFLAGS_MAIN="$(CFLAGS) -m32 -DJOHN_XOP -DHAVE_CRYPT -fvisibility=hidden -DUNDERSCORES" \ + CFLAGS="$(CFLAGS) -m32 -mxop -DHAVE_CRYPT -fvisibility=hidden -DUNDERSCORES" \ + ASFLAGS="$(ASFLAGS) -m32 -mxop -DUNDERSCORES" \ + LDFLAGS="$(LDFLAGS) -m32 -lcrypt" + +midipix-x86-sse2: + $(LN) x86-sse.h arch.h + $(MAKE) $(PROJ) \ + JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86.o x86-sse.o" \ + CFLAGS="$(CFLAGS) -DHAVE_CRYPT -fvisibility=hidden -DUNDERSCORES" \ + ASFLAGS="$(ASFLAGS) -m32 -DUNDERSCORES" \ + LDFLAGS="$(LDFLAGS) -lcrypt" + +midipix-x86-mmx: + $(LN) x86-mmx.h arch.h + $(MAKE) $(PROJ) \ + JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86.o x86-mmx.o" \ + CFLAGS="$(CFLAGS) -DHAVE_CRYPT -fvisibility=hidden -DUNDERSCORES" \ + ASFLAGS="$(ASFLAGS) -m32 -DUNDERSCORES" \ + LDFLAGS="$(LDFLAGS) -lcrypt" + +midipix-x86-any: + $(LN) x86-any.h arch.h + $(MAKE) $(PROJ) \ + JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86.o" \ + CFLAGS="$(CFLAGS) -DHAVE_CRYPT -fvisibility=hidden -DUNDERSCORES" \ + ASFLAGS="$(ASFLAGS) -m32 -DUNDERSCORES" \ + LDFLAGS="$(LDFLAGS) -lcrypt" + freebsd-x86-64: $(LN) x86-64.h arch.h $(MAKE) $(PROJ) \