Merge branch 'tip/perf/core-2' of git://git.kernel.org/pub/scm/linux/kernel/git/roste...
authorIngo Molnar <mingo@elte.hu>
Thu, 16 Jun 2011 11:26:23 +0000 (13:26 +0200)
committerIngo Molnar <mingo@elte.hu>
Thu, 16 Jun 2011 11:26:23 +0000 (13:26 +0200)
Conflicts:
Makefile

1  2 
Makefile

diff --combined Makefile
+++ b/Makefile
@@@ -1,8 -1,8 +1,8 @@@
 -VERSION = 2
 -PATCHLEVEL = 6
 -SUBLEVEL = 39
 -EXTRAVERSION = -rc7
 -NAME = Flesh-Eating Bats with Fangs
 +VERSION = 3
 +PATCHLEVEL = 0
 +SUBLEVEL = 0
 +EXTRAVERSION = -rc3
 +NAME = Sneaky Weasel
  
  # *DOCUMENTATION*
  # To see a list of typical targets execute "make help"
@@@ -103,7 -103,7 +103,7 @@@ ifeq ("$(origin O)", "command line"
  endif
  
  ifeq ("$(origin W)", "command line")
 -  export KBUILD_ENABLE_EXTRA_GCC_CHECKS := 1
 +  export KBUILD_ENABLE_EXTRA_GCC_CHECKS := $(W)
  endif
  
  # That's our default target when none is given on the command line
@@@ -220,14 -220,6 +220,14 @@@ ifeq ($(ARCH),sh64
         SRCARCH := sh
  endif
  
 +# Additional ARCH settings for tile
 +ifeq ($(ARCH),tilepro)
 +       SRCARCH := tile
 +endif
 +ifeq ($(ARCH),tilegx)
 +       SRCARCH := tile
 +endif
 +
  # Where to locate arch specific headers
  hdr-arch  := $(SRCARCH)
  
@@@ -357,8 -349,7 +357,8 @@@ CFLAGS_GCOV        = -fprofile-arcs -ftest-cov
  
  # Use LINUXINCLUDE when you must reference the include/ directory.
  # Needed to be compatible with the O= option
 -LINUXINCLUDE    := -I$(srctree)/arch/$(hdr-arch)/include -Iinclude \
 +LINUXINCLUDE    := -I$(srctree)/arch/$(hdr-arch)/include \
 +                   -Iarch/$(hdr-arch)/include/generated -Iinclude \
                     $(if $(KBUILD_SRC), -I$(srctree)/include) \
                     -include include/generated/autoconf.h
  
@@@ -378,7 -369,7 +378,7 @@@ KBUILD_LDFLAGS_MODULE := -T $(srctree)/
  
  # Read KERNELRELEASE from include/config/kernel.release (if it exists)
  KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
 -KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 +KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
  
  export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION
  export ARCH SRCARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC
@@@ -391,7 -382,6 +391,7 @@@ export KBUILD_CFLAGS CFLAGS_KERNEL CFLA
  export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
  export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
  export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
 +export KBUILD_ARFLAGS
  
  # When compiling out-of-tree modules, put MODVERDIR in the module
  # tree rather than in the kernel tree. The kernel tree might
@@@ -426,12 -416,6 +426,12 @@@ ifneq ($(KBUILD_SRC),
            $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL)
  endif
  
 +# Support for using generic headers in asm-generic
 +PHONY += asm-generic
 +asm-generic:
 +      $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-generic \
 +                  obj=arch/$(SRCARCH)/include/generated/asm
 +
  # To make sure we do not include .config for any of the *config targets
  # catch them early, and hand them over to scripts/kconfig/Makefile
  # It is allowed to specify more targets when calling make, including
@@@ -575,10 -559,6 +575,10 @@@ ifndef CONFIG_CC_STACKPROTECTO
  KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
  endif
  
 +# This warning generated too much noise in a regular build.
 +# Use make W=1 to enable this warning (see scripts/Makefile.build)
 +KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable)
 +
  ifdef CONFIG_FRAME_POINTER
  KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
  else
@@@ -624,7 -604,7 +624,7 @@@ CHECKFLAGS     += $(NOSTDINC_FLAGS
  KBUILD_CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)
  
  # disable pointer signed / unsigned warnings in gcc 4.0
 -KBUILD_CFLAGS += $(call cc-option,-Wno-pointer-sign,)
 +KBUILD_CFLAGS += $(call cc-disable-warning, pointer-sign)
  
  # disable invalid "can't wrap" optimizations for signed / pointers
  KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow)
  # conserve stack if available
  KBUILD_CFLAGS   += $(call cc-option,-fconserve-stack)
  
 +# use the deterministic mode of AR if available
 +KBUILD_ARFLAGS := $(call ar-option,D)
 +
  # check for 'asm goto'
  ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y)
        KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
