Skip to content
  • Nick Desaulniers's avatar
    compiler-gcc.h: Add __attribute__((gnu_inline)) to all inline declarations · d03db2bc
    Nick Desaulniers authored
    
    
    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.
    
    Suggested-by: default avatarArnd Bergmann <arnd@arndb.de>
    Suggested-by: default avatarH. Peter Anvin <hpa@zytor.com>
    Suggested-by: default avatarJoe Perches <joe@perches.com>
    Signed-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
    Acked-by: default avatarJuergen Gross <jgross@suse.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: acme@redhat.com
    Cc: akataria@vmware.com
    Cc: akpm@linux-foundation.org
    Cc: andrea.parri@amarulasolutions.com
    Cc: ard.biesheuvel@linaro.org
    Cc: aryabinin@virtuozzo.com
    Cc: astrachan@google.com
    Cc: boris.ostrovsky@oracle.com
    Cc: brijesh.singh@amd.com
    Cc: caoj.fnst@cn.fujitsu.com
    Cc: geert@linux-m68k.org
    Cc: ghackmann@google.com
    Cc: gregkh@linuxfoundation.org
    Cc: jan.kiszka@siemens.com
    Cc: jarkko.sakkinen@linux.intel.com
    Cc: jpoimboe@redhat.com
    Cc: keescook@google.com
    Cc: kirill.shutemov@linux.intel.com
    Cc: kstewart@linuxfoundation.org
    Cc: linux-efi@vger.kernel.org
    Cc: linux-kbuild@vger.kernel.org
    Cc: manojgupta@google.com
    Cc: mawilcox@microsoft.com
    Cc: michal.lkml@markovi.net
    Cc: mjg59@google.com
    Cc: mka@chromium.org
    Cc: pombredanne@nexb.com
    Cc: rientjes@google.com
    Cc: rostedt@goodmis.org
    Cc: sedat.dilek@gmail.com
    Cc: thomas.lendacky@amd.com
    Cc: tstellar@redhat.com
    Cc: tweek@google.com
    Cc: virtualization@lists.linux-foundation.org
    Cc: will.deacon@arm.com
    Cc: yamada.masahiro@socionext.com
    Link: http://lkml.kernel.org/r/20180621162324.36656-2-ndesaulniers@google.com
    
    
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    d03db2bc