Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20060517223616.GA2454@openwall.com>
Date: Thu, 18 May 2006 02:36:16 +0400
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: Compilation error for 1.7x on ppc64-linux

On Wed, May 17, 2006 at 12:32:32PM -0500, Randy B wrote:
> Linux mandarb 2.6.16-hardened-r6 #2 SMP Wed May 17 09:26:45 CDT 2006
> ppc64 PPC970, altivec supported GNU/Linux

Good stuff.

> Running a very current Gentoo system, and when compiling the 1.7x
> series, I get the following error from 'make linux-ppc64-altivec':

FWIW, you might get slightly better performance at some hash types if
you use the linux-ppc32-altivec target instead.  64-bitness helps when
AltiVec is not used, however when you start to use AltiVec (which is
essentially 128-bit for this application), you do not have to also
suffer from the increase in the size of pointers to 64 bits (which is
not needed for this application, so it only wastes cache space).

Will linux-ppc32-altivec compile on your system or are you lacking
32-bit libraries or something?

> gcc -s -m64 DES_fmt.o DES_std.o DES_bs.o BSDI_fmt.o MD5_fmt.o
[...]
> ppc-alti-linux.o -o ../run/john -lcrypto -lssl
> MYSQL_fmt.o:(.text+0x72c): undefined reference to `floor'

You forgot to mention that you have applied the jumbo patch.  This
problem would not occur without this unofficial patch.

> A bit of searching around led me to add '-lm' to LIBS in the Makefile;

That's the correct fix.

The reason this problem was not reported before is that floor() is a gcc
builtin on some architectures (I've just tested that this is indeed the
case on x86 and Alpha), but apparently not on PPC.  I'm not sure why
this was not detected with Mac OS X builds of the jumbo patch, which I'm
pretty sure Erik was doing.  My guess is that Mac OS X might include
this function right in libc rather than in libm, or it might be using a
different version of gcc.

Erik - this is yet another thing for you to fix for the next revision of
the jumbo patch.

Thanks,

-- 
Alexander Peslyak <solar at openwall.com>
GPG key ID: B35D3598  fp: 6429 0D7E F130 C13E C929  6447 73C3 A290 B35D 3598
http://www.openwall.com - bringing security into open computing environments

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.