Skip to content

Commit 819cf65

Browse files
Youling Tangchenhuacai
authored andcommitted
LoongArch: ftrace: Fix build error if DYNAMIC_FTRACE_WITH_REGS is not set
We can see the following build error if CONFIG_DYNAMIC_FTRACE_WITH_REGS is not set on LoongArch: arch/loongarch/kernel/ftrace_dyn.c: In function ‘ftrace_make_call’: arch/loongarch/kernel/ftrace_dyn.c:167:23: error: implicit declaration of function ‘__get_mod’ 167 | ret = __get_mod(&mod, pc); | ^~~~~~~~~ arch/loongarch/kernel/ftrace_dyn.c:171:24: error: implicit declaration of function ‘get_plt_addr’ 171 | addr = get_plt_addr(mod, addr); | ^~~~~~~~~~~~ The reason is that the __get_mod() and get_plt_addr() may be called in ftrace_make_{call,nop}. Signed-off-by: Youling Tang <tangyouling@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
1 parent 6fbff14 commit 819cf65

1 file changed

Lines changed: 1 addition & 3 deletions

File tree

arch/loongarch/kernel/ftrace_dyn.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ static int ftrace_modify_code(unsigned long pc, u32 old, u32 new, bool validate)
3030
return 0;
3131
}
3232

33-
#ifdef CONFIG_DYNAMIC_FTRACE_WITH_REGS
34-
3533
#ifdef CONFIG_MODULES
3634
static inline int __get_mod(struct module **mod, unsigned long addr)
3735
{
@@ -72,6 +70,7 @@ static unsigned long get_plt_addr(struct module *mod, unsigned long addr)
7270
}
7371
#endif
7472

73+
#ifdef CONFIG_DYNAMIC_FTRACE_WITH_REGS
7574
int ftrace_modify_call(struct dyn_ftrace *rec, unsigned long old_addr, unsigned long addr)
7675
{
7776
u32 old, new;
@@ -102,7 +101,6 @@ int ftrace_modify_call(struct dyn_ftrace *rec, unsigned long old_addr, unsigned
102101

103102
return ftrace_modify_code(pc, old, new, true);
104103
}
105-
106104
#endif /* CONFIG_DYNAMIC_FTRACE_WITH_REGS */
107105

108106
int ftrace_update_ftrace_func(ftrace_func_t func)

0 commit comments

Comments
 (0)