613f4b3ed7
To enable the new Clang randstruct implementation[1], move randstruct into its own Makefile and split the CFLAGS from GCC_PLUGINS_CFLAGS into RANDSTRUCT_CFLAGS. [1] https://reviews.llvm.org/D121556 Cc: linux-hardening@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20220503205503.3054173-5-keescook@chromium.org
15 lines
410 B
Makefile
15 lines
410 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
randstruct-cflags-y += -DRANDSTRUCT
|
|
|
|
ifdef CONFIG_GCC_PLUGIN_RANDSTRUCT
|
|
randstruct-cflags-y \
|
|
+= -fplugin=$(objtree)/scripts/gcc-plugins/randomize_layout_plugin.so
|
|
randstruct-cflags-$(CONFIG_RANDSTRUCT_PERFORMANCE) \
|
|
+= -fplugin-arg-randomize_layout_plugin-performance-mode
|
|
endif
|
|
|
|
export RANDSTRUCT_CFLAGS := $(randstruct-cflags-y)
|
|
|
|
KBUILD_CFLAGS += $(RANDSTRUCT_CFLAGS)
|