1. 29 4月, 2013 2 次提交
    • A
      Turn off -Wmaybe-uninitialized when building with -Os · e74fc973
      Arnd Bergmann 提交于
      gcc-4.7 and higher add a lot of false positive warnings about
      potential uses of uninitialized warnings, but only when optimizing
      for size (-Os). This is the default when building allyesconfig,
      which turns on CONFIG_CC_OPTIMIZE_FOR_SIZE.
      
      In order to avoid getting a lot of patches that initialize such
      variables and accidentally hide real errors along the way, let's
      just turn off this warning on the respective gcc versions
      when building with size optimizations. The -Wmaybe-uninitialized
      option was introduced in the same gcc version (4.7) that is now
      causing the false positives, so there is no effect on older compilers.
      
      A side effect is that when building with CONFIG_CC_OPTIMIZE_FOR_SIZE,
      we might now see /fewer/ warnings about possibly uninitialized
      warnings than with -O2, but that is still much better than seeing
      warnings known to be bogus.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      e74fc973
    • L
      Linux 3.9 · c1be5a5b
      Linus Torvalds 提交于
      c1be5a5b
  2. 22 4月, 2013 1 次提交
  3. 18 4月, 2013 1 次提交
    • M
      rpm-pkg: Do not package the whole source directory · 6615d6c3
      Michal Marek 提交于
      The source tree can contain lots of uninteresting data like tag or
      cscope files, packaging which slows down make rpm needlessly. It can
      also break the build, if the tree contains an unrelated file named
      *.spec. The downside of this change is that new subdirectories have to
      be added to the KBUILD_ALLDIRS variable in the top-level Makefile. The
      upside is that the behavior is more predictable.
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      6615d6c3
  4. 15 4月, 2013 1 次提交
  5. 10 4月, 2013 1 次提交
  6. 08 4月, 2013 1 次提交
  7. 01 4月, 2013 1 次提交
  8. 24 3月, 2013 1 次提交
  9. 18 3月, 2013 1 次提交
  10. 16 3月, 2013 1 次提交
  11. 15 3月, 2013 1 次提交
    • R
      CONFIG_SYMBOL_PREFIX: cleanup. · b92021b0
      Rusty Russell 提交于
      We have CONFIG_SYMBOL_PREFIX, which three archs define to the string
      "_".  But Al Viro broke this in "consolidate cond_syscall and
      SYSCALL_ALIAS declarations" (in linux-next), and he's not the first to
      do so.
      
      Using CONFIG_SYMBOL_PREFIX is awkward, since we usually just want to
      prefix it so something.  So various places define helpers which are
      defined to nothing if CONFIG_SYMBOL_PREFIX isn't set:
      
      1) include/asm-generic/unistd.h defines __SYMBOL_PREFIX.
      2) include/asm-generic/vmlinux.lds.h defines VMLINUX_SYMBOL(sym)
      3) include/linux/export.h defines MODULE_SYMBOL_PREFIX.
      4) include/linux/kernel.h defines SYMBOL_PREFIX (which differs from #7)
      5) kernel/modsign_certificate.S defines ASM_SYMBOL(sym)
      6) scripts/modpost.c defines MODULE_SYMBOL_PREFIX
      7) scripts/Makefile.lib defines SYMBOL_PREFIX on the commandline if
         CONFIG_SYMBOL_PREFIX is set, so that we have a non-string version
         for pasting.
      
      (arch/h8300/include/asm/linkage.h defines SYMBOL_NAME(), too).
      
      Let's solve this properly:
      1) No more generic prefix, just CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX.
      2) Make linux/export.h usable from asm.
      3) Define VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR().
      4) Make everyone use them.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Reviewed-by: NJames Hogan <james.hogan@imgtec.com>
      Tested-by: James Hogan <james.hogan@imgtec.com> (metag)
      b92021b0
  12. 11 3月, 2013 1 次提交
  13. 04 3月, 2013 1 次提交
  14. 22 2月, 2013 2 次提交
    • A
      Kbuild: Disable var tracking with CONFIG_DEBUG_INFO_REDUCED · e82c4bb8
      Andi Kleen 提交于
      Newer gcc enables the var-tracking pass with -g to keep track which
      registers contain which variables. This is one of the slower passes in gcc.
      
      With reduced debug info (aimed at objdump -S, but not using a full debugger)
      we don't need this fine grained tracking. But it was still enabled
      because -g was enabled. Disable it explicitely for DEBUG_INFO_REDUCED.
      
      On my 8T workstation this gives me about a 12 second gain in building
      a reasonable kernel config (2min16 vs 2min28) with DEBUG_INFO_REDUCED.
      With full DEBUG_INFO it takes 2min46
      
      The actual improvement in user time taken by the compiler is much higher
      (all CPU combined user time 15min5s vs 16m30 before)
      but the usual amdahl bottleneck on the linker prevents more speedup.
      It still saves some more energy and keeps cycles for other things.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      e82c4bb8
    • J
      depmod: pass -P $CONFIG_SYMBOL_PREFIX · 8937e897
      James Hogan 提交于
      On architectures which have symbol prefixes, depmod emits lots of
      warnings like this:
      
      WARNING: $module.ko needs unknown symbol $symbol
      
      This is because depmod isn't being passed the -P <symbol_prefix>
      arguments to specify the symbol prefix to ignore. This option is
      included since the 3.13 release of module-init-tools.
      
      Update scripts/depmod.sh to take extra arguments for the symbol prefix
      (required but may be empty), and update the main Makefile to always pass
      "$(CONFIG_SYMBOL_PREFIX)" to scripts/depmod.sh.
      
      If the provided symbol prefix is non-empty, scripts/depmod.sh checks if
      depmod --version reports module-init-tools with a version number < 3.13
      otherwise it appends -P $SYMBOL_PREFIX to the depmod command line.
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Cc: Michal Marek <mmarek@suse.cz>
      Cc: linux-kbuild@vger.kernel.org
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: uclinux-dist-devel@blackfin.uclinux.org
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      8937e897
  15. 19 2月, 2013 1 次提交
  16. 09 2月, 2013 1 次提交
  17. 01 2月, 2013 1 次提交
  18. 26 1月, 2013 1 次提交
  19. 25 1月, 2013 3 次提交
  20. 23 1月, 2013 1 次提交
  21. 18 1月, 2013 1 次提交
  22. 10 1月, 2013 1 次提交
  23. 03 1月, 2013 1 次提交
  24. 22 12月, 2012 1 次提交
  25. 21 12月, 2012 1 次提交
    • D
      x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT · ffee0de4
      David Woodhouse 提交于
      It is easy to waste a bunch of time when one takes a 32-bit .config
      from a test machine and try to build it on a faster 64-bit system, and
      its existing setting of CONFIG_64BIT=n gets *changed* to match the
      build host.  Similarly, if one has an existing build tree it is easy
      to trash an entire build tree that way.
      
      This is because the default setting for $ARCH when discovered from
      'uname' is one of the legacy pre-x86-merge values (i386 or x86_64),
      which effectively force the setting of CONFIG_64BIT to match. We should
      default to ARCH=x86 instead, finally completing the merge that we
      started so long ago.
      
      This patch preserves the behaviour of the legacy ARCH settings for commands
      such as:
      
         make ARCH=x86_64 randconfig
         make ARCH=i386 randconfig
      
      ... since making the value of CONFIG_64BIT actually random in that situation
      is not desirable.
      
      In time, perhaps we can retire this legacy use of the old ARCH= values.
      We already have a way to override values for *any* config option, using
      $KCONFIG_ALLCONFIG, so it could be argued that we don't necessarily need
      to keep ARCH={i386,x86_64} around as a special case just for overriding
      CONFIG_64BIT.
      
      We'd probably at least want to add a way to override config options from
      the command line ('make CONFIG_FOO=y oldconfig') before we talk about doing
      that though.
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      Link: http://lkml.kernel.org/r/1356040315.3198.51.camel@shinybook.infradead.orgSigned-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      ffee0de4
  26. 14 12月, 2012 1 次提交
    • J
      MODSIGN: Add modules_sign make target · d890f510
      Josh Boyer 提交于
      If CONFIG_MODULE_SIG is set, and 'make modules_sign' is called then this
      patch will cause the modules to get a signature appended.  The make target
      is intended to be run after 'make modules_install', and will modify the
      modules in-place in the installed location.  It can be used to produce
      signed modules after they have been processed by distribution build
      scripts.
      Signed-off-by: NJosh Boyer <jwboyer@redhat.com>
      Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (minor typo fix)
      d890f510
  27. 11 12月, 2012 1 次提交
  28. 09 12月, 2012 1 次提交
  29. 04 12月, 2012 1 次提交
  30. 26 11月, 2012 1 次提交
  31. 20 11月, 2012 2 次提交
    • C
      kbuild: Remove reference to uninitialised variable · 16f89098
      Charles Keepax 提交于
      Verbose output variable is unnecessary because the command's echo is
      already surpressed. Additionally because the block defines skip-makefile
      the variable Q is not defined within the makefile, which can cause
      problems if Q is defined in the users environment.
      Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      16f89098
    • D
      tools: Honour the O= flag when tool build called from a higher Makefile · bf35182f
      David Howells 提交于
      Honour the O= flag that was passed to a higher level Makefile and then passed
      down as part of a tool build.
      
      To make this work, the top-level Makefile passes the original O= flag and
      subdir=tools to the tools/Makefile, and that in turn passes
      subdir=$(O)/$(subdir)/foodir when building tool foo in directory
      $(O)/$(subdir)/foodir (where the intervening slashes aren't added if an
      element is missing).
      
      For example, take perf.  This is found in tools/perf/.  Assume we're building
      into directory ~/zebra/, so we pass O=~/zebra to make.  Dependening on where
      we run the build from, we see:
      
      	make run in dir		$(OUTPUT) dir
      	=======================	==================
      	linux			~/zebra/tools/perf/
      	linux/tools		~/zebra/perf/
      	linux/tools/perf	~/zebra/
      
      and if O= is not set, we get:
      
      	make run in dir		$(OUTPUT) dir
      	=======================	==================
      	linux			linux/tools/perf/
      	linux/tools		linux/tools/perf/
      	linux/tools/perf	linux/tools/perf/
      
      The output directories are created by the descend function if they don't
      already exist.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Cc: Borislav Petkov <bp@amd64.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/1378.1352379110@warthog.procyon.org.ukSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      bf35182f
  32. 17 11月, 2012 1 次提交
  33. 15 11月, 2012 1 次提交
    • D
      tools: Honour the O= flag when tool build called from a higher Makefile · 9db48cd5
      David Howells 提交于
      Honour the O= flag that was passed to a higher level Makefile and then passed
      down as part of a tool build.
      
      To make this work, the top-level Makefile passes the original O= flag and
      subdir=tools to the tools/Makefile, and that in turn passes
      subdir=$(O)/$(subdir)/foodir when building tool foo in directory
      $(O)/$(subdir)/foodir (where the intervening slashes aren't added if an
      element is missing).
      
      For example, take perf.  This is found in tools/perf/.  Assume we're building
      into directory ~/zebra/, so we pass O=~/zebra to make.  Dependening on where
      we run the build from, we see:
      
      	make run in dir		$(OUTPUT) dir
      	=======================	==================
      	linux			~/zebra/tools/perf/
      	linux/tools		~/zebra/perf/
      	linux/tools/perf	~/zebra/
      
      and if O= is not set, we get:
      
      	make run in dir		$(OUTPUT) dir
      	=======================	==================
      	linux			linux/tools/perf/
      	linux/tools		linux/tools/perf/
      	linux/tools/perf	linux/tools/perf/
      
      The output directories are created by the descend function if they don't
      already exist.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Cc: Borislav Petkov <bp@amd64.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/1378.1352379110@warthog.procyon.org.ukSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      9db48cd5
  34. 11 11月, 2012 1 次提交
  35. 05 11月, 2012 1 次提交