tags 415738 +patch
thanks

Thiemo Seufer wrote:
> The same happens on big endian mips. Running the benchmark manually (on
> a bcm1480) has a ~90% chance to succeed. Sometimes it fails due to a
> division-by-zero error in benchmark_cps, the second argument "time"
> is occasionally zero.
> 
> AFAICS possible workarounds are:
>  - define OS_TIMER for all linux platforms
>  - make the benchmark loop run longer

I took the first approach, for mips/mipsel only. Successfully test-built
on mips/sid.


Thiemo


diff -urpN john-1.6.orig/src/Makefile john-1.6/src/Makefile
--- john-1.6.orig/src/Makefile  2000-04-01 11:21:43.000000000 +0100
+++ john-1.6/src/Makefile       2007-06-18 16:25:19.000000000 +0100
@@ -86,6 +86,8 @@ default:
        @echo "linux-x86-any-a.out      Linux, x86, a.out binaries"
        @echo "linux-alpha              Linux, Alpha"
        @echo "linux-sparc              Linux, SPARC"
+       @echo "linux-mips               Linux, MIPS"
+       @echo "linux-mipsel             Linux, MIPSel"
        @echo "freebsd-x86-any-a.out    FreeBSD, x86, a.out binaries"
        @echo "freebsd-x86-k6-a.out     FreeBSD, AMD K6, a.out binaries"
        @echo "freebsd-x86-any-elf      FreeBSD, x86, ELF binaries"
@@ -156,11 +158,16 @@ use-linux-sparc:
                BENCH_DES_OBJS_DEPEND="$(BENCH_DES_OBJS_ORIG) sparc.o" \
                JOHN_OBJS="$(BITSLICE_OBJS) $(JOHN_OBJS_ORIG) sparc.o"
 
+linux-mips: mips.h
+       $(LN) mips.h arch.h
+       $(MAKE) $(PROJ) \
+               JOHN_OBJS="$(BITSLICE_OBJS) $(JOHN_OBJS)"
+
+linux-mipsel: mipsel.h
+       $(LN) mipsel.h arch.h
+       $(MAKE) $(PROJ) \
+               JOHN_OBJS="$(BITSLICE_OBJS) $(JOHN_OBJS)"
+
 freebsd-x86-any-a.out:
        $(LN) x86-any.h arch.h
        $(MAKE) $(PROJ) \
diff -urpN john-1.6.orig/src/mips.h john-1.6/src/mips.h
--- john-1.6.orig/src/mips.h    1970-01-01 01:00:00.000000000 +0100
+++ john-1.6/src/mips.h 2007-06-18 16:22:16.000000000 +0100
@@ -0,0 +1,43 @@
+/*
+ * This file is part of John the Ripper password cracker,
+ * Copyright (c) 1996-98 by Solar Designer
+ */
+
+/*
+ * Architecture specific parameters for big-endian MIPS.
+ */
+
+#ifndef _JOHN_ARCH_H
+#define _JOHN_ARCH_H
+
+#define ARCH_GENERIC                   1
+#define ARCH_WORD                      long
+#define ARCH_SIZE                      4
+#define ARCH_BITS                      32
+#define ARCH_BITS_STR                  "32"
+#define ARCH_LITTLE_ENDIAN             0
+#define ARCH_INT_GT_32                 0
+#define ARCH_ALLOWS_UNALIGNED          0
+#define ARCH_INDEX                     unsigned int
+
+#define OS_TIMER                       1
+#define OS_FLOCK                       1
+
+#define CPU_DETECT                     0
+
+#define DES_ASM                                0
+#define DES_128K                       0
+#define DES_X2                         0
+#define DES_MASK                       0
+#define DES_SCALE                      1
+#define DES_EXTB                       0
+#define DES_COPY                       1
+#define DES_BS                         0
+
+#define MD5_ASM                                0
+#define MD5_IMM                                0
+
+#define BF_ASM                         0
+#define BF_SCALE                       0
+
+#endif
diff -urpN john-1.6.orig/src/mipsel.h john-1.6/src/mipsel.h
--- john-1.6.orig/src/mipsel.h  1970-01-01 01:00:00.000000000 +0100
+++ john-1.6/src/mipsel.h       2007-06-18 16:24:14.000000000 +0100
@@ -0,0 +1,43 @@
+/*
+ * This file is part of John the Ripper password cracker,
+ * Copyright (c) 1996-98 by Solar Designer
+ */
+
+/*
+ * Architecture specific parameters for little-endian MIPS.
+ */
+
+#ifndef _JOHN_ARCH_H
+#define _JOHN_ARCH_H
+
+#define ARCH_GENERIC                   1
+#define ARCH_WORD                      long
+#define ARCH_SIZE                      4
+#define ARCH_BITS                      32
+#define ARCH_BITS_STR                  "32"
+#define ARCH_LITTLE_ENDIAN             1
+#define ARCH_INT_GT_32                 0
+#define ARCH_ALLOWS_UNALIGNED          0
+#define ARCH_INDEX                     unsigned int
+
+#define OS_TIMER                       1
+#define OS_FLOCK                       1
+
+#define CPU_DETECT                     0
+
+#define DES_ASM                                0
+#define DES_128K                       0
+#define DES_X2                         0
+#define DES_MASK                       0
+#define DES_SCALE                      1
+#define DES_EXTB                       0
+#define DES_COPY                       1
+#define DES_BS                         0
+
+#define MD5_ASM                                0
+#define MD5_IMM                                0
+
+#define BF_ASM                         0
+#define BF_SCALE                       0
+
+#endif


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to