Patch series v8, as discussed. The whole series applies cleanly on 5.0-rc5 --- arch/arm64/Kconfig | 4 + arch/arm64/Makefile | 10 ++ arch/arm64/include/asm/ftrace.h | 16 ++++ arch/arm64/include/asm/module.h | 3 arch/arm64/kernel/Makefile | 12 +-- arch/arm64/kernel/entry-ftrace.S | 125 ++++++++++++++++++++++++++++++++-- arch/arm64/kernel/ftrace.c | 117 ++++++++++++++++++++++++------- arch/arm64/kernel/module-plts.c | 3 arch/arm64/kernel/module.c | 2 arch/arm64/lib/Makefile | 4 - drivers/firmware/efi/libstub/Makefile | 12 +-- include/asm-generic/vmlinux.lds.h | 2 include/linux/compiler_types.h | 4 + kernel/module.c | 14 +++ mm/kasan/Makefile | 8 +- 15 files changed, 281 insertions(+), 55 deletions(-) --- changes since v7: * -pg -> $(CC_FLAGS_FTRACE) cleanup now split according to subtree maintainership. * REC_IP_BRANCH_OFFSET is gone, the functionality went into ftrace_call_adjust(), where it belongs. * MOV_X9_X30 macro is gone (why did we argue about its name anyway?); it is only used once now in the initial ftrace_make_nop new helper function ftrace_setup_lr_saver(), suggested by Julien. * call site processing was missing for modules. Fixed. changes since v6: * change the stack layout once more; I hope I have it the "standard" way now. And yes, it looks simpler and cleaner; thanks, Mark, for nagging. * split out the independent Kconfig and Makefile changes * fixed style issues * s/fp/x29/g * MCOUNT_ADDR is now merely a 64-bit magic, as this is totally sufficient. * QUICK_LR_SAVE renamed back to MOV_X9_X30. * place MOV_X9_X30 insns on bootup, and only flip b <-> nop at runtime * graph tracer "ifdeffery" reshuffle Torsten