Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 15 Aug 2015 17:11:18 +0300
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: testing without SIMD, and different SIMD

magnum, Kai -

On Sat, Aug 15, 2015 at 04:57:22PM +0300, Solar Designer wrote:
> Looks like I need to install 32-bit OpenSSL development package, and
> then we'll need to include -m32 on those last 4 ./configure's I
> suggested, in addition to "setarch i686".

OK, the 32-bit configures are reasonable now:

[solar@...er src]$ setarch i686
-sh-4.1$ ./configure --disable-native-tests CFLAGS='-O2 -m32'
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
[...]
checking size of short... 2
checking size of int... 4
checking size of long... 4
checking size of long long... 8
checking size of int *... 4
checking size of void *... 4
configure: Testing tool-chain's CPU features
checking for MMX... no
checking for arch.h alternative... x86-any.h
checking for 32/64 bit... 32-bit
checking for extra ASFLAGS... None needed
checking for X32 ABI... no
checking for byte ordering according to target triple... little
[...]
Target CPU ................................. i686, 32-bit LE
AES-NI support ............................. depends on OpenSSL
Target OS .................................. linux-gnu
Cross compiling ............................ no
Legacy arch header ......................... x86-any.h

This should be a 32-bit SIMD-less build right away.  To have some SIMD,
we need to explicitly add first -mmmx and then also -msse2 to CFLAGS.
And then can try -mavx, but it should be same wrt bugs (but is worth
trying anyway).  So that will be our 4 32-bit builds to test.

Unfortunately, this fails to build:

-sh-4.1$ time make -sj32
In file included from opencl_7z_fmt_plug.c:132:
opencl-autotune.h: In function 'autotune_run_extra':
opencl-autotune.h:130: warning: right shift count >= width of type
[...]
x86.S:1430: Error: suffix or operands invalid for `pop'
make[1]: *** [x86.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [default] Error 2

... and lots of other errors related to 64-bit vs. 32-bit mix, skipped
here.  It looks like ./configure is failing to handle this right.

magnum - would you look into this, please?

Meanwhile, Kai may setup a 32-bit only VM, and run 32-bit tests in there.

Alexander

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.