diff mbox series

scripts: dummy-tools, add pahole

Message ID 20220414091419.7654-1-jslaby@suse.cz (mailing list archive)
State New, archived
Headers show
Series scripts: dummy-tools, add pahole | expand

Commit Message

Jiri Slaby April 14, 2022, 9:14 a.m. UTC
CONFIG_PAHOLE_VERSION is a part of a config since the commit below. And
when multiple people update the config, this value constantly changes.
Even if they use dummy scripts.

To fix this:
* add a pahole dummy script returning v99.99 -> 9999
* call it in Makefile taking CROSS_COMPILE into account.

The latter happens only if $(CROSS_COMPILE)pahole really exists. This is
because a cross pahole likely exists only in dummy tools now, not in
real cross tools.

Fixes: 613fe1692377 (kbuild: Add CONFIG_PAHOLE_VERSION)
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Michal Marek <michal.lkml@markovi.net>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 Makefile                   | 2 +-
 scripts/dummy-tools/pahole | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)
 create mode 100755 scripts/dummy-tools/pahole

Comments

Masahiro Yamada April 14, 2022, 9:33 a.m. UTC | #1
On Thu, Apr 14, 2022 at 6:14 PM Jiri Slaby <jslaby@suse.cz> wrote:
>
> CONFIG_PAHOLE_VERSION is a part of a config since the commit below. And
> when multiple people update the config, this value constantly changes.
> Even if they use dummy scripts.
>
> To fix this:
> * add a pahole dummy script returning v99.99 -> 9999
> * call it in Makefile taking CROSS_COMPILE into account.
>
> The latter happens only if $(CROSS_COMPILE)pahole really exists. This is
> because a cross pahole likely exists only in dummy tools now, not in
> real cross tools.


I do not think this is the right thing to do.

(As I said somewhere, I am opposed to checking pahole version in Kconfig).


Also, $(CROSS_COMPILE)pahole looks insane.

You can create a dummy pahole in your local system.

$ echo 'echo v99.99' > $HOME/bin/dummy-pahole
$ chmod +x  $HOME/bin/dummy-pahole
$ make CROSS_COMPILE=scripts/dummy-tools  PAHOLE=dummy-pahole  menuconfig









> Fixes: 613fe1692377 (kbuild: Add CONFIG_PAHOLE_VERSION)
> Cc: Masahiro Yamada <masahiroy@kernel.org>
> Cc: Michal Marek <michal.lkml@markovi.net>
> Cc: Nick Desaulniers <ndesaulniers@google.com>
> Cc: linux-kbuild@vger.kernel.org
> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
> ---
>  Makefile                   | 2 +-
>  scripts/dummy-tools/pahole | 4 ++++
>  2 files changed, 5 insertions(+), 1 deletion(-)
>  create mode 100755 scripts/dummy-tools/pahole
>
> diff --git a/Makefile b/Makefile
> index ecbd42f3451a..2ef722ba0a41 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -502,7 +502,7 @@ RUSTFMT             = rustfmt
>  CLIPPY_DRIVER  = clippy-driver
>  BINDGEN                = bindgen
>  CARGO          = cargo
> -PAHOLE         = pahole
> +PAHOLE         = $(if $(wildcard $(CROSS_COMPILE)pahole),$(CROSS_COMPILE)pahole,pahole)
>  RESOLVE_BTFIDS = $(objtree)/tools/bpf/resolve_btfids/resolve_btfids
>  LEX            = flex
>  YACC           = bison
> diff --git a/scripts/dummy-tools/pahole b/scripts/dummy-tools/pahole
> new file mode 100755
> index 000000000000..53501a36fa71
> --- /dev/null
> +++ b/scripts/dummy-tools/pahole
> @@ -0,0 +1,4 @@
> +#!/bin/sh
> +# SPDX-License-Identifier: GPL-2.0-only
> +
> +echo v99.99
> --
> 2.35.2
>
Jiri Slaby April 14, 2022, 9:42 a.m. UTC | #2
On 14. 04. 22, 11:33, Masahiro Yamada wrote:
> On Thu, Apr 14, 2022 at 6:14 PM Jiri Slaby <jslaby@suse.cz> wrote:
>>
>> CONFIG_PAHOLE_VERSION is a part of a config since the commit below. And
>> when multiple people update the config, this value constantly changes.
>> Even if they use dummy scripts.
>>
>> To fix this:
>> * add a pahole dummy script returning v99.99 -> 9999
>> * call it in Makefile taking CROSS_COMPILE into account.
>>
>> The latter happens only if $(CROSS_COMPILE)pahole really exists. This is
>> because a cross pahole likely exists only in dummy tools now, not in
>> real cross tools.
> 
> 
> I do not think this is the right thing to do.
> 
> (As I said somewhere, I am opposed to checking pahole version in Kconfig).

If you ask me, I am all for removal as this causes pain. But it's there, 
so I cannot do anything about that.

> Also, $(CROSS_COMPILE)pahole looks insane.
> 
> You can create a dummy pahole in your local system.
> 
> $ echo 'echo v99.99' > $HOME/bin/dummy-pahole
> $ chmod +x  $HOME/bin/dummy-pahole
> $ make CROSS_COMPILE=scripts/dummy-tools  PAHOLE=dummy-pahole  menuconfig

Well, the question is how do I that for every kernel developer in SUSE?

