[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a0yi+MrOS=+pjCeUu==YBE_AppB8vfqdsQS-1NpSO2c4A@mail.gmail.com>
Date: Fri, 8 Jun 2018 09:59:54 +0200
From: Arnd Bergmann <arnd@...db.de>
To: Nick Desaulniers <ndesaulniers@...gle.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
"H. Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
linux-efi@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"the arch/x86 maintainers" <x86@...nel.org>,
virtualization@...ts.linux-foundation.org, astrachan@...gle.com,
Manoj Gupta <manojgupta@...gle.com>,
Greg Hackmann <ghackmann@...gle.com>, sedat.dilek@...il.com,
tstellar@...hat.com, Kees Cook <keescook@...gle.com>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
Michal Marek <michal.lkml@...kovi.net>,
Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Will Deacon <will.deacon@....com>, mawilcox@...rosoft.com,
David Rientjes <rientjes@...gle.com>,
Arnaldo Carvalho de Melo <acme@...hat.com>,
Philippe Ombredanne <pombredanne@...b.com>,
Andrey Ryabinin <aryabinin@...tuozzo.com>,
Kate Stewart <kstewart@...uxfoundation.org>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Jan Kiszka <jan.kiszka@...mens.com>,
Steven Rostedt <rostedt@...dmis.org>,
"Kirill A . Shutemov" <kirill.shutemov@...ux.intel.com>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>,
akataria@...are.com, Brijesh Singh <brijesh.singh@....com>,
Cao jin <caoj.fnst@...fujitsu.com>,
gregkh <gregkh@...uxfoundation.org>,
Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>,
Juergen Gross <jgross@...e.com>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Matthias Kaehlcke <mka@...omium.org>,
"Lendacky, Thomas" <thomas.lendacky@....com>,
Thiebaud Weksteen <tweek@...gle.com>, mjg59@...gle.com,
Joe Perches <joe@...ches.com>
Subject: Re: [PATCH v4 1/3] compiler-gcc.h: add gnu_inline to all inline declarations
On Thu, Jun 7, 2018 at 10:49 PM, Nick Desaulniers
<ndesaulniers@...gle.com> wrote:
> Functions marked extern inline do not emit an externally visible
> function when the gnu89 C standard is used. Some KBUILD Makefiles
> overwrite KBUILD_CFLAGS. This is an issue for GCC 5.1+ users as without
> an explicit C standard specified, the default is gnu11. Since c99, the
> semantics of extern inline have changed such that an externally visible
> function is always emitted. This can lead to multiple definition errors
> of extern inline functions at link time of compilation units whose build
> files have removed an explicit C standard compiler flag for users of GCC
> 5.1+ or Clang.
>
> Signed-off-by: Nick Desaulniers <ndesaulniers@...gle.com>
> Suggested-by: H. Peter Anvin <hpa@...or.com>
> Suggested-by: Joe Perches <joe@...ches.com>
I suspect this will break Geert's gcc-4.1.2, which I think doesn't have that
attribute yet (4.1.3 or higher have it according to the documentation.
It wouldn't be hard to work around that if we want to keep that version
working, or we could decide that it's time to officially stop supporting
that version, but we should probably decide on one or the other.
Arnd
Powered by blists - more mailing lists