Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-08 Thread Sedat Dilek
On Wed, Jun 6, 2018 at 6:39 PM, wrote: ... >>Beyond this, a general question: Can someone explain why all these >>inline defines are in compiler-gcc.h (as there exists compiler.h and >>compiler-clang.h)? >> >>Thanks. >> >>Regards, >>- Sedat - > > Because gcc itself also supports both GNU89-style

Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-07 Thread Nick Desaulniers
On Thu, Jun 7, 2018 at 11:31 AM Joe Perches wrote: > > On Thu, 2018-06-07 at 10:26 -0700, Nick Desaulniers wrote: > > I get the feeling that the use of __inline__ or __inline (vs inline) > > in the kernel may be wrong and their use should be eradicated in the > > follow up patch set, but it would

Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-07 Thread Joe Perches
On Thu, 2018-06-07 at 10:26 -0700, Nick Desaulniers wrote: > I get the feeling that the use of __inline__ or __inline (vs inline) > in the kernel may be wrong and their use should be eradicated in the > follow up patch set, but it would be cool if others have additional > insight. __inline is

Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-07 Thread Nick Desaulniers
On Tue, Jun 5, 2018 at 10:23 AM Joe Perches wrote: > > On Tue, 2018-06-05 at 10:05 -0700, Nick Desaulniers wrote: > And only set once along with: > > > #define __always_inline inline __attribute__((always_inline)) > > And perhaps this __always_inline should be updated > with gnu_inline as

Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-07 Thread Nick Desaulniers
On Thu, Jun 7, 2018 at 10:26 AM Nick Desaulniers wrote: > > On Tue, Jun 5, 2018 at 10:23 AM Joe Perches wrote: > > > > On Tue, 2018-06-05 at 10:05 -0700, Nick Desaulniers wrote: > > > Functions marked extern inline do not emit an externally visible > > > function when the gnu89 C standard is

Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-07 Thread Nick Desaulniers
On Tue, Jun 5, 2018 at 10:23 AM Joe Perches wrote: > > On Tue, 2018-06-05 at 10:05 -0700, Nick Desaulniers 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

Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-06 Thread hpa
On June 6, 2018 1:05:45 AM PDT, Sedat Dilek wrote: >Hi, > >when discovering 'gnu_inline', I found ... > >$ git grep -w __FORTIFY_INLINE >include/linux/string.h:#define __FORTIFY_INLINE extern __always_inline >__attribute__((gnu_inline)) >include/linux/string.h:__FORTIFY_INLINE char *strncpy(char

Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-06 Thread Sedat Dilek
Hi, when discovering 'gnu_inline', I found ... $ git grep -w __FORTIFY_INLINE include/linux/string.h:#define __FORTIFY_INLINE extern __always_inline __attribute__((gnu_inline)) include/linux/string.h:__FORTIFY_INLINE char *strncpy(char *p, const char *q, __kernel_size_t size)

Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-05 Thread Joe Perches
On Tue, 2018-06-05 at 12:50 -0700, Nick Desaulniers wrote: > On Tue, Jun 5, 2018 at 12:14 PM Joe Perches wrote: > > > > On Tue, 2018-06-05 at 10:23 -0700, Joe Perches wrote: > > > Perhaps these are simpler as > > > > > > #define __inline__inline > > > #define __inline inline > > > >

Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-05 Thread Nick Desaulniers
On Tue, Jun 5, 2018 at 12:14 PM Joe Perches wrote: > > On Tue, 2018-06-05 at 10:23 -0700, Joe Perches wrote: > > Perhaps these are simpler as > > > > #define __inline__inline > > #define __inline inline > > Currently, there are these uses of inline variants in the kernel > > $ git grep

Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-05 Thread Joe Perches
On Tue, 2018-06-05 at 10:23 -0700, Joe Perches wrote: > Perhaps these are simpler as > > #define __inline__inline > #define __inline inline Currently, there are these uses of inline variants in the kernel $ git grep -w inline | wc -l 68410 $ git grep -w __inline__ | wc -l 503 $ git

Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-05 Thread Nick Desaulniers
On Tue, Jun 5, 2018 at 10:23 AM Joe Perches wrote: > On Tue, 2018-06-05 at 10:05 -0700, Nick Desaulniers wrote: > > #if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \ > > !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4) > > -#define inline inline

Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-05 Thread Joe Perches
On Tue, 2018-06-05 at 10:05 -0700, Nick Desaulniers 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

[PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations

2018-06-05 Thread Nick Desaulniers
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