Re: [PATCH 2/5 v2] ftrace/x86-32: Move the ftrace specific code out of entry_32.S

From: Steven Rostedt
Date: Fri Mar 17 2017 - 09:32:45 EST


On Thu, 16 Mar 2017 13:20:10 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx>
>
> The function tracing hook code for ftrace is not an entry point from
> userspace and does not belong in the entry_*.S files. It has already been
> moved out of entry_64.S. This moves it out of entry_32.S into its own
> ftrace_32.S file.
>
> Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
> ---
> Makefile | 12 +--
> arch/x86/entry/entry_32.S | 168 ------------------------------------------
> arch/x86/kernel/Makefile | 1 +
> arch/x86/kernel/ftrace_32.S | 176 ++++++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 183 insertions(+), 174 deletions(-)
> create mode 100644 arch/x86/kernel/ftrace_32.S
>
> diff --git a/Makefile b/Makefile
> index b841fb36beb2..7df32471c206 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -653,6 +653,12 @@ KBUILD_CFLAGS += $(call cc-ifversion, -lt, 0409, \
> # Tell gcc to never replace conditional load with a non-conditional one
> KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0)
>
> +# check for 'asm goto'
> +ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLAGS)), y)
> + KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
> + KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
> +endif
> +
> include scripts/Makefile.gcc-plugins
>
> ifdef CONFIG_READABLE_ASM
> @@ -798,12 +804,6 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
> # use the deterministic mode of AR if available
> KBUILD_ARFLAGS := $(call ar-option,D)
>
> -# check for 'asm goto'
> -ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLAGS)), y)
> - KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
> - KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
> -endif

Nobody noticed that I accidentally committed someone else's change. :-p

See http://lkml.kernel.org/r/20170310162411.GA18175@xxxxxxxxxxxxxxxxxxxxxx

I was testing his patch during development, and forgot to revert it.

/me rebases.

-- Steve

> -
> include scripts/Makefile.kasan
> include scripts/Makefile.extrawarn
> include scripts/Makefile.ubsan
> diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S