[PATCH] printk: fix _entry_ptr build warning

Chunhui Li (李春辉) chunhui.li at mediatek.com
Thu Mar 7 00:46:12 PST 2024


Yes, the build warning suffer after Clang upgraded to 18.0.0 in below
bellow patch. We will discuss with Google about Clang.

ANDROID: Kleaf: Switch to Clang 18.0.0 (r510928)
https://android.googlesource.com/kernel/common/+log/ff9fc702b8c3

Thanks for your valuable information 
Chunhui.Li

On Wed, 2024-03-06 at 12:40 -0700, Nathan Chancellor wrote:
>  	 
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
>  On Wed, Mar 06, 2024 at 05:26:47PM +0800, Chunhui Li wrote:
> > We build with Werror and suffer build error when
> > enable CONFIG_PRINTK_INDEX, such as
> > gfp.h:223:2: error: unused variable '_entry_ptr'
> > ratelimit.h:31:3: error: unused variable '_entry_ptr'
> > kallsyms.h:172:2: error: unused variable '_entry_ptr'
> > [-Werror,-Wunused-variable]
> > 
> > Fix the warning by appending __attribute__((unused)).
> > 
> > Signed-off-by: Chunhui Li <chunhui.li at mediatek.com>
> 
> Are these warnings being emitted from an Android version of clang,
> specifically 18.0.0 with the build ID of 11209041 (you should be able
> to
> tell this from the "bid" field in the BUILD_INFO file in the clang
> toolchain folder)? This seems remarkably similar to
> https://github.com/ClangBuiltLinux/linux/issues/1977, which was a
> report
> using that version of Android clang.
> 
> Ultimately, this warning is a bug in a clang change that was quickly
> found and reverted upstream
> 
>   
> https://github.com/llvm/llvm-project/commit/f0f395e00e2ec3f1f20ca9021d1554fde73d56c9
>   
> https://github.com/llvm/llvm-project/commit/cfa578cde0314935c6eb5d7fa19ec26390d431dd
> 
> but unfortunately, Android picked a revision for the 11209041 build
> that
> was between the landing of the broken commit and its revert. It was
> quickly fixed with the 11368308 build
> 
>   
> https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+/42d100b025eb5f4a41781348016c148e9e912cf9
> 
> so you should just be able to update to that version to resolve this.
> 
> Cheers,
> Nathan
> 
> > ---
> >  include/linux/printk.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/include/linux/printk.h b/include/linux/printk.h
> > index 8ef499ab3c1e..749c1c4257f1 100644
> > --- a/include/linux/printk.h
> > +++ b/include/linux/printk.h
> > @@ -392,7 +392,7 @@ struct pi_entry {
> >  .level = __builtin_constant_p(_level) ? (_level) : NULL, \
> >  .subsys_fmt_prefix = _subsys_fmt_prefix,\
> >  };\
> > -static const struct pi_entry *_entry_ptr\
> > +static const struct pi_entry *_entry_ptr __attribute__((unused)) \
> >  __used __section(".printk_index") = &_entry;\
> >  }\
> >  } while (0)
> > -- 
> > 2.18.0
> > 
> > 
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


More information about the Linux-mediatek mailing list