1. 14 7月, 2010 1 次提交
    • A
      Kbuild: Add option to set -femit-struct-debug-baseonly · d6f4ceb7
      Andi Kleen 提交于
      Newer gcc has a -femit-struct-debug-baseonly option that dramatically
      reduces the size of object files with debug info. What it does
      is to only emit type information for structures when the structures
      are defined in the same file or in a header file.
      
      This means the type information for most headers are not included.
      This is not good when the type information is actually
      needed (e.g. with kgdb or systemtap)
      
      But often kernel hackers only care about line numbers and don't
      need all the type information anyways. In this case setting
      the option can be a big win:
      
      A build dir for a specific x86-64 configuration with gcc 4.5
      shrunk from 2.3G to 1.2G. The compilation was also nearly a minute
      faster.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      [mmarek: reformatted help text]
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      d6f4ceb7
  2. 29 6月, 2010 1 次提交
  3. 18 6月, 2010 1 次提交
    • M
      kbuild: Clean up and speed up the localversion logic · 09155120
      Michal Marek 提交于
      Now that we run scripts/setlocalversion during every build, it makes
      sense to move all the localversion logic there. This cleans up the
      toplevel Makefile and also makes sure that the script is called only
      once in 'make prepare' (previously, it would be called every time due to
      a variable expansion in an ifneq statement). No user-visible change is
      intended, unless one runs the setlocalversion script directly.
      Reported-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Greg Thelen <gthelen@google.com>
      Cc: Nico Schottelius <nico-linuxsetlocalversion@schottelius.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      09155120
  4. 06 5月, 2010 1 次提交
  5. 10 3月, 2010 1 次提交
  6. 08 3月, 2010 1 次提交
  7. 06 2月, 2010 1 次提交
  8. 02 2月, 2010 3 次提交
    • J
      62718979
    • D
      kbuild: improve version string logic · 85a256d8
      David Rientjes 提交于
      The LOCALVERSION= string passed to "make" will now always be appended to
      the kernel version after CONFIG_LOCALVERSION, if it exists, regardless of
      whether CONFIG_LOCALVERSION_AUTO is set or not.  This allows users to
      uniquely identify their kernel builds with a string.
      
      If CONFIG_LOCALVERSION_AUTO is enabled, the unique SCM tag reported by
      setlocalversion (or .scmversion) is appended to the kernel version, if it
      exists.  When CONFIG_LOCALVERSION_AUTO is not enabled, a `+' is appended
      to the kernel version to represent that the kernel has been revised since
      the last release unless "make LOCALVERSION=" was used to uniquely identify
      the build.
      
      The end result is this:
      
       - when LOCALVERSION= is passed to "make", it is appended to the kernel
         version,
      
       - when CONFIG_LOCALVERSION_AUTO is enabled, a unique SCM identifier is
         appended if the respository has been revised beyond a tagged commit,
         and
      
       - when CONFIG_LOCALVERSION_AUTO is disabled, a `+' is appended if the
         repository has been revised beyond a tagged commit and LOCALVERSION=
         was not passed to "make".
      
      Examples:
      
      With CONFIG_LOCALVERSION_AUTO: "make" results in
      v2.6.32-rc4-00149-ga3ccf63e.  If there are uncommited changes to the
      respository, it results in v2.6.32-rc4-00149-ga3ccf63e-dirty.  If
      "make LOCALVERSION=kbuild" were used, it results in
      v2.6.32-rc4-kbuild-00149-ga3ccf63e-dirty.
      
      Without CONFIG_LOCALVERSION_AUTO, "make" results in v2.6.32-rc4+
      unless the repository is at the Linux v2.6.32-rc4 commit (in which
      case the version would be v2.6.32-rc4).  If "make LOCALVERSION=kbuild"
      were used, it results in v2.6.32-rc4-kbuild.
      
      Also renames variables such as localver-auto and _localver-auto to more
      accurately describe what they represent: localver-extra and
      scm-identifier, respectively.
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      85a256d8
    • R
      kconfig CROSS_COMPILE option · 84336466
      Roland McGrath 提交于
      This adds CROSS_COMPILE as a kconfig string so you can store it in
      .config.  Then you can use plain "make" in the configured kernel build
      directory to do the right cross compilation without setting the
      command-line or environment variable every time.
      
      With this, you can set up different build directories for different kernel
      configurations, whether native or cross-builds, and then use the simple:
      
      	make -C /build/dir M=module-source-dir
      
      idiom to build modules for any given target kernel, indicating which one
      by nothing but the build directory chosen.
      
      I tried a version that defaults the string with env="CROSS_COMPILE" so
      that in a "make oldconfig" with CROSS_COMPILE in the environment you can
      just hit return to store the way you're building it.  But the kconfig
      prompt for strings doesn't give you any way to say you want an empty
      string instead of the default, so I punted that.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Anibal Monsalve Salazar <anibal@debian.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Michal Marek <mmarek@suse.cz>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      84336466
  9. 30 1月, 2010 1 次提交
  10. 22 1月, 2010 1 次提交
  11. 13 1月, 2010 2 次提交
  12. 06 1月, 2010 1 次提交
  13. 25 12月, 2009 1 次提交
  14. 18 12月, 2009 2 次提交
  15. 17 12月, 2009 1 次提交
  16. 12 12月, 2009 12 次提交
  17. 03 12月, 2009 1 次提交
  18. 20 11月, 2009 1 次提交
  19. 18 11月, 2009 1 次提交
    • S
      tracing: Only print objcopy version warning once from recordmcount · 638adb05
      Steven Rostedt 提交于
      If the user has an older version of objcopy, that can not handle
      converting local symbols to global and vice versa, then some
      functions will not be part of the dynamic function tracer. The current
      code in recordmcount.pl will print a warning in this case. Unfortunately,
      there exists lots of files that may have this issue with older objcopys
      and this will cause a warning for every file compiled with this
      issue.
      
      This patch solves this overwhelming output by creating a
      .tmp_quiet_recordmcount file on the first instance the warning is
      encountered. The warning will not print if this file exists.
      
      The temp file is deleted at the beginning of the compile to ensure that
      the warning will happen once again on new compiles (because the issue
      is still present).
      Reported-by: NAndrew Morton <akpm@linux-foundation.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      638adb05
  20. 16 11月, 2009 1 次提交
  21. 13 11月, 2009 1 次提交
  22. 04 11月, 2009 1 次提交
  23. 16 10月, 2009 1 次提交
  24. 12 10月, 2009 2 次提交
    • L
      Linux 2.6.32-rc4 · 16129139
      Linus Torvalds 提交于
      16129139
    • S
      kbuild: revert "save ARCH & CROSS_COMPILE ..." · 2331d1a6
      Sam Ravnborg 提交于
      Revert commit 57554334
      
      It caused following issues:
      
      - On architectures where ARCH= setting is used to select between
        32 and 64 bit this was no longer possible without "make mrproper"
      - If ARCH was changed then kbuild refused to run "make mrproper"
        because ARCH had changed
      - When CROSS_COMPILE was changed people were asked to run "make mrproper"
        but kbuild refused to run "make mrproper" because CROSS_COMPILE changed.
      - Spaces in CROSS_COMPILE was not 'supported'
      - If an non-existing ARCH= was used kbuild could get stuck
      
      Lessons learned:
      . Despite being simple and straghtforward people uses very different
        approaches when building the kernel.
      
      . CROSS_COMPILE is sometimes used for ccache despite cache being
        only a CC frontend so one would have expected CC to be
        used for this purpose.
      
      . And obviously this was not tested widely enough.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      2331d1a6