summaryrefslogtreecommitdiffstats
path: root/include/linux/objtool.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2022-04-13 10:43:03 +0200
committerTakashi Iwai <tiwai@suse.de>2022-04-13 10:43:28 +0200
commit651a88798412e216f337d70181127e847f00a4b7 (patch)
tree5fefb107fa9b3fa74dcc3e7ce410c5a1d571549d /include/linux/objtool.h
parent1b6a6fc5280e97559287b61eade2d4b363e836f2 (diff)
parentbb06c203f86766fc2c37cbce0e20e9daae786f6e (diff)
downloadcachepc-linux-651a88798412e216f337d70181127e847f00a4b7.tar.gz
cachepc-linux-651a88798412e216f337d70181127e847f00a4b7.zip
Merge branch 'topic/cs35l41' into for-next
Pull CS35L41 codec updates Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/linux/objtool.h')
-rw-r--r--include/linux/objtool.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/linux/objtool.h b/include/linux/objtool.h
index aca52db2f3f3..586d35720f13 100644
--- a/include/linux/objtool.h
+++ b/include/linux/objtool.h
@@ -77,6 +77,18 @@ struct unwind_hint {
#define STACK_FRAME_NON_STANDARD_FP(func)
#endif
+#define ANNOTATE_NOENDBR \
+ "986: \n\t" \
+ ".pushsection .discard.noendbr\n\t" \
+ _ASM_PTR " 986b\n\t" \
+ ".popsection\n\t"
+
+#define ASM_REACHABLE \
+ "998:\n\t" \
+ ".pushsection .discard.reachable\n\t" \
+ ".long 998b - .\n\t" \
+ ".popsection\n\t"
+
#else /* __ASSEMBLY__ */
/*
@@ -129,6 +141,20 @@ struct unwind_hint {
.popsection
.endm
+.macro ANNOTATE_NOENDBR
+.Lhere_\@:
+ .pushsection .discard.noendbr
+ .quad .Lhere_\@
+ .popsection
+.endm
+
+.macro REACHABLE
+.Lhere_\@:
+ .pushsection .discard.reachable
+ .long .Lhere_\@ - .
+ .popsection
+.endm
+
#endif /* __ASSEMBLY__ */
#else /* !CONFIG_STACK_VALIDATION */
@@ -139,12 +165,18 @@ struct unwind_hint {
"\n\t"
#define STACK_FRAME_NON_STANDARD(func)
#define STACK_FRAME_NON_STANDARD_FP(func)
+#define ANNOTATE_NOENDBR
+#define ASM_REACHABLE
#else
#define ANNOTATE_INTRA_FUNCTION_CALL
.macro UNWIND_HINT sp_reg:req sp_offset=0 type:req end=0
.endm
.macro STACK_FRAME_NON_STANDARD func:req
.endm
+.macro ANNOTATE_NOENDBR
+.endm
+.macro REACHABLE
+.endm
#endif
#endif /* CONFIG_STACK_VALIDATION */