summaryrefslogtreecommitdiff
path: root/arch/loongarch/include/asm/module.lds.h
diff options
context:
space:
mode:
authorQing Zhang <zhangqing@loongson.cn>2022-12-10 17:40:21 +0300
committerHuacai Chen <chenhuacai@loongson.cn>2022-12-14 03:41:54 +0300
commit28ac0a9e04d7dfb42220dc9d221164d93f20fb3a (patch)
tree520a7c5f68595d38a141a7866846f4cf40f19c1e /arch/loongarch/include/asm/module.lds.h
parenta51ac5246d2505b58229242959d2bc73d113ca50 (diff)
downloadlinux-28ac0a9e04d7dfb42220dc9d221164d93f20fb3a.tar.xz
LoongArch: modules/ftrace: Initialize PLT at load time
This patch implements ftrace trampolines through plt entry. Tested by forcing ftrace_make_call() to use the module PLT, and then loading up a module after setting up ftrace with: | echo ":mod:<module-name>" > set_ftrace_filter; | echo function > current_tracer; | modprobe <module-name> Since FTRACE_ADDR/FTRACE_REGS_ADDR is only defined when CONFIG_DYNAMIC_ FTRACE is selected, we wrap their usage in module_init_ftrace_plt() with ifdeffery rather than using IS_ENABLED(). Signed-off-by: Qing Zhang <zhangqing@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Diffstat (limited to 'arch/loongarch/include/asm/module.lds.h')
-rw-r--r--arch/loongarch/include/asm/module.lds.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/loongarch/include/asm/module.lds.h b/arch/loongarch/include/asm/module.lds.h
index a3d1bc0fcc72..438f09d4ccf4 100644
--- a/arch/loongarch/include/asm/module.lds.h
+++ b/arch/loongarch/include/asm/module.lds.h
@@ -5,4 +5,5 @@ SECTIONS {
.got : { BYTE(0) }
.plt : { BYTE(0) }
.plt.idx : { BYTE(0) }
+ .ftrace_trampoline : { BYTE(0) }
}