summaryrefslogtreecommitdiffstats
path: root/tools/objtool
diff options
context:
space:
mode:
authorSathvika Vasireddy <sv@linux.ibm.com>2022-11-14 23:27:51 +0530
committerMichael Ellerman <mpe@ellerman.id.au>2022-11-18 19:00:16 +1100
commitc1449735211dd8c4c2d54fa0ece6890ecbd74e24 (patch)
tree01c2bc7ca7e7ca6303d32f9c8628690503e07c8a /tools/objtool
parentde6fbcedf5abce4c321eeb15d7d286b79804b8b6 (diff)
downloadlinux-stable-c1449735211dd8c4c2d54fa0ece6890ecbd74e24.tar.gz
linux-stable-c1449735211dd8c4c2d54fa0ece6890ecbd74e24.tar.bz2
linux-stable-c1449735211dd8c4c2d54fa0ece6890ecbd74e24.zip
objtool: Use macros to define arch specific reloc types
Make relocation types architecture specific. Tested-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Reviewed-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20221114175754.1131267-14-sv@linux.ibm.com
Diffstat (limited to 'tools/objtool')
-rw-r--r--tools/objtool/arch/x86/include/arch/elf.h2
-rw-r--r--tools/objtool/check.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/tools/objtool/arch/x86/include/arch/elf.h b/tools/objtool/arch/x86/include/arch/elf.h
index 69cc4264b28a..ac14987cf687 100644
--- a/tools/objtool/arch/x86/include/arch/elf.h
+++ b/tools/objtool/arch/x86/include/arch/elf.h
@@ -2,5 +2,7 @@
#define _OBJTOOL_ARCH_ELF
#define R_NONE R_X86_64_NONE
+#define R_ABS64 R_X86_64_64
+#define R_ABS32 R_X86_64_32
#endif /* _OBJTOOL_ARCH_ELF */
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 752a6ffd5c4c..2d7153b5d5d1 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -885,7 +885,7 @@ static int create_mcount_loc_sections(struct objtool_file *file)
memset(loc, 0, addrsize);
if (elf_add_reloc_to_insn(file->elf, sec, idx,
- R_X86_64_64,
+ addrsize == sizeof(u64) ? R_ABS64 : R_ABS32,
insn->sec, insn->offset))
return -1;