|
Message-ID: <4F946FCA.3060106@gmail.com> Date: Sun, 22 Apr 2012 16:53:30 -0400 From: Richard Farina <sidhayn@...il.com> To: john-dev@...ts.openwall.com Subject: Re: Build failure On 04/22/12 16:12, Solar Designer wrote: > Richard, > > I think this is more of a topic for john-users, but I'll reply in here > for the already started thread. > > On Fri, Apr 20, 2012 at 04:50:36PM -0400, Richard Farina wrote: >> He cannot build john with CFLAGS="-march=native" but has no issues with CFLAGS="-mtune=native". > In short, if you add certain flags to CFLAGS, you must also add these > flags to ASFLAGS and/or LDFLAGS. In the case of -march=native (and > certain other -march=... settings), it must be in both CFLAGS and > ASFLAGS, so that the .c and .S files from JtR are compiled for a > consistent target architecture (not two different ones). In the case of > -fopenmp, it must be in all three of CFLAGS, ASFLAGS, and LDFLAGS - > which is readily achieved with OMPFLAGS. Thus, as an option, you may > specify -march=native in OMPFLAGS instead of in CFLAGS. > > I understand that in your case -march=native might come from a > distro-wide setting that you use for packages' CFLAGS. If so, you may > try including that entire string in ASFLAGS as well - most of the > options will be no-ops while assembling, but that's OK. > >> make -j1 -C src/ CPP=i686-pc-linux-gnu-g++ CC=i686-pc-linux-gnu-gcc AS=i686-pc-linux-gnu-gcc LD=i686-pc-linux-gnu-gcc 'CFLAGS=-c -Wall -include \"/var/tmp/portage/app-crypt/johntheripper-1.7.9-r2/work/john-1.7.9\"/config.gentoo -O2 -march=native -pipe -fPIC -fPIE -fopenmp' 'LDFLAGS=-Wl,--hash-style=gnu -Wl,-O1 -Wl,--as-needed' OPT_NORMAL= OMPFLAGS=-fopenmp linux-x86-sse2 > You dropped -fomit-frame-pointer and added -fPIC -fPIE there. These > changes relative to JtR's default flags may have performance impact > (likely exceeding the possible advantage of -march=native). It would be > better to just use JtR's defaults. > > Starting with gcc 4.6.x, -fomit-frame-pointer became the default for -O2 > when building for 32-bit x86, though. Since Gentoo uses fresh stuff, > you're probably lucky to benefit from this. Yet a while ago it was a > real problem (distros overriding CFLAGS, thus not including > -fomit-frame-pointer and incurring performance hits of up to 10% or so). > > -fPIC -fPIE are still a bit problematic, although I understand why > Gentoo is doing that. You may try a relbench of a Gentoo build vs. > default build of jumbo. I suspect that the Gentoo build would run > slower on average. You may try it separately for x86_64 and i686 (also > for different make targets and OpenMP or not if you like). > > I hope this helps. Thank you very much for your response on this, it has been enlightening to say the least. I'll goof around and see what I end up with, any further issues like this will be pushed to the users list instead of the dev list. Thanks! Zero > > 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.