[GIT PULL v2] ARM ftrace fixes for Thumb2, Clang and the EABI unwinder
Ard Biesheuvel
ardb at kernel.org
Mon Feb 14 06:37:35 PST 2022
The following changes since commit 2fa3948244939471bfc93fa2f7cf3a1aadf79822:
Merge tag 'arm-vmap-stacks-v6' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux into devel-stable (2022-01-31 15:26:45 +0000)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git tags/arm-ftrace-for-rmk
for you to fetch changes up to d6800ca73a7d325627c045c16d7cfdc7465f4333:
Revert "ARM: 9144/1: forbid ftrace with clang and thumb2_kernel" (2022-02-10 09:55:05 +0100)
PRv2: use rmk's current devel-stable as the start commit
----------------------------------------------------------------
ARM: ftrace fixes and cleanups
Make all flavors of ftrace available on all builds, regardless of ISA
choice, unwinder choice or compiler:
- use ADD not POP where possible
- fix a couple of Thumb2 related issues
- enable HAVE_FUNCTION_GRAPH_FP_TEST for robustness
- enable the graph tracer with the EABI unwinder
- avoid clobbering frame pointer registers to make Clang happy
Link: https://lore.kernel.org/linux-arm-kernel/20220203082204.1176734-1-ardb@kernel.org/
----------------------------------------------------------------
Ard Biesheuvel (12):
ARM: ftrace: ensure that ADR takes the Thumb bit into account
ARM: ftrace: use ADD not POP to counter PUSH at entry
ARM: ftrace: use trampolines to keep .init.text in branching range
ARM: ftrace: avoid redundant loads or clobbering IP
ARM: ftrace: avoid unnecessary literal loads
ARM: ftrace: enable HAVE_FUNCTION_GRAPH_FP_TEST
ARM: unwind: track location of LR value in stack frame
ARM: ftrace: enable the graph tracer with the EABI unwinder
ARM: kprobes: treat R7 as the frame pointer register in Thumb2 builds
ARM: cacheflush: avoid clobbering the frame pointer
ARM: mach-bcm: disable ftrace in SMC invocation routines
Revert "ARM: 9144/1: forbid ftrace with clang and thumb2_kernel"
arch/arm/Kconfig | 4 +-
arch/arm/Kconfig.debug | 2 +-
arch/arm/include/asm/cacheflush.h | 12 +--
arch/arm/include/asm/ftrace.h | 20 +----
arch/arm/include/asm/stacktrace.h | 3 +
arch/arm/kernel/Makefile | 6 +-
arch/arm/kernel/entry-ftrace.S | 128 +++++++++++++++++--------------
arch/arm/kernel/ftrace.c | 62 +++++++++++++--
arch/arm/kernel/unwind.c | 7 +-
arch/arm/mach-bcm/Makefile | 1 +
arch/arm/mach-exynos/mcpm-exynos.c | 6 +-
arch/arm/mm/cache-v7.S | 40 +++++-----
arch/arm/probes/kprobes/actions-common.c | 8 +-
arch/arm/probes/kprobes/actions-thumb.c | 16 +++-
14 files changed, 182 insertions(+), 133 deletions(-)
More information about the linux-arm-kernel
mailing list