History

x86,objtool: Move the ASM_REACHABLE annotation to objtool.h

Because we need a variant for .S files too.

Peter Zijlstra committed 4 years ago

Commit dca5da21 parent be007595 files · +34 −7Browse files

Showing the changes to tools/include/linux (1 of 5 files). Show all

Unified · Split

tools/include/linux/objtool.h+16−0
@@ -83,6 +83,12 @@ struct unwind_hint { · 82 unmodified lines
8383 _ASM_PTR " 986b\n\t" \
8484 ".popsection\n\t"
8585
86+#define ASM_REACHABLE \
87+ "998:\n\t" \
88+ ".pushsection .discard.reachable\n\t" \
89+ ".long 998b - .\n\t" \
90+ ".popsection\n\t"
91+
8692 #else /* __ASSEMBLY__ */
8793
8894 /*
@@ -142,6 +148,13 @@ struct unwind_hint { · 53 unmodified lines
142148 .popsection
143149 .endm
144150
151+.macro REACHABLE
152+.Lhere_\@:
153+ .pushsection .discard.reachable
154+ .long .Lhere_\@ - .
155+ .popsection
156+.endm
157+
145158 #endif /* __ASSEMBLY__ */
146159
147160 #else /* !CONFIG_STACK_VALIDATION */
@@ -153,6 +166,7 @@ struct unwind_hint { · 5 unmodified lines
153166 #define STACK_FRAME_NON_STANDARD(func)
154167 #define STACK_FRAME_NON_STANDARD_FP(func)
155168 #define ANNOTATE_NOENDBR
169+#define ASM_REACHABLE
156170 #else
157171 #define ANNOTATE_INTRA_FUNCTION_CALL
158172 .macro UNWIND_HINT sp_reg:req sp_offset=0 type:req end=0
@@ -161,6 +175,8 @@ struct unwind_hint { · 2 unmodified lines
161175 .endm
162176 .macro ANNOTATE_NOENDBR
163177 .endm
178+.macro REACHABLE
179+.endm
164180 #endif
165181
166182 #endif /* CONFIG_STACK_VALIDATION */