@@@ -820,17 -797,15 +820,17 @@@ ifdef CONFIG_KALLSYM
  # o The correct .tmp_kallsyms2.o is linked into the final vmlinux.
  # o Verify that the System.map from vmlinux matches the map from
  #   .tmp_vmlinux2, just in case we did not generate kallsyms correctly.
 -# o If CONFIG_KALLSYMS_EXTRA_PASS is set, do an extra pass using
 +# o If 'make KALLSYMS_EXTRA_PASS=1" was used, do an extra pass using
  #   .tmp_vmlinux3 and .tmp_kallsyms3.o.  This is only meant as a
  #   temporary bypass to allow the kernel to be built while the
  #   maintainers work out what went wrong with kallsyms.
  
 -ifdef CONFIG_KALLSYMS_EXTRA_PASS
 -last_kallsyms := 3
 -else
  last_kallsyms := 2
 +
 +ifdef KALLSYMS_EXTRA_PASS
 +ifneq ($(KALLSYMS_EXTRA_PASS),0)
 +last_kallsyms := 3
 +endif
  endif
  
  kallsyms.o := .tmp_kallsyms$(last_kallsyms).o
@@@ -841,8 -816,7 +841,8 @@@ define verify_kallsym
          $(cmd_sysmap) .tmp_vmlinux$(last_kallsyms) .tmp_System.map
        $(Q)cmp -s System.map .tmp_System.map ||                             \
                (echo Inconsistent kallsyms data;                            \
 -               echo Try setting CONFIG_KALLSYMS_EXTRA_PASS;                \
 +               echo This is a bug - please report about it;                \
 +               echo Try "make KALLSYMS_EXTRA_PASS=1" as a workaround;      \
                 rm .tmp_kallsyms* ; /bin/false )
  endef
  
@@@ -973,7 -947,7 +973,7 @@@ ifneq ($(KBUILD_SRC),
  endif
  
  # prepare2 creates a makefile if using a separate output directory
 -prepare2: prepare3 outputmakefile
 +prepare2: prepare3 outputmakefile asm-generic
  
  prepare1: prepare2 include/linux/version.h include/generated/utsrelease.h \
                     include/config/auto.conf
@@@ -1005,7 -979,7 +1005,7 @@@ ende
  
  define filechk_version.h
        (echo \#define LINUX_VERSION_CODE $(shell                             \
 -      expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + $(SUBLEVEL));     \
 +      expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + 0$(SUBLEVEL));    \
        echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';)
  endef
  
