Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Wed, 19 Aug 2015 10:21:22 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: testing without SIMD, and different SIMD

On 2015-08-15 16:11, Solar Designer wrote:
> OK, the 32-bit configures are reasonable now:
>
> [solar@...er src]$ setarch i686
> -sh-4.1$ ./configure --disable-native-tests CFLAGS='-O2 -m32'

> 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.

For some reason or the other, this works better (always did):

./configure CC="gcc -m32" --disable-native-tests

With this, building completes but there are lots of warnings. I believe 
all of them are actually new problems (last couple of months): Most seem 
to be from assumptions that "long" or "size_t" are 64-bit, or failing to 
append ULL to 64-bit constants. I'll look into it.

BTW, instead of "setarch i686" whatever that does, we use to do this:

./configure CC='gcc -m32' --host=i686-pc-linux

and (for example) to use some lower SIMD class, something like this 
instead of --disable-native-tests:

./configure CC="gcc -m32" CPPFLAGS=-mno-ssse3

The latter (just the CPPFLAGS) also works fine with 64-bit builds. It 
ends up "all you got" (from -march=native) and then disabling SSSE3 and 
above.

magnum

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.