All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nathan Chancellor <nathan@kernel.org>
To: Hyeonggon Yoo <42.hyeyoo@gmail.com>, Vlastimil Babka <vbabka@suse.cz>
Cc: kernel test robot <lkp@intel.com>,
	kbuild-all@lists.01.org,
	Linux Memory Management List <linux-mm@kvack.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Nick Desaulniers <ndesaulniers@google.com>,
	clang-built-linux@googlegroups.com
Subject: Re: [linux-next:master 7012/7430] include/linux/compiler_types.h:328:38: error: call to '__compiletime_assert_183' declared with attribute error: unexpected size in kmalloc_index()
Date: Fri, 11 Jun 2021 09:56:30 -0700	[thread overview]
Message-ID: <99de1f59-1e38-6410-86ff-0ea1f016c49f@kernel.org> (raw)
In-Reply-To: <CAB=+i9StdrGQWXXoQHKU5oLK3eKuNcuCAbrd88kPLzM_Yw==Jg@mail.gmail.com>

On 6/11/2021 1:58 AM, Hyeonggon Yoo wrote:> After playing with clang 
more a bit, I got to know that
> compiletime_assert makes weird link error (undefined reference to 
> compiletime_assert_XXX), Not a compile error.
> 
> 
> I think it's time to CC ClangBuiltLinux maintainers, who work on 
> clang/llvm build support.
> 
> [+CC Nathan and Nick]
> 
> I assumeed that compiletime_assert (in linux/compiler.h) will make 
> compiler error, but it makes no compile error, just makes weird link error.
> 
> I'm not sure it it works well with clang, or somewhat buggy status?

I am guessing this alone is why we were keyed into the thread so I am 
just going to respond to this.

Unfortunately, this is a known issue with clang:

https://github.com/ClangBuiltLinux/linux/issues/1173

https://bugs.llvm.org/show_bug.cgi?id=16428

As you noticed, building the full kernel will result in a link error but 
it would certainly be nicer if it were a compiler error. Something for 
us to improve indeed but I am not sure when we will be able to allocate 
resources for that. Until then, you can build a full kernel to get the 
failing translation unit then use nm or readelf when building the single 
translation unit to see if there are any "__compiletime_assert" symbols.

Cheers,
Nathan


WARNING: multiple messages have this Message-ID (diff)
From: Nathan Chancellor <nathan@kernel.org>
To: kbuild-all@lists.01.org
Subject: Re: [linux-next:master 7012/7430] include/linux/compiler_types.h:328:38: error: call to '__compiletime_assert_183' declared with attribute error: unexpected size in kmalloc_index()
Date: Fri, 11 Jun 2021 09:56:30 -0700	[thread overview]
Message-ID: <99de1f59-1e38-6410-86ff-0ea1f016c49f@kernel.org> (raw)
In-Reply-To: <CAB=+i9StdrGQWXXoQHKU5oLK3eKuNcuCAbrd88kPLzM_Yw==Jg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1310 bytes --]

On 6/11/2021 1:58 AM, Hyeonggon Yoo wrote:> After playing with clang 
more a bit, I got to know that
> compiletime_assert makes weird link error (undefined reference to 
> compiletime_assert_XXX), Not a compile error.
> 
> 
> I think it's time to CC ClangBuiltLinux maintainers, who work on 
> clang/llvm build support.
> 
> [+CC Nathan and Nick]
> 
> I assumeed that compiletime_assert (in linux/compiler.h) will make 
> compiler error, but it makes no compile error, just makes weird link error.
> 
> I'm not sure it it works well with clang, or somewhat buggy status?

I am guessing this alone is why we were keyed into the thread so I am 
just going to respond to this.

Unfortunately, this is a known issue with clang:

https://github.com/ClangBuiltLinux/linux/issues/1173

https://bugs.llvm.org/show_bug.cgi?id=16428

As you noticed, building the full kernel will result in a link error but 
it would certainly be nicer if it were a compiler error. Something for 
us to improve indeed but I am not sure when we will be able to allocate 
resources for that. Until then, you can build a full kernel to get the 
failing translation unit then use nm or readelf when building the single 
translation unit to see if there are any "__compiletime_assert" symbols.

Cheers,
Nathan

  parent reply	other threads:[~2021-06-11 16:56 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-05  6:10 [linux-next:master 7012/7430] include/linux/compiler_types.h:328:38: error: call to '__compiletime_assert_183' declared with attribute error: unexpected size in kmalloc_index() kernel test robot
2021-06-05  6:10 ` kernel test robot
2021-06-06 11:08 ` Hyeonggon Yoo
2021-06-06 11:08   ` Hyeonggon Yoo
2021-06-07 11:40   ` Vlastimil Babka
2021-06-07 11:40     ` Vlastimil Babka
2021-06-07 12:25     ` Hyeonggon Yoo
2021-06-07 12:25       ` Hyeonggon Yoo
2021-06-07 15:27       ` Vlastimil Babka
2021-06-07 15:27         ` Vlastimil Babka
2021-06-07 15:49         ` Hyeonggon Yoo
2021-06-07 15:49           ` Hyeonggon Yoo
2021-06-08  7:57           ` Vlastimil Babka
2021-06-08  7:57             ` Vlastimil Babka
2021-06-08 17:05             ` Hyeonggon Yoo
2021-06-08 17:05               ` Hyeonggon Yoo
2021-06-08 17:27               ` Vlastimil Babka
2021-06-08 17:27                 ` Vlastimil Babka
2021-06-08 18:45                 ` Hyeonggon Yoo
2021-06-08 18:45                   ` Hyeonggon Yoo
2021-06-08 18:50                   ` Hyeonggon Yoo
2021-06-08 18:50                     ` Hyeonggon Yoo
2021-06-10  5:17                   ` Some logical errors on my words, but I still wonder Hyeonggon Yoo
2021-06-10  5:17                     ` Hyeonggon Yoo
2021-06-10 11:43                   ` [linux-next:master 7012/7430] include/linux/compiler_types.h:328:38: error: call to '__compiletime_assert_183' declared with attribute error: unexpected size in kmalloc_index() Vlastimil Babka
2021-06-10 11:43                     ` Vlastimil Babka
2021-06-11  8:58                     ` Hyeonggon Yoo
2021-06-11 10:27                       ` Vlastimil Babka
2021-06-11 11:56                         ` Hyeonggon Yoo
2021-06-11 23:59                           ` Vlastimil Babka
2021-06-11 23:59                             ` Vlastimil Babka
2021-06-12  0:19                             ` Hyeonggon Yoo
2021-06-12  0:19                               ` Hyeonggon Yoo
2021-06-14  9:26                               ` [PATCH FIX -next] " Vlastimil Babka
2021-06-14  9:26                                 ` Vlastimil Babka
2021-06-11 16:56                       ` Nathan Chancellor [this message]
2021-06-11 16:56                         ` Nathan Chancellor
2021-06-12  0:31                         ` Hyeonggon Yoo
2021-06-12  0:31                           ` Hyeonggon Yoo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=99de1f59-1e38-6410-86ff-0ea1f016c49f@kernel.org \
    --to=nathan@kernel.org \
    --cc=42.hyeyoo@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=clang-built-linux@googlegroups.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-mm@kvack.org \
    --cc=lkp@intel.com \
    --cc=ndesaulniers@google.com \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.