thanks,
Jiri Slaby April 14, 2022, 9:44 a.m. UTC | #3
On 14. 04. 22, 11:42, Jiri Slaby wrote:
> On 14. 04. 22, 11:33, Masahiro Yamada wrote:
>> On Thu, Apr 14, 2022 at 6:14 PM Jiri Slaby <jslaby@suse.cz> wrote:
>>>
>>> CONFIG_PAHOLE_VERSION is a part of a config since the commit below. And
>>> when multiple people update the config, this value constantly changes.
>>> Even if they use dummy scripts.
>>>
>>> To fix this:
>>> * add a pahole dummy script returning v99.99 -> 9999
>>> * call it in Makefile taking CROSS_COMPILE into account.
>>>
>>> The latter happens only if $(CROSS_COMPILE)pahole really exists. This is
>>> because a cross pahole likely exists only in dummy tools now, not in
>>> real cross tools.
>>
>>
>> I do not think this is the right thing to do.
>>
>> (As I said somewhere, I am opposed to checking pahole version in 
>> Kconfig).
> 
> If you ask me, I am all for removal as this causes pain. But it's there, 
> so I cannot do anything about that.
> 
>> Also, $(CROSS_COMPILE)pahole looks insane.
>>
>> You can create a dummy pahole in your local system.
>>
>> $ echo 'echo v99.99' > $HOME/bin/dummy-pahole
>> $ chmod +x  $HOME/bin/dummy-pahole
>> $ make CROSS_COMPILE=scripts/dummy-tools  PAHOLE=dummy-pahole  menuconfig
> 
> Well, the question is how do I that for every kernel developer in SUSE?

IOW it'd be quite easier if the scripts/dummy-tools/pahole part of the 
patch was in the tree. (I don't insist on the Makefile change.)

> thanks,-- 
js
suse labs
Masahiro Yamada April 14, 2022, 3:18 p.m. UTC | #4
On Thu, Apr 14, 2022 at 6:44 PM Jiri Slaby <jslaby@suse.cz> wrote:
>
> On 14. 04. 22, 11:42, Jiri Slaby wrote:
> > On 14. 04. 22, 11:33, Masahiro Yamada wrote:
> >> On Thu, Apr 14, 2022 at 6:14 PM Jiri Slaby <jslaby@suse.cz> wrote:
> >>>
> >>> CONFIG_PAHOLE_VERSION is a part of a config since the commit below. And
> >>> when multiple people update the config, this value constantly changes.
> >>> Even if they use dummy scripts.
> >>>
> >>> To fix this:
> >>> * add a pahole dummy script returning v99.99 -> 9999
> >>> * call it in Makefile taking CROSS_COMPILE into account.
> >>>
> >>> The latter happens only if $(CROSS_COMPILE)pahole really exists. This is
> >>> because a cross pahole likely exists only in dummy tools now, not in
> >>> real cross tools.
> >>
> >>
> >> I do not think this is the right thing to do.
> >>
> >> (As I said somewhere, I am opposed to checking pahole version in
> >> Kconfig).
> >
> > If you ask me, I am all for removal as this causes pain. But it's there,
> > so I cannot do anything about that.
> >
> >> Also, $(CROSS_COMPILE)pahole looks insane.
> >>
> >> You can create a dummy pahole in your local system.
> >>
> >> $ echo 'echo v99.99' > $HOME/bin/dummy-pahole
> >> $ chmod +x  $HOME/bin/dummy-pahole
> >> $ make CROSS_COMPILE=scripts/dummy-tools  PAHOLE=dummy-pahole  menuconfig
> >
> > Well, the question is how do I that for every kernel developer in SUSE?
>
> IOW it'd be quite easier if the scripts/dummy-tools/pahole part of the
> patch was in the tree. (I don't insist on the Makefile change.)


I do not mind  scripts/dummy-tools/pahole
although you need to do
make CROSS_COMPILE=scripts/dummy-tools
PAHOLE=scripts/dummy-tools/pahole  menuconfig




> > thanks,--
> js
> suse labs
Jiri Slaby April 19, 2022, 6:23 a.m. UTC | #5
On 14. 04. 22, 17:18, Masahiro Yamada wrote:
>>> Well, the question is how do I that for every kernel developer in SUSE?
>>
>> IOW it'd be quite easier if the scripts/dummy-tools/pahole part of the
>> patch was in the tree. (I don't insist on the Makefile change.)
> 
> 
> I do not mind  scripts/dummy-tools/pahole

Perfect!

> although you need to do
> make CROSS_COMPILE=scripts/dummy-tools
> PAHOLE=scripts/dummy-tools/pahole  menuconfig

That's easy -- the developers use a script that I can modify. (Oppositng 
to writing files to their homes etc.)

Will send a v2.

thanks,
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index ecbd42f3451a..2ef722ba0a41 100644
--- a/Makefile
+++ b/Makefile
@@ -502,7 +502,7 @@  RUSTFMT		= rustfmt
 CLIPPY_DRIVER	= clippy-driver
 BINDGEN		= bindgen
 CARGO		= cargo
-PAHOLE		= pahole
+PAHOLE		= $(if $(wildcard $(CROSS_COMPILE)pahole),$(CROSS_COMPILE)pahole,pahole)
 RESOLVE_BTFIDS	= $(objtree)/tools/bpf/resolve_btfids/resolve_btfids
 LEX		= flex
 YACC		= bison
diff --git a/scripts/dummy-tools/pahole b/scripts/dummy-tools/pahole
new file mode 100755
index 000000000000..53501a36fa71
--- /dev/null
+++ b/scripts/dummy-tools/pahole
@@ -0,0 +1,4 @@ 
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0-only
+
+echo v99.99