summaryrefslogtreecommitdiff
path: root/include/linux/objtool.h
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2024-11-28 12:38:55 +0300
committerPeter Zijlstra <peterz@infradead.org>2024-12-02 14:01:41 +0300
commit317f2a64618c528539d17fe6957a64106087fbd2 (patch)
treecb53efb7a4d5ee1892a756fdd696053f0d083553 /include/linux/objtool.h
parentbf5febebd99fddfc6226a94e937d38a8d470b24e (diff)
downloadlinux-317f2a64618c528539d17fe6957a64106087fbd2.tar.xz
objtool: Convert instrumentation_{begin,end}() to ANNOTATE
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://lore.kernel.org/r/20241128094311.245980207@infradead.org
Diffstat (limited to 'include/linux/objtool.h')
-rw-r--r--include/linux/objtool.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/linux/objtool.h b/include/linux/objtool.h
index b5e9c0ab4048..89c67cd7eebe 100644
--- a/include/linux/objtool.h
+++ b/include/linux/objtool.h
@@ -51,13 +51,18 @@
".long 998b\n\t" \
".popsection\n\t"
-#define ASM_ANNOTATE(type) \
- "911:\n\t" \
+#define __ASM_BREF(label) label ## b
+
+#define __ASM_ANNOTATE(label, type) \
".pushsection .discard.annotate_insn,\"M\",@progbits,8\n\t" \
- ".long 911b - .\n\t" \
+ ".long " __stringify(label) " - .\n\t" \
".long " __stringify(type) "\n\t" \
".popsection\n\t"
+#define ASM_ANNOTATE(type) \
+ "911:\n\t" \
+ __ASM_ANNOTATE(911b, type)
+
#define ANNOTATE_NOENDBR ASM_ANNOTATE(ANNOTYPE_NOENDBR)
#else /* __ASSEMBLY__ */
@@ -161,6 +166,7 @@
#define UNWIND_HINT(type, sp_reg, sp_offset, signal) "\n\t"
#define STACK_FRAME_NON_STANDARD(func)
#define STACK_FRAME_NON_STANDARD_FP(func)
+#define __ASM_ANNOTATE(label, type)
#define ASM_ANNOTATE(type)
#define ANNOTATE_NOENDBR
#define ASM_REACHABLE