[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 17 Sep 2008 07:40:47 +0400
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: jumbo patch for 1.7.3.1
On Tue, Sep 16, 2008 at 10:38:01AM +0400, SmarTeam Support wrote:
> some errors i get under cygwin
...
> gcc -O2 -s -lm -DEXTERNAL genmkvpwd.c mkvlib.c memory.c -o ../run/genmkvpwd.exe
> /cygdrive/c/DOCUME~1/Elijah/LOCALS~1/Temp/ccdOAA7i.o:memory.c:(.text+0x5b): undefined reference to `_error'
Yes, there was a bug in the way genmkvpwd was being linked in myjohn.tgz
and thus also in john-1.7.3.1-all-4 since I imported those Makefile
hacks almost verbatim. I'll have this fixed in the next revision of the
jumbo patch.
Meanwhile, does the attached patch make things work for you?
Thanks,
Alexander
diff -urp john-1.7.3.1-all-4/src/Makefile john-1.7.3.1/src/Makefile
--- john-1.7.3.1-all-4/src/Makefile 2008-09-15 02:45:13 +0000
+++ john-1.7.3.1/src/Makefile 2008-09-17 03:27:32 +0000
@@ -18,13 +18,10 @@ CPPFLAGS = -E
CFLAGS = -c -Wall -O2 -fomit-frame-pointer -I/usr/local/include -L/usr/local/lib
ASFLAGS = -c
LDFLAGS = -s -L/usr/local/lib -L/usr/local/ssl/lib -lcrypto -lm
+LDFLAGS_MKV = -s -lm
OPT_NORMAL = -funroll-loops
OPT_INLINE = -finline-functions
-# MKVFLAGS have to be fairly generic because they are not overridden when
-# using non-gcc. This is a dirty hack.
-MKVFLAGS = -O2 -s -lm
-
JOHN_OBJS_MINIMAL = \
DES_fmt.o DES_std.o DES_bs.o \
BSDI_fmt.o \
@@ -106,6 +103,9 @@ BENCH_OBJS = \
bench.o best.o common.o config.o formats.o math.o memory.o miscnl.o \
params.o path.o signals.o tty.o
+GENMKVPWD_OBJS = \
+ genmkvpwd.o mkvlib.o memory.o miscnl.o
+
PROJ = ../run/john ../run/unshadow ../run/unafs ../run/unique ../run/undrop \
../run/genmkvpwd ../run/mkvcalcproba ../run/calc_stat
PROJ_DOS = ../run/john.bin ../run/john.com \
@@ -869,7 +869,7 @@ john.com: john.asm
@echo Use Borland TASM/TLINK to make JOHN.COM
../run/john.exe: $(JOHN_OBJS)
- $(LD) $(JOHN_OBJS) -lkernel32 -lssl -lcrypto -o ../run/john.exe
+ $(LD) $(JOHN_OBJS) -lkernel32 -lcrypto -o ../run/john.exe
strip ../run/john.exe
../run/unshadow.exe: symlink.c
@@ -888,23 +888,23 @@ john.com: john.asm
$(CC) symlink.c -o ../run/unique.exe
strip ../run/unique.exe
-../run/genmkvpwd: genmkvpwd.c mkvlib.o misc.o
- $(CC) $(MKVFLAGS) -DEXTERNAL genmkvpwd.c mkvlib.c memory.c -o ../run/genmkvpwd
+../run/genmkvpwd: $(GENMKVPWD_OBJS)
+ $(LD) $(GENMKVPWD_OBJS) $(LDFLAGS_MKV) -o ../run/genmkvpwd
-../run/genmkvpwd.exe: genmkvpwd.c mkvlib.o misc.o
- $(CC) $(MKVFLAGS) -DEXTERNAL genmkvpwd.c mkvlib.c memory.c -o ../run/genmkvpwd.exe
+../run/genmkvpwd.exe: $(GENMKVPWD_OBJS)
+ $(LD) $(GENMKVPWD_OBJS) $(LDFLAGS_MKV) -o ../run/genmkvpwd.exe
-../run/mkvcalcproba: mkvcalcproba.c
- $(CC) $(MKVFLAGS) mkvcalcproba.c -o ../run/mkvcalcproba
+../run/mkvcalcproba: mkvcalcproba.o
+ $(LD) mkvcalcproba.o $(LDFLAGS_MKV) -o ../run/mkvcalcproba
-../run/mkvcalcproba.exe: mkvcalcproba.c
- $(CC) $(MKVFLAGS) mkvcalcproba.c -o ../run/mkvcalcproba.exe
+../run/mkvcalcproba.exe: mkvcalcproba.o
+ $(LD) mkvcalcproba.o $(LDFLAGS_MKV) -o ../run/mkvcalcproba.exe
-../run/calc_stat: calc_stat.c
- $(CC) $(MKVFLAGS) calc_stat.c -o ../run/calc_stat
+../run/calc_stat: calc_stat.o
+ $(LD) calc_stat.o $(LDFLAGS_MKV) -o ../run/calc_stat
-../run/calc_stat.exe: calc_stat.c
- $(CC) $(MKVFLAGS) calc_stat.c -o ../run/calc_stat.exe
+../run/calc_stat.exe: calc_stat.o
+ $(LD) calc_stat.o $(LDFLAGS_MKV) -o ../run/calc_stat.exe
# Inlining the S-boxes produces faster code, as long as they fit in the cache
# (that is, on RISC with at least 8 KB of L1 code cache).
diff -urp john-1.7.3.1-all-4/src/mkvlib.c john-1.7.3.1/src/mkvlib.c
--- john-1.7.3.1-all-4/src/mkvlib.c 2007-09-21 13:29:53 +0000
+++ john-1.7.3.1/src/mkvlib.c 2008-09-17 03:11:00 +0000
@@ -159,11 +159,7 @@ void init_probatables(char * filename)
if(!fichier)
{
fprintf(stderr, "could not open %s\n", filename);
-#ifdef EXTERNAL
- perror(filename);
-#else
error();
-#endif
}
first = mem_alloc( sizeof(int) * 256 );
--
To unsubscribe, e-mail john-users-unsubscribe@...ts.openwall.com and reply
to the automated confirmation request that will be sent to you.
Powered by blists - more mailing lists
Powered by Openwall GNU/*/Linux -
Powered by OpenVZ