Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Thu, 26 Oct 2017 21:25:30 +0200
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: implicit declaration of function `_mm_set_epi64x'

On Thu, Oct 26, 2017 at 04:00:13PM +0200, altr@...2.de wrote:
> I am trying to compile jtr on an old Solaris machine:
>     SunOS uzktr 5.10 Generic_147441-01 i86pc i386 i86pc

Can you show the options to (if any) and the output of "./configure"?
What's your gcc version?

> It seems there is a compiler macro missing,

Or rather, missing support for some of the x86 SIMD intrinsics that we
use.  You could probably get around this by installing newer gcc.

> is there a possibility to  
> have a fallback to a non-optimized code or is it possible to  
> deactivate this feature?

Something like this might work to produce a non-SIMD build:

make distclean
./configure --disable-native-tests CFLAGS='-O2 -mno-sse2 -mno-mmx -U__SSE__'

IIRC, the last "-U__SSE__" was needed specifically on Linux with glibc,
where fully disabling compilation of SSE intrinsics didn't work, so you
might instead have better luck with the cleaner "-mno-sse" since you're
on a different system.

> rawSHA512_ng_fmt_plug.c:313: warning: implicit declaration of function  
> `_mm_set_epi64x'

If this intrinsic is the only one missing, you could define its
equivalent e.g. using one of the examples from:

https://stackoverflow.com/questions/23480188/initializing-an-m128-type-from-a-64-bit-unsigned-int

But probably more are missing as well.

Alexander

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