From ecf18bca8038f043deaca7992062a7aa6855a647 Mon Sep 17 00:00:00 2001 From: midipix Date: Feb 18 2019 19:33:31 +0000 Subject: john-1.8.0: use hidden visibility for optimization & simplicity (given no dso). Signed-off-by: Lucio Andrés Illanes Albornoz --- diff --git a/patches/john-1.8.0.local.patch b/patches/john-1.8.0.local.patch index 2199994..30773e4 100644 --- a/patches/john-1.8.0.local.patch +++ b/patches/john-1.8.0.local.patch @@ -1,68 +1,3 @@ -diff -ru a/src/DES_bs.c b/src/DES_bs.c ---- a/src/DES_bs.c 2012-07-14 09:36:44.000000000 -0400 -+++ b/src/DES_bs.c 2016-08-07 15:08:48.011369100 -0400 -@@ -52,7 +52,7 @@ - }; - - #if DES_BS_ASM --extern void DES_bs_init_asm(void); -+extern void DES_INTERNAL_CALL DES_bs_init_asm(void); - #endif - - void DES_bs_init(int LM, int cpt) -diff -ru a/src/DES_bs.h b/src/DES_bs.h ---- a/src/DES_bs.h 2013-05-06 02:19:49.000000000 -0400 -+++ b/src/DES_bs.h 2016-08-07 15:09:17.512056400 -0400 -@@ -35,6 +35,16 @@ - #define DES_bs_vector ARCH_WORD - #endif - -+#ifndef HAVE_INTERNAL_ATTR -+#define HAVE_INTERNAL_ATTR 0 -+#endif -+ -+#if HAVE_INTERNAL_ATTR -+#define DES_INTERNAL_CALL __attribute__((visibility("internal"))) -+#else -+#define DES_INTERNAL_CALL -+#endif -+ - /* - * All bitslice DES parameters combined into one struct for more efficient - * cache usage. Don't re-order unless you know what you're doing, as there -@@ -112,7 +122,7 @@ - #else - #define DES_bs_mt 0 - #define DES_bs_cpt 1 --extern DES_bs_combined DES_bs_all; -+extern DES_INTERNAL_CALL DES_bs_combined DES_bs_all; - #define for_each_t(n) - #define init_t() - #endif -@@ -120,7 +130,7 @@ - /* - * Initializes the internal structures. - */ --extern void DES_bs_init(int LM, int cpt); -+extern void DES_INTERNAL_CALL DES_bs_init(int LM, int cpt); - - /* - * Sets a salt for DES_bs_crypt(). -@@ -139,12 +149,12 @@ - /* - * Almost generic implementation: 24-bit salts, variable iteration count. - */ --extern void DES_bs_crypt(int count, int keys_count); -+extern void DES_INTERNAL_CALL DES_bs_crypt(int count, int keys_count); - - /* - * A simplified special-case implementation: 12-bit salts, 25 iterations. - */ --extern void DES_bs_crypt_25(int keys_count); -+extern void DES_INTERNAL_CALL DES_bs_crypt_25(int keys_count); - - /* - * Another special-case version: a non-zero IV, no salts, no iterations. --- 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 @@ @@ -97,7 +32,7 @@ diff -ru a/src/DES_bs.h b/src/DES_bs.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 -DHAVE_INTERNAL_ATTR" \ ++ CFLAGS="$(CFLAGS) -mavx -DHAVE_CRYPT -fvisibility=hidden" \ + ASFLAGS="$(ASFLAGS) -mavx" \ + LDFLAGS="$(LDFLAGS) -lcrypt" + @@ -105,15 +40,15 @@ diff -ru a/src/DES_bs.h b/src/DES_bs.h + $(LN) x86-64.h arch.h + $(MAKE) $(PROJ) \ + JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86-64.o" \ -+ CFLAGS="$(CFLAGS) -DHAVE_CRYPT -DHAVE_INTERNAL_ATTR" \ ++ 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 -DHAVE_INTERNAL_ATTR -DUNDERSCORES" \ -+ CFLAGS="$(CFLAGS) -m32 -mavx -DHAVE_CRYPT -DHAVE_INTERNAL_ATTR -DUNDERSCORES" \ ++ 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" + @@ -121,8 +56,8 @@ diff -ru a/src/DES_bs.h b/src/DES_bs.h + $(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 -DHAVE_INTERNAL_ATTR -DUNDERSCORES" \ -+ CFLAGS="$(CFLAGS) -m32 -mxop -DHAVE_CRYPT -DHAVE_INTERNAL_ATTR -DUNDERSCORES" \ ++ 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" + @@ -130,7 +65,7 @@ diff -ru a/src/DES_bs.h b/src/DES_bs.h + $(LN) x86-sse.h arch.h + $(MAKE) $(PROJ) \ + JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86.o x86-sse.o" \ -+ CFLAGS="$(CFLAGS) -DHAVE_CRYPT -DHAVE_INTERNAL_ATTR -DUNDERSCORES" \ ++ CFLAGS="$(CFLAGS) -DHAVE_CRYPT -fvisibility=hidden -DUNDERSCORES" \ + ASFLAGS="$(ASFLAGS) -m32 -DUNDERSCORES" \ + LDFLAGS="$(LDFLAGS) -lcrypt" + @@ -138,7 +73,7 @@ diff -ru a/src/DES_bs.h b/src/DES_bs.h + $(LN) x86-mmx.h arch.h + $(MAKE) $(PROJ) \ + JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86.o x86-mmx.o" \ -+ CFLAGS="$(CFLAGS) -DHAVE_CRYPT -DHAVE_INTERNAL_ATTR -DUNDERSCORES" \ ++ CFLAGS="$(CFLAGS) -DHAVE_CRYPT -fvisibility=hidden -DUNDERSCORES" \ + ASFLAGS="$(ASFLAGS) -m32 -DUNDERSCORES" \ + LDFLAGS="$(LDFLAGS) -lcrypt" + @@ -146,7 +81,7 @@ diff -ru a/src/DES_bs.h b/src/DES_bs.h + $(LN) x86-any.h arch.h + $(MAKE) $(PROJ) \ + JOHN_OBJS="$(JOHN_OBJS) c3_fmt.o x86.o" \ -+ CFLAGS="$(CFLAGS) -DHAVE_CRYPT -DHAVE_INTERNAL_ATTR -DUNDERSCORES" \ ++ CFLAGS="$(CFLAGS) -DHAVE_CRYPT -fvisibility=hidden -DUNDERSCORES" \ + ASFLAGS="$(ASFLAGS) -m32 -DUNDERSCORES" \ + LDFLAGS="$(LDFLAGS) -lcrypt" +