Subject: Re: linux-next build error (9)

From: Peter Zijlstra <[email-masked]>
Date: Tue, 23 Jun 2020 11:32:30 +0200

On Tue, Jun 23, 2020 at 12:44:13PM +1000, Stephen Rothwell wrote:
> Hi Peter,
> 
> On Mon, 22 Jun 2020 11:49:23 +0200 Peter Zijlstra <[email-masked]> wrote:

> > Hurmph, I though that was cured in GCC >= 8. Marco?
> 
> So what causes this? Because we got a couple of these in our s390 builds last night as well.

This is KASAN's __no_sanitize_address function attribute. Some GCC
versions are utterly wrecked when that function attribute is combined
with inlining. It wants to have matching attributes for the function
being inlined and function it is inlined into -- hence the function
attribute mismatch.

> kernel/locking/lockdep.c:805:1: error: inlining failed in call to always_inline 'look_up_lock_class': function attribute mismatch
> include/linux/debug_locks.h:15:28: error: inlining failed in call to always_inline '__debug_locks_off': function attribute mismatch
> 
> s390-linux-gcc (GCC) 8.1.0 / GNU ld (GNU Binutils) 2.30

*groan*... So supposedly it was supposed to work on GCC-8 and later, see
commit 7b861a53e46b6. But now it turns out there's some later versions
that fail too.

I suppose the next quest is finding a s390 compiler version that works
and then bumping the version test in the aforementioned commit.