2021-04-08 21:34:25

by Michal Suchánek

[permalink] [raw]
Subject: [PATCH 1/2] kbuild: dummy-tools: Add elfedit.

elfedit is used in Makefile

Makefile:GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))

which causes this error getting printed

which: no elfedit in (./scripts/dummy-tools)

Add elfedit to dummy-tools to avoid this error.

Signed-off-by: Michal Suchanek <[email protected]>
---
scripts/dummy-tools/elfedit | 1 +
1 file changed, 1 insertion(+)
create mode 120000 scripts/dummy-tools/elfedit

diff --git a/scripts/dummy-tools/elfedit b/scripts/dummy-tools/elfedit
new file mode 120000
index 000000000000..c0648b38dd42
--- /dev/null
+++ b/scripts/dummy-tools/elfedit
@@ -0,0 +1 @@
+ld
\ No newline at end of file
--
2.26.2


2021-04-08 21:34:30

by Michal Suchánek

[permalink] [raw]
Subject: [PATCH 2/2] MAINTAINERS: add pattern for dummy-tools.

scripts/get_maintainer.pl does not find a maintainer for new files
otherwise.

Signed-off-by: Michal Suchanek <[email protected]>
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index c80ad735b384..ce631ec44e1a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9690,6 +9690,7 @@ F: scripts/*vmlinux*
F: scripts/Kbuild*
F: scripts/Makefile*
F: scripts/basic/
+F: scripts/dummy-tools/
F: scripts/mk*
F: scripts/mod/
F: scripts/package/
--
2.26.2

2021-04-10 18:15:10

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH 1/2] kbuild: dummy-tools: Add elfedit.

On Fri, Apr 9, 2021 at 6:31 AM Michal Suchanek <[email protected]> wrote:
>
> elfedit is used in Makefile
>
> Makefile:GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
>
> which causes this error getting printed
>
> which: no elfedit in (./scripts/dummy-tools)


I am OK with this patch, but how did you reproduce it?




>
> Add elfedit to dummy-tools to avoid this error.
>
> Signed-off-by: Michal Suchanek <[email protected]>
> ---
> scripts/dummy-tools/elfedit | 1 +
> 1 file changed, 1 insertion(+)
> create mode 120000 scripts/dummy-tools/elfedit
>
> diff --git a/scripts/dummy-tools/elfedit b/scripts/dummy-tools/elfedit
> new file mode 120000
> index 000000000000..c0648b38dd42
> --- /dev/null
> +++ b/scripts/dummy-tools/elfedit
> @@ -0,0 +1 @@
> +ld
> \ No newline at end of file
> --
> 2.26.2
>


--
Best Regards
Masahiro Yamada

2021-04-11 10:27:33

by Michal Suchánek

[permalink] [raw]
Subject: Re: [PATCH 1/2] kbuild: dummy-tools: Add elfedit.

On Sun, Apr 11, 2021 at 03:12:40AM +0900, Masahiro Yamada wrote:
> On Fri, Apr 9, 2021 at 6:31 AM Michal Suchanek <[email protected]> wrote:
> >
> > elfedit is used in Makefile
> >
> > Makefile:GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
> >
> > which causes this error getting printed
> >
> > which: no elfedit in (./scripts/dummy-tools)
>
>
> I am OK with this patch, but how did you reproduce it?

make ARCH=arm CROSS_COMPILE=scripts/dummy-tools/ allmodconfig

it possibly depends on the config you already have, too.

Thanks

Michal

2021-04-11 11:42:14

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH 1/2] kbuild: dummy-tools: Add elfedit.

On Sun, Apr 11, 2021 at 7:18 PM Michal Suchánek <[email protected]> wrote:
>
> On Sun, Apr 11, 2021 at 03:12:40AM +0900, Masahiro Yamada wrote:
> > On Fri, Apr 9, 2021 at 6:31 AM Michal Suchanek <[email protected]> wrote:
> > >
> > > elfedit is used in Makefile
> > >
> > > Makefile:GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
> > >
> > > which causes this error getting printed
> > >
> > > which: no elfedit in (./scripts/dummy-tools)
> >
> >
> > I am OK with this patch, but how did you reproduce it?
>
> make ARCH=arm CROSS_COMPILE=scripts/dummy-tools/ allmodconfig
>
> it possibly depends on the config you already have, too.
>
> Thanks
>
> Michal


Maybey, are you working on linux-next?


[1]
$ git checkout add74f8473^
$ make ARCH=arm CROSS_COMPILE=scripts/dummy-tools/ allmodconfig

[2]
$ git checkout add74f8473
$ make ARCH=arm CROSS_COMPILE=scripts/dummy-tools/ allmodconfig



If [1] is OK, but [2] is NG,
commit add74f8473 is the root cause.

At least, I do not think this would happen
in the mainline kernel.

--
Best Regards
Masahiro Yamada

2021-04-11 13:57:32

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH 2/2] MAINTAINERS: add pattern for dummy-tools.

On Fri, Apr 9, 2021 at 6:31 AM Michal Suchanek <[email protected]> wrote:
>
> scripts/get_maintainer.pl does not find a maintainer for new files
> otherwise.
>
> Signed-off-by: Michal Suchanek <[email protected]>
> ---

Applied to linux-kbuild. Thanks.


> MAINTAINERS | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index c80ad735b384..ce631ec44e1a 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -9690,6 +9690,7 @@ F: scripts/*vmlinux*
> F: scripts/Kbuild*
> F: scripts/Makefile*
> F: scripts/basic/
> +F: scripts/dummy-tools/
> F: scripts/mk*
> F: scripts/mod/
> F: scripts/package/
> --
> 2.26.2
>


--
Best Regards
Masahiro Yamada

2021-04-11 21:28:15

by Michal Suchánek

[permalink] [raw]
Subject: Re: [PATCH 1/2] kbuild: dummy-tools: Add elfedit.

On Sun, Apr 11, 2021 at 08:37:03PM +0900, Masahiro Yamada wrote:
> On Sun, Apr 11, 2021 at 7:18 PM Michal Such?nek <[email protected]> wrote:
> >
> > On Sun, Apr 11, 2021 at 03:12:40AM +0900, Masahiro Yamada wrote:
> > > On Fri, Apr 9, 2021 at 6:31 AM Michal Suchanek <[email protected]> wrote:
> > > >
> > > > elfedit is used in Makefile
> > > >
> > > > Makefile:GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
> > > >
> > > > which causes this error getting printed
> > > >
> > > > which: no elfedit in (./scripts/dummy-tools)
> > >
> > >
> > > I am OK with this patch, but how did you reproduce it?
> >
> > make ARCH=arm CROSS_COMPILE=scripts/dummy-tools/ allmodconfig
> >
> > it possibly depends on the config you already have, too.
> >
> > Thanks
> >
> > Michal
>
>
> Maybey, are you working on linux-next?

Yes, I do have the rust support.

>
>
> [1]
> $ git checkout add74f8473^
> $ make ARCH=arm CROSS_COMPILE=scripts/dummy-tools/ allmodconfig
>
> [2]
> $ git checkout add74f8473
> $ make ARCH=arm CROSS_COMPILE=scripts/dummy-tools/ allmodconfig
>
>
>
> If [1] is OK, but [2] is NG,
> commit add74f8473 is the root cause.

Sounds like it. Before that the elfedit test was conditional on clang.

I can try to do the bisect but I think the reason it broke is quite
clear.

Thanks

Michal

2021-04-13 02:18:12

by Michal Suchánek

[permalink] [raw]
Subject: Re: [PATCH 1/2] kbuild: dummy-tools: Add elfedit.

On Sun, Apr 11, 2021 at 08:37:03PM +0900, Masahiro Yamada wrote:
> On Sun, Apr 11, 2021 at 7:18 PM Michal Such?nek <[email protected]> wrote:
> >
> > On Sun, Apr 11, 2021 at 03:12:40AM +0900, Masahiro Yamada wrote:
> > > On Fri, Apr 9, 2021 at 6:31 AM Michal Suchanek <[email protected]> wrote:
> > > >
> > > > elfedit is used in Makefile
> > > >
> > > > Makefile:GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
> > > >
> > > > which causes this error getting printed
> > > >
> > > > which: no elfedit in (./scripts/dummy-tools)
> > >
> > >
> > > I am OK with this patch, but how did you reproduce it?
> >
> > make ARCH=arm CROSS_COMPILE=scripts/dummy-tools/ allmodconfig
> >
> > it possibly depends on the config you already have, too.
> >
> > Thanks
> >
> > Michal
>
>
> Maybey, are you working on linux-next?
>
>
> [1]
> $ git checkout add74f8473^
> $ make ARCH=arm CROSS_COMPILE=scripts/dummy-tools/ allmodconfig
>
> [2]
> $ git checkout add74f8473
> $ make ARCH=arm CROSS_COMPILE=scripts/dummy-tools/ allmodconfig

Indeed, the rust support is the cause of the issue:

add74f8473c5ca7d8947c760ff355df991a259bb (HEAD) Rust support
0d02ec6b3136c73c09e7859f0d0e4e2c4c07b49b (tag: v5.12-rc4, s390/master,
s390/linux/master) Linux 5.12-rc4

While v5.12-rc4 is OK add74f8473 produces the error.

There is additional issue that I noticed: dummy tools does not work
seamlessly with O=

$ make CROSS_COMPILE=$(pwd)/scripts/dummy-tools/ O=/scratch/ppc64/ V=1 ARCH=powerpc allmodconfig > /dev/null
which: no elfedit in (/home/michal/linux-2.6/scripts/dummy-tools)

$ make CROSS_COMPILE=scripts/dummy-tools/ O=/scratch/ppc64/ V=1 ARCH=powerpc allmodconfig > /dev/null
which: no elfedit in (./scripts/dummy-tools)
scripts/Kconfig.include:39: compiler 'scripts/dummy-tools/gcc' not found
make[2]: *** [/home/michal/linux-2.6/scripts/kconfig/Makefile:63:
allmodconfig] Error 1
make[1]: *** [/home/michal/linux-2.6/Makefile:636: allmodconfig] Error 2
make: *** [Makefile:222: __sub-make] Error 2

Perhaps linking dummy-tools into the target directory would be a good
idea?

Thanks

Michal

2021-04-16 21:54:36

by Miguel Ojeda

[permalink] [raw]
Subject: Re: [PATCH 1/2] kbuild: dummy-tools: Add elfedit.

On Sun, Apr 11, 2021 at 11:27 PM Michal Suchánek <[email protected]> wrote:
>
> Yes, I do have the rust support.

I applied your patch in rust-next and it is in the latest linux-next,
let me know if that helped.

Masahiro, if you want to apply it on your side, just let me know!

Cheers,
Miguel