Date: Mon, 20 Oct 2014 18:20:28 +0400 From: Solar Designer <solar@...nwall.com> To: john-dev@...ts.openwall.com Subject: Re: Error with gcc-4.9.1 on MacOS 10.9.5 Hi Erik, On Mon, Oct 20, 2014 at 07:11:56AM -0400, Erik Winkler wrote: > I am getting the following error compiling the latest bleeding jumbo using gcc-4.9.1. For further occasions: this sort of postings are more appropriate for john-users rather than john-dev, even if your intent is trying to help JtR development by providing the problem reports (thanks!) > ccRPUOcd.s:398:no such instruction: `andn %edi, %r8d,%eax? This is an instruction from the BMI1 set, added with Haswell: http://en.wikipedia.org/wiki/Bit_Manipulation_Instruction_Sets#BMI1_.28Bit_Manipulation_Instruction_Set_1.29 > Do I need to build gcc with certain options to get it to recognize this code? No. The problem is that your gcc is more capable than your assembler. Your gcc recognized your newer CPU and generated code for it, but your assembler (coming from OS X) can't translate it into opcodes. We'll keep seeing this problem in various contexts, for various instruction set extensions on various archs, as long as we use the -march=native option to gcc. There's no good solution. Maybe we need a documented workaround, though - e.g., "remove -march=native or replace it with a specific option requesting an older architecture revision such as -mavx, or upgrade your assembler". Maybe we need a configure option disabling use of -march=native, or do we already have that? magnum? > I am running MacOS 10.9.5 on a system with a Haswell Corei7 cpu. Thanks again, 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.