2024-03-06 10:03:19

by Chunhui Li (李春辉)

[permalink] [raw]
Subject: [PATCH] printk: fix _entry_ptr build warning

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 <[email protected]>
---
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



2024-03-06 19:40:44

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH] printk: fix _entry_ptr build warning

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 <[email protected]>

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
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

2024-03-07 08:47:14

by Chunhui Li (李春辉)

[permalink] [raw]
Subject: Re: [PATCH] printk: fix _entry_ptr build warning

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 <[email protected]>
>
> 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
> > [email protected]
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel