diff options
Diffstat (limited to 'include/linux/compiler-gcc.h')
-rw-r--r-- | include/linux/compiler-gcc.h | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h index e2c7f4369eff..b4bf73f5e38f 100644 --- a/include/linux/compiler-gcc.h +++ b/include/linux/compiler-gcc.h | |||
@@ -242,6 +242,9 @@ | |||
242 | #if defined(RANDSTRUCT_PLUGIN) && !defined(__CHECKER__) | 242 | #if defined(RANDSTRUCT_PLUGIN) && !defined(__CHECKER__) |
243 | #define __randomize_layout __attribute__((randomize_layout)) | 243 | #define __randomize_layout __attribute__((randomize_layout)) |
244 | #define __no_randomize_layout __attribute__((no_randomize_layout)) | 244 | #define __no_randomize_layout __attribute__((no_randomize_layout)) |
245 | /* This anon struct can add padding, so only enable it under randstruct. */ | ||
246 | #define randomized_struct_fields_start struct { | ||
247 | #define randomized_struct_fields_end } __randomize_layout; | ||
245 | #endif | 248 | #endif |
246 | 249 | ||
247 | #endif /* GCC_VERSION >= 40500 */ | 250 | #endif /* GCC_VERSION >= 40500 */ |
@@ -256,15 +259,6 @@ | |||
256 | */ | 259 | */ |
257 | #define __visible __attribute__((externally_visible)) | 260 | #define __visible __attribute__((externally_visible)) |
258 | 261 | ||
259 | /* | ||
260 | * RANDSTRUCT_PLUGIN wants to use an anonymous struct, but it is only | ||
261 | * possible since GCC 4.6. To provide as much build testing coverage | ||
262 | * as possible, this is used for all GCC 4.6+ builds, and not just on | ||
263 | * RANDSTRUCT_PLUGIN builds. | ||
264 | */ | ||
265 | #define randomized_struct_fields_start struct { | ||
266 | #define randomized_struct_fields_end } __randomize_layout; | ||
267 | |||
268 | #endif /* GCC_VERSION >= 40600 */ | 262 | #endif /* GCC_VERSION >= 40600 */ |
269 | 263 | ||
270 | 264 | ||