aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/objtool/include
diff options
context:
space:
mode:
authorTiezhu Yang <yangtiezhu@loongson.cn>2025-02-11 19:50:11 +0800
committerJosh Poimboeuf <jpoimboe@kernel.org>2025-03-12 15:43:38 -0700
commit091bf313f8a852a7f30c3a8dcef569edfd06f5dc (patch)
tree2447b795d16e1763249a446642edfb5688176000 /tools/objtool/include
parentobjtool: Handle various symbol types of rodata (diff)
downloadwireguard-linux-091bf313f8a852a7f30c3a8dcef569edfd06f5dc.tar.xz
wireguard-linux-091bf313f8a852a7f30c3a8dcef569edfd06f5dc.zip
objtool: Handle different entry size of rodata
In the most cases, the entry size of rodata is 8 bytes because the relocation type is 64 bit. There are also 32 bit relocation types, the entry size of rodata should be 4 bytes in this case. Add an arch-specific function arch_reloc_size() to assign the entry size of rodata for x86, powerpc and LoongArch. Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> Link: https://lore.kernel.org/r/20250211115016.26913-3-yangtiezhu@loongson.cn Acked-by: Huacai Chen <chenhuacai@loongson.cn> Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Diffstat (limited to 'tools/objtool/include')
-rw-r--r--tools/objtool/include/objtool/arch.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/objtool/include/objtool/arch.h b/tools/objtool/include/objtool/arch.h
index d63b46a19f39..396f7c6c81c0 100644
--- a/tools/objtool/include/objtool/arch.h
+++ b/tools/objtool/include/objtool/arch.h
@@ -97,4 +97,6 @@ int arch_rewrite_retpolines(struct objtool_file *file);
bool arch_pc_relative_reloc(struct reloc *reloc);
+unsigned int arch_reloc_size(struct reloc *reloc);
+
#endif /* _ARCH_H */