[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <mhng-fbfe4121-4626-4641-b596-d027d6cfc50c@palmerdabbelt-glaptop>
Date: Sun, 11 Apr 2021 14:27:32 -0700 (PDT)
From: Palmer Dabbelt <palmer@...belt.com>
To: nathan@...nel.org
CC: Paul Walmsley <paul.walmsley@...ive.com>, aou@...s.berkeley.edu,
linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org,
clang-built-linux@...glegroups.com, nathan@...nel.org
Subject: Re: [PATCH 0/3] Fix CONFIG_FUNCTION_TRACER with clang
On Thu, 25 Mar 2021 15:38:04 PDT (-0700), nathan@...nel.org wrote:
> Hi all,
>
> This series fixes function tracing with clang.
>
> Patch 1 adjusts the mcount regex in scripts/recordmcount.pl to handle
> the presence of PLT relocations, which happen with clang. Without this,
> the mcount_loc section will not be created properly.
>
> Patch 2 adds a workaround for clang less than 13.0.0 in relation to the
> mcount symbol name, which was "mcount" rather than "_mcount". This was
> written as a separate patch so that it can be reverted when the minimum
> clang version is bumped to clang 13.0.0.
>
> Patch 3 avoids a build error when -fpatchable-function-entry is not
> available, which is the case with clang less than 13.0.0. This will make
> dynamic ftrace unavailable but all of the other function tracing should
> work due to the prescence of the previous patch.
>
> I am hoping this series can go in as fixes for 5.12, due to patch 3, but
> if not, they can always be backported (patches 1 and 2 are already
> marked for stable).
>
> This series has been build tested with gcc-8 through gcc-10 and clang-11
> through clang-13 with defconfig and nommu_virt_defconfig plus
> CONFIG_FTRACE=y and CONFIG_FUNCTION_TRACER=y then boot tested under
> QEMU.
>
> Cheers,
> Nathan
>
> Nathan Chancellor (3):
> scripts/recordmcount.pl: Fix RISC-V regex for clang
> riscv: Workaround mcount name prior to clang-13
> riscv: Select HAVE_DYNAMIC_FTRACE when -fpatchable-function-entry is
> available
>
> arch/riscv/Kconfig | 2 +-
> arch/riscv/include/asm/ftrace.h | 14 ++++++++++++--
> arch/riscv/kernel/mcount.S | 10 +++++-----
> scripts/recordmcount.pl | 2 +-
> 4 files changed, 19 insertions(+), 9 deletions(-)
Thanks, these are on for-next.
Powered by blists - more mailing lists