Re: 3.15.2 build error on AMD64

From: Nick Warne
Date: Sun Jun 29 2014 - 17:05:35 EST


On 29/06/14 20:44, Borislav Petkov wrote:
This then is an old(er) version of GCC issue (but I dunno what).

Right, so the error points at

__spin_lock_mb_cache_entry(struct mb_cache_entry *ce)
{
spin_lock(bgl_lock_ptr(mb_cache_bg_lock, <---
(hash_64((unsigned long)ce, __builtin_log2(8)))));
}

somewhere here and I'd guess that old gcc is issuing some lib function
which uses SSE. And after we disabled all FPU stuff in the kernel with
b399fe355b30 ("x86: Disable generation of traditional x87 instructions")
that would issue such an error.

And I was about to point at that __builtin_log2 thing which looked
suspicious and found this by chance:

http://lkml.kernel.org/r/1401471304-37479-1-git-send-email-tmac@xxxxxx

You could test this patch with that old gcc 4.2.x as it looks like a
good candidate for a fix for your issue.

Thanks Boris, but unfortunately I had to trash GCC 4.2.4 to build the new 4.7.4 version - so I can't test the patch :(

At least this issue is now on record so others will not need to go to penalties.

Many thanks,

Nick
--
"A bug in the code is worth two in the documentation."
FSF Associate Member 5508
http://linicks.net/
http://pi.linicks.net/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/