X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile;h=89f2d8b5136d72efcc0bd761cd3ba37ab956718f;hb=dc5d39be6dfb54a50c8ee1f6154b10181c974db1;hp=698dfc6ba65c5ba95f969b17f405e5d71d6cbd33;hpb=2c81210a26fb84c0af6aad95f6ec1d61cf276cd0;p=linux-2.6-omap-h63xx.git diff --git a/Makefile b/Makefile index 698dfc6ba65..89f2d8b5136 100644 --- a/Makefile +++ b/Makefile @@ -520,6 +520,11 @@ KBUILD_CFLAGS += -g KBUILD_AFLAGS += -gdwarf-2 endif +# We trigger additional mismatches with less inlining +ifdef CONFIG_DEBUG_SECTION_MISMATCH +KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once) +endif + # Force gcc to behave correct even for buggy distributions KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector) @@ -793,7 +798,7 @@ define rule_vmlinux-modpost endef # vmlinux image - including updated kernel symbols -vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o) vmlinux.o FORCE +vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) vmlinux.o $(kallsyms.o) FORCE ifdef CONFIG_HEADERS_CHECK $(Q)$(MAKE) -f $(srctree)/Makefile headers_check endif @@ -804,7 +809,9 @@ endif $(call if_changed_rule,vmlinux__) $(Q)rm -f .old_version -vmlinux.o: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o) FORCE +# build vmlinux.o first to catch section mismatch errors early +$(kallsyms.o): vmlinux.o +vmlinux.o: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) FORCE $(call if_changed_rule,vmlinux-modpost) # The actual objects are generated when descending, @@ -1181,6 +1188,7 @@ help: @echo ' dir/ - Build all files in dir and below' @echo ' dir/file.[ois] - Build specified target only' @echo ' dir/file.ko - Build module including final link' + @echo ' prepare - Set up for building external modules' @echo ' tags/TAGS - Generate tags file for editors' @echo ' cscope - Generate cscope index' @echo ' kernelrelease - Output the release version string' @@ -1476,7 +1484,7 @@ kernelversion: # Single targets # --------------------------------------------------------------------------- # Single targets are compatible with: -# - build whith mixed source and output +# - build with mixed source and output # - build with separate output dir 'make O=...' # - external modules #