On Fri, Mar 26, 2021 at 09:37:55AM +0100, Sedat Dilek wrote: > On Thu, Mar 25, 2021 at 11:38 PM Nathan Chancellor <nat...@kernel.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 > > > > Does this only fixes stuff for clang + riscv?
Yes. > If so, please put a label "riscv" also in the cover-letter. Sure, my apologies for not doing that in the first place, I must have been in a rush with the cover letter. In my defense, I think the titles of my commit messages and the diffstat below make that obvious without the tag :) Cheers, Nathan > - Sedat - > > > 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(-) > > > > -- > > 2.31.0 > >