1. 04 Dec, 2007 1 commit
  2. 17 Nov, 2007 4 commits
    • Sam Ravnborg's avatar
      x86: simplify "make ARCH=x86" and fix kconfig all.config · 6840999b
      Sam Ravnborg authored
      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: default avatarSam 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: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6840999b
    • Sam Ravnborg's avatar
      x86: simplify "make ARCH=x86" and fix kconfig all.config · 80ef88d6
      Sam Ravnborg authored
      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: default avatarSam 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
    • Thomas Gleixner's avatar
      Remove x86 merge artifact from top Makefile · d0974b11
      Thomas Gleixner authored
      The x86 merge modified the tags target to handle the two separate
      source directories. Remove it now that i386/x86_64 are gone completely.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      d0974b11
    • Linus Torvalds's avatar
      Linux 2.6.24-rc3 · d9f8bcbf
      Linus Torvalds authored
      d9f8bcbf
  3. 12 Nov, 2007 2 commits
    • Sam Ravnborg's avatar
      x86: enable "make ARCH=x86" · daa93fab
      Sam Ravnborg authored
      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: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      daa93fab
    • Sam Ravnborg's avatar
      x86: do not use $(ARCH) when not needed · d746d647
      Sam Ravnborg authored
      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: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      d746d647
  4. 06 Nov, 2007 1 commit
  5. 04 Nov, 2007 1 commit
    • Sam Ravnborg's avatar
      kbuild: do not pick up CFLAGS from the environment · 69ee0b35
      Sam Ravnborg authored
      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: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Thomas Bächler <thomas@archlinux.org>
      Cc: David Miller <davem@davemloft.net>
      Cc: Ingo Molnar <mingo@redhat.com>
      69ee0b35
  6. 02 Nov, 2007 1 commit
  7. 25 Oct, 2007 1 commit
  8. 24 Oct, 2007 1 commit
    • Linus Torvalds's avatar
      Linux 2.6.24-rc1 · c9927c2b
      Linus Torvalds authored
      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: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c9927c2b
  9. 22 Oct, 2007 2 commits
    • Sam Ravnborg's avatar
      kbuild: allow depmod in cross builds again · d8d2e78a
      Sam Ravnborg authored
      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: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      d8d2e78a
    • Sam Ravnborg's avatar
      kbuild: fix modules_install after a 'make vmlinux' · ab19f879
      Sam Ravnborg authored
      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: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: David Miller <davem@davemloft.net>
      ab19f879
  10. 20 Oct, 2007 1 commit
  11. 19 Oct, 2007 2 commits
  12. 18 Oct, 2007 3 commits
  13. 17 Oct, 2007 1 commit
    • Yinghai Lu's avatar
      kbuild: fix typo SRCARCH in find_sources · f8bea58b
      Yinghai Lu authored
      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: default avatarYinghai Lu <yinghai.lu@sun.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      f8bea58b
  14. 15 Oct, 2007 3 commits
  15. 14 Oct, 2007 1 commit
    • Sam Ravnborg's avatar
      kbuild: enable 'make CFLAGS=...' to add additional options to CC · a0f97e06
      Sam Ravnborg authored
      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: default avatarSam Ravnborg <sam@ravnborg.org>
      a0f97e06
  16. 12 Oct, 2007 5 commits
    • Adrian Bunk's avatar
      kbuild: call export_report from the Makefile · 295ac051
      Adrian Bunk authored
      The main feature is that export_report now automatically works
      for O= builds.
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      295ac051
    • Milton Miller's avatar
      kbuild: call make once for all targets when O=.. is used · 0b35786d
      Milton Miller authored
      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: default avatarMilton Miller <miltonm@bga.com>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      0b35786d
    • Roland McGrath's avatar
      kbuild: pass -g to assembler under CONFIG_DEBUG_INFO · cf851aa7
      Roland McGrath authored
      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: default avatarRoland McGrath <roland@redhat.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      cf851aa7
    • Sam Ravnborg's avatar
      kbuild: fix infinite make recursion · 4f1127e2
      Sam Ravnborg authored
      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: default avatarJan Engelhardt <jengelh@computergmbh.de>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      4f1127e2
    • Mike Frysinger's avatar
      kbuild: clean Modules.symvers in external module dirs · c34114f4
      Mike Frysinger authored
      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: default avatarMike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      c34114f4
  17. 11 Oct, 2007 4 commits
  18. 09 Oct, 2007 1 commit
  19. 02 Oct, 2007 1 commit
    • Linus Torvalds's avatar
      Linux 2.6.23-rc9 · 3146b39c
      Linus Torvalds authored
      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
  20. 25 Sep, 2007 1 commit
  21. 19 Sep, 2007 1 commit
  22. 11 Sep, 2007 1 commit
  23. 01 Sep, 2007 1 commit