From 0f836e5fecf59d0d0353e9af11fd14a32a3001ae Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Wed, 11 Oct 2006 01:21:43 -0700 Subject: [PATCH] [PATCH] Add CONFIG_HEADERS_CHECK option to automatically run 'make headers_check' In order to encourage people to notice when they break the exported headers, add a config option which automatically runs the sanity checks when building vmlinux. That way, those who use allyesconfig will notice failures. Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Makefile | 3 +++ lib/Kconfig.debug | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/Makefile b/Makefile index 274b780029b..f242829c4f0 100644 --- a/Makefile +++ b/Makefile @@ -741,6 +741,9 @@ endif # ifdef CONFIG_KALLSYMS # vmlinux image - including updated kernel symbols vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o) FORCE +ifdef CONFIG_HEADERS_CHECK + $(Q)$(MAKE) headers_check +endif $(call if_changed_rule,vmlinux__) $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $@ $(Q)rm -f .old_version diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 2d7cb0d04fc..8fd2dbf7eb5 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -371,6 +371,19 @@ config FORCED_INLINING become the default in the future, until then this option is there to test gcc for this. +config HEADERS_CHECK + bool "Run 'make headers_check' when building vmlinux" + help + This option will extract the user-visible kernel headers whenever + building the kernel, and will run basic sanity checks on them to + ensure that exported files do not attempt to include files which + were not exported, etc. + + If you're making modifications to header files which are + relevant for userspace, say 'Y', and check the headers + exported to $(INSTALL_HDR_PATH) (usually 'usr/include' in + your build tree), to make sure they're suitable. + config RCU_TORTURE_TEST tristate "torture tests for RCU" depends on DEBUG_KERNEL