diff options
Diffstat (limited to 'arch/riscv/include/asm/ftrace.h')
| -rw-r--r-- | arch/riscv/include/asm/ftrace.h | 19 | 
1 files changed, 7 insertions, 12 deletions
diff --git a/arch/riscv/include/asm/ftrace.h b/arch/riscv/include/asm/ftrace.h index 329172122952..1276d7d9ca8b 100644 --- a/arch/riscv/include/asm/ftrace.h +++ b/arch/riscv/include/asm/ftrace.h @@ -13,19 +13,14 @@  #endif  #define HAVE_FUNCTION_GRAPH_RET_ADDR_PTR -/* - * Clang prior to 13 had "mcount" instead of "_mcount": - * https://reviews.llvm.org/D98881 - */ -#if defined(CONFIG_CC_IS_GCC) || CONFIG_CLANG_VERSION >= 130000 -#define MCOUNT_NAME _mcount -#else -#define MCOUNT_NAME mcount -#endif -  #define ARCH_SUPPORTS_FTRACE_OPS 1  #ifndef __ASSEMBLY__ -void MCOUNT_NAME(void); + +extern void *return_address(unsigned int level); + +#define ftrace_return_address(n) return_address(n) + +void _mcount(void);  static inline unsigned long ftrace_call_adjust(unsigned long addr)  {  	return addr; @@ -75,7 +70,7 @@ struct dyn_arch_ftrace {   * both auipc and jalr at the same time.   */ -#define MCOUNT_ADDR		((unsigned long)MCOUNT_NAME) +#define MCOUNT_ADDR		((unsigned long)_mcount)  #define JALR_SIGN_MASK		(0x00000800)  #define JALR_OFFSET_MASK	(0x00000fff)  #define AUIPC_OFFSET_MASK	(0xfffff000)  |