1. 25 12月, 2008 1 次提交
  2. 20 12月, 2008 2 次提交
    • J
      allow stripping of generated symbols under CONFIG_KALLSYMS_ALL · 9bb48247
      Jan Beulich 提交于
      Building upon parts of the module stripping patch, this patch
      introduces similar stripping for vmlinux when CONFIG_KALLSYMS_ALL=y.
      Using CONFIG_KALLSYMS_STRIP_GENERATED reduces the overhead of
      CONFIG_KALLSYMS_ALL from 245k/310k to 65k/80k for the (i386/x86-64)
      kernels I tested with.
      
      The patch also does away with the need to special case the kallsyms-
      internal symbols by making them available even in the first linking
      stage.
      
      While it is a generated file, the patch includes the changes to
      scripts/genksyms/keywords.c_shipped, as I'm unsure what the procedure
      here is.
      Signed-off-by: NJan Beulich <jbeulich@novell.com>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      9bb48247
    • J
      kbuild: strip generated symbols from *.ko · ad7a953c
      Jan Beulich 提交于
      This patch changes the way __crc_ symbols are being resolved from
      using ld to do so to using the assembler, thus allowing these symbols
      to be marked local (the linker creates then as global ones) and hence
      allow stripping (for modules) or ignoring (for vmlinux) them. While at
      this, also strip other generated symbols during module installation.
      
      One potentially debatable point is the handling of the flags passeed
      to gcc when translating the intermediate assembly file into an object:
      passing $(c_flags) unchanged doesn't work as gcc passes --gdwarf2 to
      gas whenever is sees any -g* option, even for -g0, and despite the
      fact that the compiler would have already produced all necessary debug
      info in the C->assembly translation phase. I took the approach of just
      filtering out all -g* options, but an alternative to such negative
      filtering might be to have a positive filter which might, in the ideal
      case allow just all the -Wa,* options to pass through.
      Signed-off-by: NJan Beulich <jbeulich@novell.com>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      ad7a953c
  3. 19 12月, 2008 2 次提交
  4. 14 12月, 2008 1 次提交
    • S
      kbuild: fix make incompatibility · 31110ebb
      Sam Ravnborg 提交于
      "Paul Smith" <psmith@gnu.org> reported that we would fail
      to build with a new check that may be enabled in an
      upcoming version of make.
      
      The error was:
      
            Makefile:442: *** mixed implicit and normal rules.  Stop.
      
      The problem is that we did stuff like this:
      
      config %config: ...
      
      The solution was simple - the above was split into two with identical
      prerequisites and commands.
      With only three lines it was not worth to try to avoid the duplication.
      
      Cc: "Paul Smith" <psmith@gnu.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      31110ebb
  5. 11 12月, 2008 1 次提交
  6. 05 12月, 2008 1 次提交
    • S
      sparc,sparc64: unify Makefile · 5e538790
      Sam Ravnborg 提交于
      To unify Makefile for sparc and sparc64 a few other steps was needed:
      1) separate defconfig files for sparc and sparc64 is required,
         so locate these in arch/sparc/configs
      2) removoval of hack in toplevel Makefile to deal with that
         headers was in a separate directory compared to the rest
      
      The unification of the Makefile required usage of several
      
          foo-$(CONFIG_SPARCnn) +=
      
      due to a few directories pending unification.
      This will be cleaned up when we unify the remaining directories.
      
      Included in this patch are the deletion of a few files in
      sparc64 as they are no longer needed: Makefile + Kconfig.
      arch/sparc64/ will after this patch is applied only
      have four directories (prom, lib, kernel, boot)
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5e538790
  7. 04 12月, 2008 3 次提交
    • S
      tags and cscope support really belongs in a shell script · a680eedc
      Sam Ravnborg 提交于
      as they do not benefit from the make functionality.
      
      Moving the support to a shell script has several benefits:
      - The readability of the code has increased a lot
      - More people is able to extend the tags support
      - We see less changes to the top-level Makefile
      
      The shell script version includes improvements from:
      Alexey Dobriyan <adobriyan@gmail.com> (jump to kconfig symbols)
      Alexey Dobriyan <adobriyan@gmail.com> (drop ./ in paths)
      Ian Campbell <ijc@hellion.org.uk> (simplified find algorithms)
      
      This version has a few caveats:
      => It does not support ALLSOURCE_ARCHS
         - it is easy to add if it is really used
      => It assumes all archs have moved to arch/$ARCH/include
         - until that happens we have a few additional hits in the archs
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Tested-by: NIan Campbell <ijc@hellion.org.uk>
      a680eedc
    • M
      kbuild: use KECHO convenience echo · fd54f502
      Mike Frysinger 提交于
      Convert a few echos in the build system to new $(kecho) so we get correct
      output according to build verbosity.
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      [sam: added kecho in a few more places for O=... builds]
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      fd54f502
    • S
      kbuild: expand -I in KBUILD_CPPFLAGS · d8672b40
      Sam Ravnborg 提交于
      kbuild failed to expand include flags in KBUILD_CPPFLAGS
      resulting in code like this in arch Makefiles:
      
      ifeq ($(KBUILD_SRC),)
      KBUILD_CPPFLAGS += -Iinclude/foo
      else
      KBUILD_CPPFLAGS += -I$(srctree)/include/foo
      endif
      
      Move use of LINUXINCLUDE into Makefile.lib to allow
      us to expand -I directives of KBUILD_CPPFLAGS so
      we can avoid the above code.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      d8672b40
  8. 02 12月, 2008 1 次提交
  9. 21 11月, 2008 1 次提交
  10. 16 11月, 2008 1 次提交
  11. 10 11月, 2008 1 次提交
  12. 03 11月, 2008 1 次提交
  13. 30 10月, 2008 2 次提交
  14. 27 10月, 2008 1 次提交
  15. 24 10月, 2008 1 次提交
  16. 23 10月, 2008 1 次提交
  17. 21 10月, 2008 1 次提交
  18. 10 10月, 2008 1 次提交
  19. 07 10月, 2008 1 次提交
  20. 30 9月, 2008 1 次提交
  21. 22 9月, 2008 1 次提交
  22. 10 9月, 2008 1 次提交
  23. 29 8月, 2008 1 次提交
  24. 21 8月, 2008 1 次提交
  25. 13 8月, 2008 2 次提交
    • L
      Linux 2.6.27-rc3 · 30a2f3c6
      Linus Torvalds 提交于
      30a2f3c6
    • R
      docsrc: build Documentation/ sources · 3794f3e8
      Randy Dunlap 提交于
      Currently source files in the Documentation/ sub-dir can easily bit-rot
      since they are not generally buildable, either because they are hidden in
      text files or because there are no Makefile rules for them.  This needs to
      be fixed so that the source files remain usable and good examples of code
      instead of bad examples.
      
      Add the ability to build source files that are in the Documentation/ dir.
      Add to Kconfig as "BUILD_DOCSRC" config symbol.
      
      Use "CONFIG_BUILD_DOCSRC=1 make ..." to build objects from the
      Documentation/ sources.  Or enable BUILD_DOCSRC in the *config system.
      However, this symbol depends on HEADERS_CHECK since the header files need
      to be installed (for userspace builds).
      
      Built (using cross-tools) for x86-64, i386, alpha, ia64, sparc32,
      sparc64, powerpc, sh, m68k, & mips.
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Reviewed-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3794f3e8
  26. 07 8月, 2008 2 次提交
    • D
      kbuild: a better way to generate cscope database change · 64a99d2a
      Denis ChengRq 提交于
      It's a problem about cscope target of kernel Makefile, and the cscope
      plugin of emacs:
      1. `make cscope` will generate cscope.files cscope.{in,po,}.out;
      2. the cscope plugin expect a cscope.out.{in,po,};
      3. the default `cscope -b` would generate cscope.{in,po,}.out;
      
      There are three approach to solve it:
      1. modify the cscope C code;
      2. modify the cscope emacs plugin lisp code;
      3. modify the Makefile;
      
      I have tried to communicate with the cscope upstream, but later I
      realize the third approach is most meaningful.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      64a99d2a
    • S
      kbuild: fix O=.. build with arm · 7a48bdd0
      Sam Ravnborg 提交于
      With a make O=... build kbuild would only create
      the include2/asm symlink for archs that not yet
      had moved headers to include/$ARCH/include
      
      There is no longer any reason to avoid the symlink
      for archs that has moved their headers so create it
      unconditionally.
      
      This fixes arm because kbuild checked for include/asm-$ARCH/errno.h
      and that file was not present for arm but the platform files
      are not yet moved.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      7a48bdd0
  27. 06 8月, 2008 1 次提交
  28. 31 7月, 2008 1 次提交
    • S
      kbuild: fix O=... build of um · ea35455e
      Sam Ravnborg 提交于
      We used include/asm-$ARCH/system.h to check if
      we should create a symlink in include2 directory with
      make O=... builds.
      But um does not have such a file thus build filed.
      
      Let's try anohter filename:
      $ ls -d include/asm-* | wc -l
      21
      $ ls -d include/asm-*/errno.h | wc -l
      21
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Jeff Dike <jdike@addtoit.com>
      ea35455e
  29. 29 7月, 2008 1 次提交
  30. 28 7月, 2008 1 次提交
    • S
      sparc, sparc64: use arch/sparc/include · a439fe51
      Sam Ravnborg 提交于
      The majority of this patch was created by the following script:
      
      ***
      ASM=arch/sparc/include/asm
      mkdir -p $ASM
      git mv include/asm-sparc64/ftrace.h $ASM
      git rm include/asm-sparc64/*
      git mv include/asm-sparc/* $ASM
      sed -ie 's/asm-sparc64/asm/g' $ASM/*
      sed -ie 's/asm-sparc/asm/g' $ASM/*
      ***
      
      The rest was an update of the top-level Makefile to use sparc
      for header files when sparc64 is being build.
      And a small fixlet to pick up the correct unistd.h from
      sparc64 code.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      a439fe51
  31. 26 7月, 2008 3 次提交