aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/objtool/include
diff options
context:
space:
mode:
authorJosh Poimboeuf <jpoimboe@kernel.org>2023-05-30 10:21:02 -0700
committerJosh Poimboeuf <jpoimboe@kernel.org>2023-06-07 10:03:19 -0700
commitcaa4a6b74b405ddaea40e2946cc3983aac96451d (patch)
treeab29e58d7e23c2e88657d4ba04133c8b72d1f224 /tools/objtool/include
parentobjtool: Don't free memory in elf_close() (diff)
downloadwireguard-linux-caa4a6b74b405ddaea40e2946cc3983aac96451d.tar.xz
wireguard-linux-caa4a6b74b405ddaea40e2946cc3983aac96451d.zip
objtool: Add for_each_reloc()
Link: https://lore.kernel.org/r/dbfcb1037d8b958e52d097b67829c4c6811c24bb.1685464332.git.jpoimboe@kernel.org Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Diffstat (limited to 'tools/objtool/include')
-rw-r--r--tools/objtool/include/objtool/elf.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/objtool/include/objtool/elf.h b/tools/objtool/include/objtool/elf.h
index 74f63934afd3..a938cb1d4172 100644
--- a/tools/objtool/include/objtool/elf.h
+++ b/tools/objtool/include/objtool/elf.h
@@ -209,6 +209,12 @@ static inline void mark_sec_changed(struct elf *elf, struct section *sec,
for_each_sec(file, __sec) \
sec_for_each_sym(__sec, sym)
+#define for_each_reloc(rsec, reloc) \
+ list_for_each_entry(reloc, &rsec->reloc_list, list)
+
+#define for_each_reloc_from(rsec, reloc) \
+ list_for_each_entry_from(reloc, &rsec->reloc_list, list)
+
#define OFFSET_STRIDE_BITS 4
#define OFFSET_STRIDE (1UL << OFFSET_STRIDE_BITS)
#define OFFSET_STRIDE_MASK (~(OFFSET_STRIDE - 1))