File tree Expand file tree Collapse file tree 1 file changed +16
-16
lines changed Expand file tree Collapse file tree 1 file changed +16
-16
lines changed Original file line number Diff line number Diff line change 128
128
#define __always_unused __attribute__((unused))
129
129
#define __mode (x ) __attribute__((mode(x)))
130
130
131
+ #ifdef CONFIG_STACK_VALIDATION
132
+ #define annotate_unreachable () ({ \
133
+ asm("%c0:\n\t" \
134
+ ".pushsection .discard.unreachable\n\t" \
135
+ ".long %c0b - .\n\t" \
136
+ ".popsection\n\t" : : "i" (__LINE__)); \
137
+ })
138
+ #define ASM_UNREACHABLE \
139
+ "999:\n\t" \
140
+ ".pushsection .discard.unreachable\n\t" \
141
+ ".long 999b - .\n\t" \
142
+ ".popsection\n\t"
143
+ #else
144
+ #define annotate_unreachable ()
145
+ #endif
146
+
131
147
/* gcc version specific checks */
132
148
133
149
#if GCC_VERSION < 30200
201
217
#endif
202
218
#endif
203
219
204
- #ifdef CONFIG_STACK_VALIDATION
205
- #define annotate_unreachable () ({ \
206
- asm("%c0:\n\t" \
207
- ".pushsection .discard.unreachable\n\t" \
208
- ".long %c0b - .\n\t" \
209
- ".popsection\n\t" : : "i" (__LINE__)); \
210
- })
211
- #define ASM_UNREACHABLE \
212
- "999:\n\t" \
213
- ".pushsection .discard.unreachable\n\t" \
214
- ".long 999b - .\n\t" \
215
- ".popsection\n\t"
216
- #else
217
- #define annotate_unreachable ()
218
- #endif
219
-
220
220
/*
221
221
* Mark a position in code as unreachable. This can be used to
222
222
* suppress control flow warnings after asm blocks that transfer
You can’t perform that action at this time.
0 commit comments