Re: [PATCH v2 2/2] x86: paravirt: make native_save_fl extern inline

From: Arnd Bergmann
Date: Tue Jun 05 2018 - 17:29:03 EST


On Tue, Jun 5, 2018 at 7:05 PM, Nick Desaulniers
<ndesaulniers@xxxxxxxxxx> wrote:
>
> The semantics of extern inline has changed since gnu89. This means that
> folks using GCC versions >= 5.1 may see symbol redefinition errors at
> link time for subdirs that override KBUILD_CFLAGS (making the C standard
> used implicit) regardless of this patch. This has been cleaned up
> earlier in the patch set, but is left as a note in the commit message
> for future travelers.

I think the keyword you are missing is

__attribute__((gnu_inline))

which forces the gnu89 behavior on all compiler versions. It's been supported
since gcc-4.2, so it should not cause problems on any compiler that is able
to build an x86 kernel.

Arnd