1. 11 12月, 2007 1 次提交
  2. 09 12月, 2007 2 次提交
    • S
      kbuild: fix building with O=.. options · 18c32dac
      Sam Ravnborg 提交于
      The check introduced in commit:
      4f1127e2 "kbuild: fix
      infinite make recursion"
      
      caused certain external modules not to build and
      also caused 'make targz-pkg' to fail.
      This is a minimal fix so we revert to previous
      behaviour - but we do not overwrite the Makefile
      in the top-level directory.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Tested-by: NJay Cliburn <jacliburn@bellsouth.net>
      Cc: Jay Cliburn <jacliburn@bellsouth.net>
      18c32dac
    • S
      kbuild: fix building with redirected output. · 1cacc9ab
      Sam Ravnborg 提交于
      Jan Altenberg <jan.altenberg@linutronix.de> reported that
      building with redirected input like this failed:
      make O=dir oldconfig bzImage < /dev/null
      
      The problem were caused by a make silentoldconfig being
      run before oldconfig and with a non-recent .config the build
      failed because silentoldconfig requires non-redirected stdin.
      
      Silentoldconfig was run as a side-effect of having the
      top-level Makefile re-made by make.
      Introducing an empty rule for the top-level Makefile
      (and Kbuild.include) fixed the issue.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      1cacc9ab
  3. 04 12月, 2007 1 次提交
  4. 18 11月, 2007 2 次提交
    • S
      x86: simplify "make ARCH=x86" and fix kconfig all.config · 6840999b
      Sam Ravnborg 提交于
      Simplify "make ARCH=x86" and fix kconfig so we again can set 64BIT in
      all.config.
      
      For a fix the diffstat is nice:
       6 files changed, 3 insertions(+), 36 deletions(-)
      
      The patch reverts these commits:
       - 0f855aa6 ("kconfig: add helper to set
         config symbol from environment variable")
       - 2a113281 ("kconfig: use $K64BIT to
         set 64BIT with all*config targets")
      
      Roman Zippel pointed out that kconfig supported string compares so
      the additional complexity introduced by the above two patches were
      not needed.
      
      With this patch we have following behaviour:
      
        # make {allno,allyes,allmod,rand}config [ARCH=...]
        option \ host arch      | 32bit         | 64bit
        =====================================================
        ./.                     | 32bit         | 64bit
        ARCH=x86                | 32bit         | 32bit
        ARCH=i386               | 32bit         | 32bit
        ARCH=x86_64             | 64bit         | 64bit
      
      The general rule are that ARCH= and native architecture takes
      precedence over the configuration.
      
      So make ARCH=i386 [whatever] will always build a 32-bit kernel
      no matter what the configuration says.  The configuration will
      be updated to 32-bit if it was configured to 64-bit and the
      other way around.
      
      This behaviour is consistent with previous behaviour so no
      suprises here.
      
      make ARCH=x86 will per default result in a 32-bit kernel but as
      the only ARCH= value x86 allow the user to select between 32-bit
      and 64-bit using menuconfig.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Andreas Herrmann <aherrman@arcor.de>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6840999b
    • S
      x86: simplify "make ARCH=x86" and fix kconfig all.config · 80ef88d6
      Sam Ravnborg 提交于
      Simplify "make ARCH=x86" and fix kconfig so we again
      can set 64BIT in all.config.
      
      For a fix the diffstat is nice:
       6 files changed, 3 insertions(+), 36 deletions(-)
      
      The patch reverts these commits:
      0f855aa6
      -> kconfig: add helper to set config symbol from environment variable
      
      2a113281
      -> kconfig: use $K64BIT to set 64BIT with all*config targets
      
      Roman Zippel pointed out that kconfig supported string
      compares so the additional complexity introduced by the
      above two patches were not needed.
      
      With this patch we have following behaviour:
      
      # make {allno,allyes,allmod,rand}config [ARCH=...]
      option \ host arch      | 32bit         | 64bit
      =====================================================
      ./.                     | 32bit         | 64bit
      ARCH=x86                | 32bit         | 32bit
      ARCH=i386               | 32bit         | 32bit
      ARCH=x86_64             | 64bit         | 64bit
      
      The general rule are that ARCH= and native architecture
      takes precedence over the configuration.
      So make ARCH=i386 [whatever] will always build a 32-bit
      kernel no matter what the configuration says.
      The configuration will be updated to 32-bit if it was
      configured to 64-bit and the other way around.
      
      This behaviour is consistent with previous behaviour so
      no suprises here.
      
      make ARCH=x86 will per default result in a 32-bit kernel
      but as the only ARCH= value x86 allow the user to select
      between 32-bit and 64-bit using menuconfig. 
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Andreas Herrmann <aherrman@arcor.de>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      80ef88d6
  5. 17 11月, 2007 2 次提交
  6. 13 11月, 2007 2 次提交
    • S
      x86: enable "make ARCH=x86" · daa93fab
      Sam Ravnborg 提交于
      After unification of the Kconfig files and
      introducing K64BIT support in kconfig
      it required only trivial changes to enable
      "make ARCH=x86".
      
      With this patch you can build for x86_64 in several ways:
      1) make ARCH=x86_64
      2) make ARCH=x86 K64BIT=y
      3) make ARCH=x86 menuconfig
         => select 64-bit
      
      Likewise for i386 with the addition that
      i386 is default is you say ARCH=x86.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      daa93fab
    • S
      x86: do not use $(ARCH) when not needed · d746d647
      Sam Ravnborg 提交于
      For x86 ARCH may say i386 or x86_64 and soon x86.
      Rely on CONFIG_X64_32 to select between 32/64 or just
      hardcode the value as appropriate.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      d746d647
  7. 07 11月, 2007 1 次提交
  8. 05 11月, 2007 1 次提交
    • S
      kbuild: do not pick up CFLAGS from the environment · 69ee0b35
      Sam Ravnborg 提交于
      Too many people have CFLAGS set to support building userspace.
      And now Kbuild picks up CFLAGS this caused troubles.
      
      Although people should realise that setting CFLAGS has
      a 'global' effect the impact on the kernel build is a suprise.
      So change kbuild to pick up value from KCFLAGS that is
      much less used.
      
      When kbuild pick up a value it will warn like this:
      Makefile:544: "WARNING: Appending $KCFLAGS (-O3) from environment to kernel $CFLAGS"
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Thomas Bächler <thomas@archlinux.org>
      Cc: David Miller <davem@davemloft.net>
      Cc: Ingo Molnar <mingo@redhat.com>
      69ee0b35
  9. 02 11月, 2007 1 次提交
  10. 26 10月, 2007 1 次提交
  11. 24 10月, 2007 1 次提交
    • L
      Linux 2.6.24-rc1 · c9927c2b
      Linus Torvalds 提交于
      The patch is big.  Really big.  You just won't believe how vastly hugely
      mindbogglingly big it is.  I mean you may think it's a long way down the
      road to the chemist, but that's just peanuts to how big the patch from
      2.6.23 is.
      
      But it's all good.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c9927c2b
  12. 23 10月, 2007 2 次提交
    • S
      kbuild: allow depmod in cross builds again · d8d2e78a
      Sam Ravnborg 提交于
      depmod from module-init-tools 3.3-pre2 are reported
      to work fine in cross build.
      depmod from module-init-tools 3.1-pre5 are known to SEGV
      
      Do not workaround older module-init-tools bugs here.
      The right fix is for users to upgrade module-init-tools.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      d8d2e78a
    • S
      kbuild: fix modules_install after a 'make vmlinux' · ab19f879
      Sam Ravnborg 提交于
      make vmlinux would delete the content of $(MODVERDIR)
      equals .tmp_versions. This caused a subsequent
      make modules_install to fail.
      
      Fix it so we clean the directory only for the
      modules build - but we still unconditionally create it so
      we can do:
      make dir/file.ko
      without a preceeding make modules.
      
      Reported by David Miller <davem@davemloft.net>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: David Miller <davem@davemloft.net>
      ab19f879
  13. 21 10月, 2007 1 次提交
  14. 20 10月, 2007 2 次提交
  15. 19 10月, 2007 1 次提交
    • S
      kbuild: disable depmod in cross-compile kernel build · 50a8ec31
      Sam Ravnborg 提交于
      When building embedded systems in a cross-compile environment and
      populating a target's file system image, we don't want to run the
      depmod on the host as we may be building for a completely different
      architecture. Since there's no such thing as a cross-depmod, we
      just disable running depmod in the cross-compile case and we just
      run depmod on the target at bootup.
      
      Inspired by patches from Christian, Armin and Deepak.
      
      This solves: http://bugzilla.kernel.org/show_bug.cgi?id=3881Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Christian Bjølevik <nafallo@magicalforest.se>
      Cc: Deepak Saxena <dsaxena@mvista.com> and
      Cc: Armin Kuster <akuster@mvista.com>,
      50a8ec31
  16. 18 10月, 2007 3 次提交
    • Y
      kbuild: cscope - filter out .tmp_* in find_sources · 37ab7a26
      Yinghai Lu 提交于
      remove .tmp_kallsyms*.S in cscope.files
      Signed-off-by: NYinghai Lu <yinghai.lu@sun.com>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      37ab7a26
    • S
      kbuild: check asm symlink when building a kernel · fc333b2d
      Sam Ravnborg 提交于
      We often hit the situation where the asm symlink
      in include/ points to the wrong architecture.
      In 9 out of 10 cases thats because we forgot to set
      ARCH but sometimes we just reused the same tree
      for another ARCH. For the merged x86 tree we need
      to create a new symlink but this is not obvious.
      So with the following patch we check if the symlink
      points to the correct architecture and error
      out if this is not the case.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      fc333b2d
    • Y
      kbuild: fix typo SRCARCH in find_sources · f8bea58b
      Yinghai Lu 提交于
      otherwise get the two copy file list in SRCARCH
      
      for cscope:
      C symbol: start_kernel
      
        File           Function            Line
      0 proto.h        <global>              11 extern void start_kernel(void );
      1 start_kernel.h <global>              10 extern asmlinkage void __init start_kernel(void );
      2 head32.c       i386_start_kernel     37 start_kernel();
      3 head32.c       i386_start_kernel     37 start_kernel();
      4 head64.c       x86_64_start_kernel   85 start_kernel();
      5 head64.c       x86_64_start_kernel   85 start_kernel();
      6 head_32.S      options              199 cmpb $0,%cl #the first CPU calls start_kernel
      7 head_32.S      options              199 cmpb $0,%cl #the first CPU calls start_kernel
      8 enlighten.c    xen_start_kernel    1145 start_kernel();
      9 enlighten.c    xen_start_kernel    1145 start_kernel();
      a lguest.c       lguest_init         1095 start_kernel();
      b main.c         start_kernel         513 asmlinkage void __init start_kernel(void )
      
      after the patch:
      C symbol: start_kernel
      
        File           Function            Line
      0 proto.h        <global>              11 extern void start_kernel(void );
      1 start_kernel.h <global>              10 extern asmlinkage void __init start_kernel(void );
      2 head32.c       i386_start_kernel     37 start_kernel();
      3 head64.c       x86_64_start_kernel   85 start_kernel();
      4 head_32.S      options              199 cmpb $0,%cl #the first CPU calls start_kernel
      5 enlighten.c    xen_start_kernel    1145 start_kernel();
      6 lguest.c       lguest_init         1095 start_kernel();
      7 main.c         start_kernel         513 asmlinkage void __init start_kernel(void )
      Signed-off-by: NYinghai Lu <yinghai.lu@sun.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      f8bea58b
  17. 16 10月, 2007 3 次提交
  18. 15 10月, 2007 1 次提交
    • S
      kbuild: enable 'make CFLAGS=...' to add additional options to CC · a0f97e06
      Sam Ravnborg 提交于
      The variable CFLAGS is a wellknown variable and the usage by
      kbuild may result in unexpected behaviour.
      On top of that several people over time has asked for a way to
      pass in additional flags to gcc.
      
      This patch replace use of CFLAGS with KBUILD_CFLAGS all over the
      tree and enabling one to use:
      make CFLAGS=...
      to specify additional gcc commandline options.
      
      One usecase is when trying to find gcc bugs but other
      use cases has been requested too.
      
      Patch was tested on following architectures:
      alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k
      
      Test was simple to do a defconfig build, apply the patch and check
      that nothing got rebuild.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      a0f97e06
  19. 13 10月, 2007 5 次提交
    • A
      kbuild: call export_report from the Makefile · 295ac051
      Adrian Bunk 提交于
      The main feature is that export_report now automatically works
      for O= builds.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      295ac051
    • M
      kbuild: call make once for all targets when O=.. is used · 0b35786d
      Milton Miller 提交于
      Change the invocations of make in the output directory Makefile and the
      main Makefile for separate object trees to pass all goals to one $(MAKE)
      via a new phony target "sub-make" and the existing target _all.
      
      When compiling with separate object directories, a separate make is called
      in the context of another directory (from the output directory the main
      Makefile is called, the Makefile is then restarted with current directory
      set to the object tree).  Before this patch, when multiple make command
      goals are specified, each target results in a separate make invocation.
      With make -j, these invocations may run in parallel, resulting in multiple
      commands running in the same directory clobbering each others results.
      
      I did not try to address make -j for mixed dot-config and no-dot-config
      targets.  Because the order does matter, a solution was not obvious.
      Perhaps a simple check for MAKEFLAGS having -j and refusing to run would
      be appropriate.
      Signed-off-by: NMilton Miller <miltonm@bga.com>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      0b35786d
    • R
      kbuild: pass -g to assembler under CONFIG_DEBUG_INFO · cf851aa7
      Roland McGrath 提交于
      The assembler for a while now supports -gdwarf to generate source line info
      just like the C compiler does.  Source-level assembly debugging sounds like an
      oxymoron, but it is handy to be able to see the right source file and read its
      comments rather than just the disassembly.  This patch enables -gdwarf for
      assembly files when CONFIG_DEBUG_INFO=y and the assembler supports the option.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      cf851aa7
    • S
      kbuild: fix infinite make recursion · 4f1127e2
      Sam Ravnborg 提交于
      Jan Engelhardt <jengelh@computergmbh.de> reported:
      You can cause a recursion in kbuild/make with the following:
      
      make O=$PWD kernel/time.o
      make mrproper
      
      Of course no one would use O=$PWD (that's just the testcase),
      but this happened too often:
      
      /ws/linux/linux-2.6.23$ make O=/ws/linux/linux-2.6.23 kernel/time.o
      (Oops - should have been O=/ws/linux/obj-2.6.23!)
      
      Fixed by an explicit test for this case - we error
      out if output directory and source directory are the same.
      Tested-by: NJan Engelhardt <jengelh@computergmbh.de>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      4f1127e2
    • M
      kbuild: clean Modules.symvers in external module dirs · c34114f4
      Mike Frysinger 提交于
      At the moment, running `make clean` in an external module directory does a
      nice job of cleaning up with one exception: it leaves behind Modules.symvers.
      Attached patch adds this file to the clean list for external modules.
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      c34114f4
  20. 11 10月, 2007 4 次提交
  21. 10 10月, 2007 1 次提交
  22. 02 10月, 2007 1 次提交
    • L
      Linux 2.6.23-rc9 · 3146b39c
      Linus Torvalds 提交于
      No, I didn't want to do this, but we had more stuff go in after -rc8
      than we had in the previous -rc. Gaah.
      3146b39c
  23. 25 9月, 2007 1 次提交