On Mon, Apr 20, 2015 at 05:24:39PM +0100, Kyrill Tkachov wrote: > Hi all, > > When trying to compile a testcase with -mcpu=cortex-a57+crypto+nocrc I got > the weird assembler error: > Assembler messages: > Error: missing architectural extension > Error: unrecognized option -mcpu=cortex-a57+crypto+no > > The problem is the aarch64_rewrite_selected_cpu that is used to rewrite -mcpu > for big.LITTLE options has a limit of 20 characters in what it handles, which > we can exhaust quickly if we specify architectural extensions in a > fine-grained manner. > > This patch increases that character limit to 128 and adds an assert to > confirm that no bad things happen.
You've implemented this as a hard ICE, was that intended? > It also fixes another problem: If we pass a big.LITTLE combination with > feature modifiers like: -mcpu=cortex-a57.cortex-a53+nosimd > > the code will truncate everything after '.', thus destroying the extensions > that we want to pass. The patch adds code to stitch the extensions back on > after the LITTLE cpu is removed. UGH, I should not be allowed near strings! This code is on my list of things I'd love to rewrite to this year! For now, this is OK and please also queue it for 5.2 when that opens for patches. > Ok for trunk? Yes, thanks. And sorry again for introducing this in the first place. James