2024-03-13 04:07:52

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build warning after merge of the mm tree

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.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2024-03-13 09:01:19

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the mm tree

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

--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | https://www.pengutronix.de/ |


Attachments:
(No filename) (1.42 kB)
signature.asc (499.00 B)
Download all attachments

2024-03-13 15:23:32

by Masahiro Yamada

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the mm tree

On Wed, Mar 13, 2024 at 6:01 PM Uwe Kleine-König
<[email protected]> 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

2024-03-13 21:24:09

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the mm tree

Hello Masahiro,

On Thu, Mar 14, 2024 at 12:22:46AM +0900, Masahiro Yamada wrote:
> On Wed, Mar 13, 2024 at 6:01 PM Uwe Kleine-König
> <[email protected]> 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?
>
> Oh well, you are making a lot of effort just for a C comment line.

I don't care much either. Given that now I know how to somewhat keep the
originally intended information, the effort between a fixed string and
a dynamically generated one isn't very relevant.

> use Cwd qw(abs_path);
>
> my $abs_srctree = abs_path($ENV{'srctree'});

Ah, I missed that srctree is an exported variable. Thanks, will prepare
a v2. akpm already dropped my initial patch from his queue.

Thanks for your input.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |


Attachments:
(No filename) (2.26 kB)
signature.asc (499.00 B)
Download all attachments