Re: 3.15.2 build error on AMD64
[Posted July 2, 2014 by corbet]
| From: |
| Borislav Petkov <bp-AT-alien8.de> |
| To: |
| Nick Warne <nick-AT-linicks.net> |
| Subject: |
| Re: 3.15.2 build error on AMD64 |
| Date: |
| Sun, 29 Jun 2014 21:44:04 +0200 |
| Message-ID: |
| <20140629194403.GB12943@pd.tnic> |
| Cc: |
| linux-kernel-AT-vger.kernel.org |
| Archive‑link: | |
Article |
On Sun, Jun 29, 2014 at 08:06:36PM +0100, Nick Warne wrote:
> OK, I just spent three months building GCC 4.7.4 today (thank god the
> world cup is on to watch instead)
Yep, the world cup helps a lot with tedious debugging work. :-)
> and 3.15.2 built fine, and server is up and
> running great.
>
> 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-emai...
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.
:-)
--
Regards/Gruss,
Boris.
Sent from a fat crate under my desk. Formatting is fine.
--