1. 28 Apr, 2011 2 commits
    • Sam Ravnborg's avatar
      kbuild: asm-generic support · d8ecc5cd
      Sam Ravnborg authored
      There is an increasing amount of header files
      shared between individual architectures in asm-generic.
      To avoid a lot of dummy wrapper files that just
      include the corresponding file in asm-generic provide
      some basic support in kbuild for this.
      
      With the following patch an architecture can maintain
      a list of files in the file arch/$(ARCH)/include/asm/Kbuild
      
      To use a generic file just add:
      
              generic-y += <name-of-header-file.h>
      
      For each file listed kbuild will generate the necessary
      wrapper in arch/$(ARCH)/include/generated/asm.
      
      When installing userspace headers a wrapper is likewise created.
      
      The original inspiration for this came from the unicore32
      patchset - although a different method is used.
      
      The patch includes several improvements from Arnd Bergmann.
      Michael Marek contributed Makefile.asm-generic.
      
      Remis Baima did an intial implementation along to achive
      the same - see https://patchwork.kernel.org/patch/13352/Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Acked-by: default avatarGuan Xuetao <guanxuetao@mprc.pku.edu.cn>
      Tested-by: default avatarGuan Xuetao <guanxuetao@mprc.pku.edu.cn>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Remis Lima Baima <remis.developer@googlemail.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      d8ecc5cd
    • Sam Ravnborg's avatar
      kbuild: implement several W= levels · 28bc20dc
      Sam Ravnborg authored
      Building a kernel with "make W=1" produces far too much noise to be
      useful.
      
      Divide the warning options in three groups:
      
          W=1 - warnings that may be relevant and does not occur too often
          W=2 - warnings that occur quite often but may still be relevant
          W=3 - the more obscure warnings, can most likely be ignored
      
      When building the whole kernel, those levels produce:
      
      W=1 - 4859 warnings
      W=2 - 1394 warnings
      W=3 - 86666 warnings
      
      respectively. Warnings have been counted with Geert's script at
      
      http://www.kernel.org/pub/linux/kernel/people/geert/linux-log/linux-log-summary.pl
      
      Many warnings occur from .h files so fixing one file may have a nice
      effect on the total number of warnings.
      
      With these changes I am actually tempted to try W=1 now and then.
      Previously there was just too much noise.
      
      Borislav:
      
      - make the W= levels exclusive
      - move very noisy and making little sense for the kernel warnings to W=3
      - drop -Woverlength-strings due to useless warning message
      - copy explanatory text for the different warning levels to 'make help'
      - recount warnings per level
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarBorislav Petkov <bp@alien8.de>
      Cc: Dave Jones <davej@redhat.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      28bc20dc
  2. 20 Apr, 2011 1 commit
  3. 15 Apr, 2011 1 commit
    • Artem Bityutskiy's avatar
      kbuild: move KALLSYMS_EXTRA_PASS from Kconfig to Makefile · 1e2795a1
      Artem Bityutskiy authored
      At the moment we have the CONFIG_KALLSYMS_EXTRA_PASS Kconfig switch,
      which users can enable or disable while configuring the kernel. This
      option is then used by 'make' to determine whether an extra kallsyms
      pass is needed or not.
      
      However, this approach is not nice and confusing, and this patch moves
      CONFIG_KALLSYMS_EXTRA_PASS from Kconfig to Makefile instead. The
      rationale is below.
      
      1. CONFIG_KALLSYMS_EXTRA_PASS is really about the build time, not
         run-time. There is no real need for it to be in Kconfig. It is
         just an additional work-around which should be used only in rare
         cases, when someone breaks kallsyms, so Kbuild/Makefile is much
         better place for this option.
      2. Grepping CONFIG_KALLSYMS_EXTRA_PASS shows that many defconfigs have
         it enabled, probably not because they try to work-around a kallsyms
         bug, but just because the Kconfig help text is confusing and does
         not really make it clear that this option should not be used unless
         except when kallsyms is broken.
      3. And since many people have CONFIG_KALLSYMS_EXTRA_PASS enabled in
         their Kconfig, we do might fail to notice kallsyms bugs in time. E.g.,
         many testers use "make allyesconfig" to test builds, which will enable
         CONFIG_KALLSYMS_EXTRA_PASS and kallsyms breakage will not be noticed.
      
      To address that, this patch:
      
      1. Kills CONFIG_KALLSYMS_EXTRA_PASS
      2. Changes Makefile so that people can use "make KALLSYMS_EXTRA_PASS=1"
         to enable the extra pass if needed. Additionally, they may define
         KALLSYMS_EXTRA_PASS as an environment variable.
      3. By default KALLSYMS_EXTRA_PASS is disabled and if kallsyms has issues,
         "make" should print a warning and suggest using KALLSYMS_EXTRA_PASS
      Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      [mmarek: Removed make help text, is not necessary]
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      1e2795a1
  4. 29 Mar, 2011 1 commit
  5. 17 Mar, 2011 1 commit
    • Mike Waychison's avatar
      KBuild: silence "'scripts/unifdef' is up to date." · e1b702cf
      Mike Waychison authored
      While changing our build system over to use the headers_install target
      as part of our klibc build, the following message started showing up in
      our logs:
      
      make[2]: `scripts/unifdef' is up to date.
      
      It turns out that the build blindly invokes a recursive make on this
      target, which causes make to emit this message when the target is
      already up to date.  This isn't seen for most targets as the rest of the
      build relies primarily on the default target and on PHONY targets when
      invoking make recursively.
      
      Silence the above message when building unifdef as part of
      headers_install by hiding it behind a new PHONY target called
      "build_unifdef" that has an empty recipe.
      Signed-off-by: default avatarMike Waychison <mikew@google.com>
      Acked-by: default avatarWANG Cong <xiyou.wangcong@gmail.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      e1b702cf
  6. 14 Mar, 2011 1 commit
  7. 09 Mar, 2011 1 commit
  8. 07 Mar, 2011 1 commit
  9. 01 Mar, 2011 1 commit
  10. 21 Feb, 2011 1 commit
  11. 17 Feb, 2011 1 commit
  12. 15 Feb, 2011 1 commit
  13. 07 Feb, 2011 1 commit
  14. 31 Jan, 2011 1 commit
  15. 21 Jan, 2011 1 commit
  16. 18 Jan, 2011 1 commit
  17. 14 Jan, 2011 1 commit
  18. 04 Jan, 2011 1 commit
  19. 28 Dec, 2010 1 commit
  20. 21 Dec, 2010 1 commit
  21. 15 Dec, 2010 1 commit
  22. 14 Dec, 2010 1 commit
  23. 06 Dec, 2010 1 commit
  24. 29 Nov, 2010 1 commit
  25. 21 Nov, 2010 1 commit
  26. 15 Nov, 2010 1 commit
  27. 01 Nov, 2010 1 commit
  28. 26 Oct, 2010 1 commit
  29. 20 Oct, 2010 1 commit
  30. 14 Oct, 2010 3 commits
    • Steven Rostedt's avatar
      ftrace: Rename config option HAVE_C_MCOUNT_RECORD to HAVE_C_RECORDMCOUNT · cf4db259
      Steven Rostedt authored
      The config option used by archs to let the build system know that
      the C version of the recordmcount works for said arch is currently
      called HAVE_C_MCOUNT_RECORD which enables BUILD_C_RECORDMCOUNT. To
      be more consistent with the name that all archs may use, it has been
      renamed to HAVE_C_RECORDMCOUNT. This will be less confusing since
      we are building a C recordmcount and not a mcount_record.
      Suggested-by: default avatarIngo Molnar <mingo@elte.hu>
      Cc: <linux-arch@vger.kernel.org>
      Cc: Michal Marek <mmarek@suse.cz>
      Cc: linux-kbuild@vger.kernel.org
      Cc: John Reiser <jreiser@bitwagon.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      cf4db259
    • Linus Torvalds's avatar
      Linux 2.6.36-rc8 · cd07202c
      Linus Torvalds authored
      cd07202c
    • Steven Rostedt's avatar
      ftrace/x86: Add support for C version of recordmcount · 72441cb1
      Steven Rostedt authored
      This patch adds the support for the C version of recordmcount and
      compile times show ~ 12% improvement.
      
      After verifying this works, other archs can add:
      
       HAVE_C_MCOUNT_RECORD
      
      in its Kconfig and it will use the C version of recordmcount
      instead of the perl version.
      
      Cc: <linux-arch@vger.kernel.org>
      Cc: Michal Marek <mmarek@suse.cz>
      Cc: linux-kbuild@vger.kernel.org
      Cc: John Reiser <jreiser@bitwagon.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      72441cb1
  31. 06 Oct, 2010 1 commit
  32. 28 Sep, 2010 1 commit
  33. 22 Sep, 2010 1 commit
    • Jason Baron's avatar
      jump label: Base patch for jump label · bf5438fc
      Jason Baron authored
      base patch to implement 'jump labeling'. Based on a new 'asm goto' inline
      assembly gcc mechanism, we can now branch to labels from an 'asm goto'
      statment. This allows us to create a 'no-op' fastpath, which can subsequently
      be patched with a jump to the slowpath code. This is useful for code which
      might be rarely used, but which we'd like to be able to call, if needed.
      Tracepoints are the current usecase that these are being implemented for.
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarJason Baron <jbaron@redhat.com>
      LKML-Reference: <ee8b3595967989fdaf84e698dc7447d315ce972a.1284733808.git.jbaron@redhat.com>
      
      [ cleaned up some formating ]
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      bf5438fc
  34. 20 Sep, 2010 1 commit
  35. 12 Sep, 2010 1 commit
  36. 06 Sep, 2010 1 commit
  37. 03 Sep, 2010 1 commit