summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2006-10-11 12:21:43 +0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-11 22:14:21 +0400
commit0f836e5fecf59d0d0353e9af11fd14a32a3001ae (patch)
treeb5ac08451e0a7e0aa1f4c8782fed88cf2f909811
parentc21be1c9c1ab42fe285a74f184e1acbc37ee084b (diff)
downloadlinux-0f836e5fecf59d0d0353e9af11fd14a32a3001ae.tar.xz
[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 <dwmw2@infradead.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--Makefile3
-rw-r--r--lib/Kconfig.debug13
2 files changed, 16 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 274b780029b1..f242829c4f0b 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 2d7cb0d04fc8..8fd2dbf7eb5b 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