summaryrefslogtreecommitdiff
path: root/include/linux/instrumentation.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2021-12-26 10:19:40 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2021-12-26 10:19:40 -0800
commit2afa90bd1c7526766b5eadb1856988b61a31501f (patch)
treed0efa841b33cafa9fd0b03b14b230e4697753c7e /include/linux/instrumentation.h
parent438645193e59e91761ccb3fa55f6ce70b615ff93 (diff)
parentdcce50e6cc4d86a63dc0a9a6ee7d4f948ccd53a1 (diff)
Merge tag 'objtool_urgent_for_v5.16_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull objtool fixes from Borislav Petkov: - Prevent clang from reordering the reachable annotation in an inline asm statement without inputs - Fix objtool builds on non-glibc systems due to undefined __always_inline * tag 'objtool_urgent_for_v5.16_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: compiler.h: Fix annotation macro misplacement with Clang uapi: Fix undefined __always_inline on non-glibc systems
Diffstat (limited to 'include/linux/instrumentation.h')
-rw-r--r--include/linux/instrumentation.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/instrumentation.h b/include/linux/instrumentation.h
index fa2cd8c63dcc..24359b4a9605 100644
--- a/include/linux/instrumentation.h
+++ b/include/linux/instrumentation.h
@@ -11,7 +11,7 @@
asm volatile(__stringify(c) ": nop\n\t" \
".pushsection .discard.instr_begin\n\t" \
".long " __stringify(c) "b - .\n\t" \
- ".popsection\n\t"); \
+ ".popsection\n\t" : : "i" (c)); \
})
#define instrumentation_begin() __instrumentation_begin(__COUNTER__)
@@ -50,7 +50,7 @@
asm volatile(__stringify(c) ": nop\n\t" \
".pushsection .discard.instr_end\n\t" \
".long " __stringify(c) "b - .\n\t" \
- ".popsection\n\t"); \
+ ".popsection\n\t" : : "i" (c)); \
})
#define instrumentation_end() __instrumentation_end(__COUNTER__)
#else