1. Apr 29, 2011
    • Dave Jones's avatar
      kbuild: Disable -Wunused-but-set-variable for gcc 4.6.0 · af0e5d56
      Dave Jones authored
      
      
      Disable the new -Wunused-but-set-variable that was added in gcc 4.6.0
      It produces more false positives than useful warnings.
      
      This can still be enabled using W=1
      
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Tested-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      af0e5d56
    • Marcin Nowakowski's avatar
      Fix handling of backlash character in LINUX_COMPILE_BY name · f0772604
      Marcin Nowakowski authored
      
      
      When using a domain login, `whoami` returns the login in
      user\domain format. This leads to either warnings on unrecognised
      escape sequences or escaped characters being generated for the user.
      This patch ensures that any backslash is escaped to a double-backslash
      to make sure the name is preserved correctly. This patch does not
      enforce escaping on the KBUILD_BUILD_USER variable, as this is something
      the user has control of and can escape if required.
      
      Signed-off-by: default avatarMarcin Nowakowski <marcin.nowakowski.000@gmail.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      f0772604
    • 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-...
      d8ecc5cd
  2. Apr 28, 2011
    • 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
  3. Apr 20, 2011
  4. Apr 18, 2011
  5. Apr 15, 2011
    • 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
    • Artem Bityutskiy's avatar
      Kconfig: improve KALLSYMS_ALL documentation · 71a83ec7
      Artem Bityutskiy authored
      
      
      Dumb users like myself are not able to grasp from the existing KALLSYMS_ALL
      documentation that this option is not what they need. Improve the help
      message and make it clearer that KALLSYMS is enough in the majority of
      use cases, and KALLSYMS_ALL should really be used very rarely.
      
      Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      71a83ec7
  6. Mar 30, 2011
  7. Mar 29, 2011