@@@ -1017,8 -991,7 +1017,8 @@@ include/generated/utsrelease.h: include
  
  PHONY += headerdep
  headerdep:
 -      $(Q)find include/ -name '*.h' | xargs --max-args 1 scripts/headerdep.pl
 +      $(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \
 +      $(srctree)/scripts/headerdep.pl -I$(srctree)/include
  
  # ---------------------------------------------------------------------------
  
@@@ -1048,7 -1021,7 +1048,7 @@@ hdr-inst := -rR -f $(srctree)/scripts/M
  hdr-dst = $(if $(KBUILD_HEADERS), dst=include/asm-$(hdr-arch), dst=include/asm)
  
  PHONY += __headers
 -__headers: include/linux/version.h scripts_basic FORCE
 +__headers: include/linux/version.h scripts_basic asm-generic FORCE
        $(Q)$(MAKE) $(build)=scripts build_unifdef
  
  PHONY += headers_install_all
@@@ -1110,6 -1083,11 +1110,6 @@@ modules_install: _modinst_ _modinst_pos
  
  PHONY += _modinst_
  _modinst_:
 -      @if [ -z "`$(DEPMOD) -V 2>/dev/null | grep module-init-tools`" ]; then \
 -              echo "Warning: you may need to install module-init-tools"; \
 -              echo "See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt";\
 -              sleep 1; \
 -      fi
        @rm -rf $(MODLIB)/kernel
        @rm -f $(MODLIB)/source
        @mkdir -p $(MODLIB)/kernel
@@@ -1158,8 -1136,7 +1158,8 @@@ CLEAN_FILES +=  vmlinux System.map 
                  .tmp_kallsyms* .tmp_version .tmp_vmlinux* .tmp_System.map
  
  # Directories & files removed with 'make mrproper'
 -MRPROPER_DIRS  += include/config usr/include include/generated
 +MRPROPER_DIRS  += include/config usr/include include/generated          \
 +                  arch/*/include/generated
  MRPROPER_FILES += .config .config.old .version .old_version             \
                    include/linux/version.h                               \
                  Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS
@@@ -1290,11 -1267,7 +1290,12 @@@ help
        @echo  '  make O=dir [targets] Locate all output files in "dir", including .config'
        @echo  '  make C=1   [targets] Check all c source with $$CHECK (sparse by default)'
        @echo  '  make C=2   [targets] Force check of all c source with $$CHECK'
 -      @echo  '  make W=1   [targets] Enable extra gcc checks'
++      @echo  '  make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections'
 +      @echo  '  make W=n   [targets] Enable extra gcc checks, n=1,2,3 where'
 +      @echo  '                1: warnings which may be relevant and do not occur too often'
 +      @echo  '                2: warnings which occur quite often but may still be relevant'
 +      @echo  '                3: more obscure warnings, can most likely be ignored'
 +      @echo  '                Multiple levels can be combined with W=12 or W=123'
        @echo  '  make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections'
        @echo  ''
        @echo  'Execute "make" or "make all" to build all targets marked with [*] '
@@@ -1318,7 -1291,6 +1319,7 @@@ $(help-board-dirs): help-%
  # Documentation targets
  # ---------------------------------------------------------------------------
  %docs: scripts_basic FORCE
 +      $(Q)$(MAKE) $(build)=scripts build_docproc
        $(Q)$(MAKE) $(build)=Documentation/DocBook $@
  
  else # KBUILD_EXTMOD
@@@ -1403,7 -1375,7 +1404,7 @@@ endif # KBUILD_EXTMO
  clean: $(clean-dirs)
        $(call cmd,rmdirs)
        $(call cmd,rmfiles)
 -      @find $(or $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \
 +      @find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \
                \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
                -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
                -o -name '*.symtypes' -o -name 'modules.order' \
@@@ -1421,15 -1393,13 +1422,15 @@@ tags TAGS cscope gtags: FORC
  # Scripts to check various things for consistency
  # ---------------------------------------------------------------------------
  
 +PHONY += includecheck versioncheck coccicheck namespacecheck export_report
 +
  includecheck:
 -      find * $(RCS_FIND_IGNORE) \
 +      find $(srctree)/* $(RCS_FIND_IGNORE) \
                -name '*.[hcS]' -type f -print | sort \
                | xargs $(PERL) -w $(srctree)/scripts/checkincludes.pl
  
  versioncheck:
 -      find * $(RCS_FIND_IGNORE) \
 +      find $(srctree)/* $(RCS_FIND_IGNORE) \
                -name '*.[hcS]' -type f -print | sort \
                | xargs $(PERL) -w $(srctree)/scripts/checkversion.pl
  
@@@ -1526,7 -1496,12 +1527,7 @@@ quiet_cmd_rmfiles = $(if $(wildcard $(r
  
  # Run depmod only if we have System.map and depmod is executable
  quiet_cmd_depmod = DEPMOD  $(KERNELRELEASE)
 -      cmd_depmod = \
 -      if [ -r System.map -a -x $(DEPMOD) ]; then                              \
 -              $(DEPMOD) -ae -F System.map                                     \
 -              $(if $(strip $(INSTALL_MOD_PATH)), -b $(INSTALL_MOD_PATH) )     \
 -              $(KERNELRELEASE);                                               \
 -      fi
 +      cmd_depmod = $(srctree)/scripts/depmod.sh $(DEPMOD) $(KERNELRELEASE)
  
  # Create temporary dir for module support files
  # clean it up only when building all modules