On Mon. 25 Apr 2022 at 15:50, Arnd Bergmann <arnd@xxxxxxxx> wrote: > On Mon, Apr 25, 2022 at 8:17 AM Vincent MAILHOL > <mailhol.vincent@xxxxxxxxxx> wrote: > > On Mon. 25 Apr 2022 at 07:17, Nathan Chancellor <nathan@xxxxxxxxxx> wrote: > > > Hi Vincent, > > > > > > On Sat, Apr 23, 2022 at 12:17:25AM +0900, Vincent Mailhol wrote: > > > > The macros defined in this file are for testing only and are purposely > > > > not used. When compiled with W=2, both gcc and clang yield some > > > > -Wunused-macros warnings. Ignore them. > > > > > > > > Signed-off-by: Vincent Mailhol <mailhol.vincent@xxxxxxxxxx> > > > > > > The change itself looks fine but a couple of comments: > > > > > > 1. Nick and I do not pick up patches, we rely on others to do so. > > > Additionally, this is not really something within our domain, despite > > > what get_maintainer.pl might say. This change should be sent to > > > either > > > > > > Masahiro Yamada <masahiroy@xxxxxxxxxx> > > > linux-kbuild@xxxxxxxxxxxxxxx > > > > > > or > > > > > > Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > > > > > > so that it can be applied by one of them. > > > > Ack. As you pointed out, I indeed just followed get_maintainer.pl. > > I will resend a v2 to the people you pointed out (and exclude you). > > > > > 2. I am not sure that silencing warnings from W=2 is that useful, as > > > they are unlikely to be real issues. Not to discourage you by any > > > means but it might be more useful to focus on cleaning up warnings > > > from W=1 and getting those promoted to regular build warnings. > > > > Normally I agree, but there is one reason to fix this W=2: this > > warning appears when building other files. > > > > Example: > > | $ make W=2 drivers/net/dummy.o > > | CALL scripts/checksyscalls.sh > > | <stdin>:21: warning: macro "__IGNORE_stat64" is not used [-Wunused-macros] > > | <stdin>:22: warning: macro "__IGNORE_lstat64" is not used [-Wunused-macros] > > | <stdin>:75: warning: macro "__IGNORE_llseek" is not used [-Wunused-macros] > > | <stdin>:159: warning: macro "__IGNORE_madvise1" is not used [-Wunused-macros] > > (rest of the output redacted). > > > > When I run W=2, I want to only see the warnings of the file I am > > working on. So I find it useful to fix the W=2 warnings which > > show up when building other files to not get spammed by > > irrelevant issues and to simplify the triage. > > > > My initial message lacked the rationale. I will add additional > > explanations in the v2 of this patch. > > I agree this is worth fixing if we want to make W=2 have any meaning at all. > > Your approach is probably fine. We could try to improve this by comparing > against the list from include/uapi/asm-generic/unistd.h instead of the i386 > list. I suppose that would involve rewriting the script into a simpler one, > but I'm not sure if anyone has an interest in working on this. If someone wants to do it, great, but I do not have the confidence to do it myself so I hope you will forgive me for taking a pass here. Another alternative I considered was to only call checksyscalls.sh when doing a 'make all'. This way, we keep the warning but people won’t be spammed when building sub projects because the script would not be executed. I tried to be as less disruptive as possible. Unless people show interest in one of the alternative approaches, I will keep using the -Wno-unused-macros approach in the v2. > diff --git a/scripts/checksyscalls.sh b/scripts/checksyscalls.sh > index 9dbab13329fa..cde15f22ec98 100755 > --- a/scripts/checksyscalls.sh > +++ b/scripts/checksyscalls.sh > @@ -255,6 +255,7 @@ cat << EOF > /* 64-bit ports never needed these, and new 32-bit ports can use statx */ > #define __IGNORE_fstat64 > #define __IGNORE_fstatat64 > + Just realized that I added a new line for no reason. This will be removed in v2. Sorry. > EOF > } > > @@ -268,4 +269,4 @@ syscall_list() { > } > > (ignore_list && syscall_list $(dirname $0)/../arch/x86/entry/syscalls/syscall_32.tbl) | \ > -$* -Wno-error -E -x c - > /dev/null > +$* -Wno-error -Wno-unused-macros -E -x c - > /dev/null > -- > 2.35.1 Yours sincerely, Vincent Mailhol