Re: [PATCH] kbuild: simplify access to the kernel's version

Masahiro Yamada
2021-02-12T03:42:14Z

On Fri, Feb 12, 2021 at 5:18 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> On Tue, Feb 9, 2021 at 3:20 AM Sasha Levin <sashal@kernel.org> wrote:
> >
> > On Mon, Feb 08, 2021 at 05:50:07PM +0000, Christoph Hellwig wrote:
> > >On Sun, Feb 07, 2021 at 11:13:52AM -0500, Sasha Levin wrote:
> > >> + (u8)(LINUX_VERSION_MAJOR), (u8)(LINUX_VERSION_PATCHLEVEL),
> > >> + (u16)(LINUX_VERSION_SUBLEVEL));
> > >
> > >No need for the casts and braces.
> > >
>
>
> I agree.
>
> Shall I remove the casts when I apply this?
>
>
>
>
> > >Otherwise this looks good, but please also kill off KERNEL_VERSION
> > >and LINUX_KERNEL_VERSION entirely while you're at it.
> >
> > I don't think there are in-tree users left?
> >
> > We can't remove it completely because userspace is still using it, so if
> > we drop those userspace will be sad.
>
>
> Right.
> Once we export a macros to userspace, we cannot remove it.
>
>
>
>
>
> > --
> > Thanks,
> > Sasha
>
>
>
> --
> Best Regards
> Masahiro Yamada

Wait, this patch does not work.
None of the submitter or reviewers
tested this patch... Sigh.

masahiro@grover:~/workspace/linux-kbuild$ make
Makefile:1249: *** missing 'endef', unterminated 'define'. Stop.

diff --git a/Makefile b/Makefile
index ef81c8895abf..1fdd44fe1659 100644
--- a/Makefile
+++ b/Makefile
@@ -1258,7 +1258,7 @@ define filechk_version.h
((c) > 255 ? 255 : (c)))'; \
echo \#define LINUX_VERSION_MAJOR $(VERSION); \
echo \#define LINUX_VERSION_PATCHLEVEL $(PATCHLEVEL); \
- echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL); \
+ echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL)
endef

$(version_h): FORCE

--
Best Regards
Masahiro Yamada