[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNASSeuZWAXS6tDGL1T8S1N9fmg4DND616BL6uco4gnYFqA@mail.gmail.com>
Date: Wed, 11 Jun 2025 22:32:26 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: Heiko Carstens <hca@...ux.ibm.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>, Arnd Bergmann <arnd@...db.de>
Subject: Re: [GIT PULL] Kbuild updates for v6.16-rc1
On Wed, Jun 11, 2025 at 4:55 PM Heiko Carstens <hca@...ux.ibm.com> wrote:
>
> On Sun, Jun 08, 2025 at 01:41:18AM +0900, Masahiro Yamada wrote:
> > Kbuild updates for v6.16
> >
> > - Add support for the EXPORT_SYMBOL_GPL_FOR_MODULES() macro, which exports a
> > symbol only to specified modules
> >
> > - Improve ABI handling in gendwarfksyms
> >
> > - Forcibly link lib-y objects to vmlinux even if CONFIG_MODULES=n
> >
> > - Add checkers for redundant or missing <linux/export.h> inclusion
>
> As you write in commit a934a57a42f6 ("scripts/misc-check: check missing
> #include <linux/export.h> when W=1") this adds now 4000+ extra warnings
> for W=1 builds, which makes such builds more or less useless for me.
>
> Also the commit only describes what you want to achieve, but not why.
> I can only guess that you want to reduce header dependencies(?).
Yes.
Here, more numbers.
There are around 32000 *.c files in the tree, but only about 6000 of them
actually export symbols.
However, most of them end up including <linux/export.h>,
even though only 20% of them truly need it.
Header dependency cleanup is necessary.
Many a little makes a mickle.
> Don't get me wrong, I can address all of this trivial churn for s390, however
> enforcing so many extra warnings to everyone with W=1 builds doesn't look like
> the right approach to me.
This is what W=1 is for.
0day bot detects a new W=1 warning, so we can avoid new warnings coming in.
People do not know which headers should be included when.
So, this warning must exist at least until we can get rid of
#include <linux/export.h> from include/linux/module.h,
include/linux/linkage.h etc.
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists