2023-10-30 11:34:31

by Jiri Slaby

[permalink] [raw]
Subject: [PATCH] kbuild: dummy-tools: pretend we understand -fpatchable-function-entry

Commit 0f71dcfb4aef (powerpc/ftrace: Add support for
-fpatchable-function-entry) added a script to check for
-fpatchable-function-entry compiler support. The script expects compiler
to emit the section __patchable_function_entries and few nops after a
function entry.

If the compiler understands and emits the above,
CONFIG_ARCH_USING_PATCHABLE_FUNCTION_ENTRY is set.

So teach dummy-tools' gcc about this.

Signed-off-by: Jiri Slaby (SUSE) <[email protected]>
Cc: Masahiro Yamada <[email protected]>
Cc: Nathan Chancellor <[email protected]>
Cc: Nick Desaulniers <[email protected]>
Cc: Nicolas Schier <[email protected]>
Cc: [email protected]
Cc: Naveen N Rao <[email protected]>
Cc: Christophe Leroy <[email protected]>
Cc: Michael Ellerman <[email protected]>
---
scripts/dummy-tools/gcc | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/scripts/dummy-tools/gcc b/scripts/dummy-tools/gcc
index 07f6dc4c5cf6..e6c41427c02f 100755
--- a/scripts/dummy-tools/gcc
+++ b/scripts/dummy-tools/gcc
@@ -91,6 +91,16 @@ if arg_contain -S "$@"; then
fi
exit 0
fi
+
+ # For arch/powerpc/tools/gcc-check-fpatchable-function-entry.sh
+ if arg_contain -m64 "$@" && arg_contain -fpatchable-function-entry=2 "$@"; then
+ echo "func:"
+ echo ".section __patchable_function_entries"
+ echo ".localentry"
+ echo " nop"
+ echo " nop"
+ exit 0
+ fi
fi

# To set GCC_PLUGINS
--
2.42.0


2023-10-31 16:09:31

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH] kbuild: dummy-tools: pretend we understand -fpatchable-function-entry

On Mon, Oct 30, 2023 at 12:34:16PM +0100, Jiri Slaby (SUSE) wrote:
> Commit 0f71dcfb4aef (powerpc/ftrace: Add support for
> -fpatchable-function-entry) added a script to check for
> -fpatchable-function-entry compiler support. The script expects compiler
> to emit the section __patchable_function_entries and few nops after a
> function entry.
>
> If the compiler understands and emits the above,
> CONFIG_ARCH_USING_PATCHABLE_FUNCTION_ENTRY is set.
>
> So teach dummy-tools' gcc about this.
>
> Signed-off-by: Jiri Slaby (SUSE) <[email protected]>
> Cc: Masahiro Yamada <[email protected]>
> Cc: Nathan Chancellor <[email protected]>
> Cc: Nick Desaulniers <[email protected]>
> Cc: Nicolas Schier <[email protected]>
> Cc: [email protected]
> Cc: Naveen N Rao <[email protected]>
> Cc: Christophe Leroy <[email protected]>
> Cc: Michael Ellerman <[email protected]>
> ---

This seems reasonable to me. I did not test it but it seems like it
should work based on my reading of gcc-check-fpatchable-function-entry.sh.

Reviewed-by: Nathan Chancellor <[email protected]>

One minor nit, there should be quotes around the subject of 0f71dcfb4aef
in the commit message, should there need to be a v2 for some reason.

> scripts/dummy-tools/gcc | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/scripts/dummy-tools/gcc b/scripts/dummy-tools/gcc
> index 07f6dc4c5cf6..e6c41427c02f 100755
> --- a/scripts/dummy-tools/gcc
> +++ b/scripts/dummy-tools/gcc
> @@ -91,6 +91,16 @@ if arg_contain -S "$@"; then
> fi
> exit 0
> fi
> +
> + # For arch/powerpc/tools/gcc-check-fpatchable-function-entry.sh
> + if arg_contain -m64 "$@" && arg_contain -fpatchable-function-entry=2 "$@"; then
> + echo "func:"
> + echo ".section __patchable_function_entries"
> + echo ".localentry"
> + echo " nop"
> + echo " nop"
> + exit 0
> + fi
> fi
>
> # To set GCC_PLUGINS
> --
> 2.42.0
>

2023-11-01 14:31:57

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH] kbuild: dummy-tools: pretend we understand -fpatchable-function-entry

On Mon, Oct 30, 2023 at 8:34 PM Jiri Slaby (SUSE) <[email protected]> wrote:
>
> Commit 0f71dcfb4aef (powerpc/ftrace: Add support for
> -fpatchable-function-entry) added a script to check for
> -fpatchable-function-entry compiler support. The script expects compiler
> to emit the section __patchable_function_entries and few nops after a
> function entry.
>
> If the compiler understands and emits the above,
> CONFIG_ARCH_USING_PATCHABLE_FUNCTION_ENTRY is set.
>
> So teach dummy-tools' gcc about this.
>
> Signed-off-by: Jiri Slaby (SUSE) <[email protected]>
> Cc: Masahiro Yamada <[email protected]>
> Cc: Nathan Chancellor <[email protected]>
> Cc: Nick Desaulniers <[email protected]>
> Cc: Nicolas Schier <[email protected]>
> Cc: [email protected]
> Cc: Naveen N Rao <[email protected]>
> Cc: Christophe Leroy <[email protected]>
> Cc: Michael Ellerman <[email protected]>
> ---


Applied to linux-kbuild.
Thanks.




--
Best Regards
Masahiro Yamada