Subject: Re: linux-next: build warning after merge of the mm tree

From: Masahiro Yamada <[email-masked]>
Date: Thu, 14 Mar 2024 00:22:46 +0900

On Wed, Mar 13, 2024 at 6:01 PM Uwe Kleine-König
<[email-masked]> wrote:
>
> On Wed, Mar 13, 2024 at 03:07:28PM +1100, Stephen Rothwell wrote:
> > Hi all,
> >
> > After merging the mm tree, today's linux-next build (powerpc allyesconfig)
> > produced this warning:
> >
> > Use of uninitialized value $ENV{"abs_srctree"} in concatenation (.) or string at /home/sfr/next/next/lib/build_OID_registry line 38.
> >
> > Introduced by commit
> >
> >   325f7b0aaea6 ("lib/build_OID_registry: Don't mention the full path of the script in output")
> >
> > from the mm-nonmm-unstable branch of the mm tree.
>
> Actually the warning doesn't happen on 325f7b0aaea6. The commit is only
> problematic in combination with commit
>
>         e2bad142bb3d ("kbuild: unexport abs_srctree and abs_objtree")
>
> . This commit suggests to use $(abspath ) or $(realpath ) instead, but I
> fail to apply this suggestion here.
>
> Obviously
>
> diff --git a/Makefile b/Makefile
> index 5e09b53b4850..f73a73a125e0 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -39,7 +39,7 @@ __all:
>  # prepare rule.
>
>  this-makefile := $(lastword $(MAKEFILE_LIST))
> -abs_srctree := $(realpath $(dir $(this-makefile)))
> +export abs_srctree := $(realpath $(dir $(this-makefile)))
>  abs_objtree := $(CURDIR)
>
>  ifneq ($(sub_make_done),1)
>
> would help.
>
> Any ideas how to properly handle that? Would the export be ok?
>
> Best regards
> Uwe

Oh well, you are making a lot of effort just for a C comment line.

It is trivial to achieve the equivalent thing.

use Cwd qw(abs_path);

my $abs_srctree = abs_path($ENV{'srctree'});

I would just print a fixed string, as this is not important.

print C_FILE " * Automatically generated by build_OID_registry.  Do not edit\n";

    OR

print C_FILE " * Automatically generated.  Do not edit\n";

-- 
Best Regards
Masahiro Yamada