1. 03 Aug, 2010 1 commit
    • Sam Ravnborg's avatar
      kbuild: allow assignment to {A,C,LD}FLAGS_MODULE on the command line · 6588169d
      Sam Ravnborg authored
      It is now possible to assign options to AS, CC and LD
      on the command line - which is only used when building modules.
      
      {A,C,LD}FLAGS_MODULE was all used both in the top-level Makefile
      in the arch makefiles, thus users had no way to specify
      additional options to AS, CC, LD when building modules
      without overriding the original value.
      
      Introduce a new set of variables KBUILD_{A,C,LD}FLAGS_MODULE
      that is used by arch specific files and free up
      {A,C,LD}FLAGS_MODULE so they can be assigned on
      the command line.
      
      All arch Makefiles that used the old variables has been updated.
      
      Note: Previously we had a MODFLAGS variable for both
      AS and CC. But in favour of consistency this was dropped.
      So in some cases arch Makefile has one assignmnet replaced by
      two assignmnets.
      
      Note2: MODFLAGS was not documented and is dropped
      without any notice. I do not expect much/any breakage
      from this.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Denys Vlasenko <vda.linux@googlemail.com>
      Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Chen Liqin <liqin.chen@sunplusct.com>
      Acked-by: Mike Frysinger <vapier@gentoo.org> [blackfin]
      Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> [avr32]
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      6588169d
  2. 27 May, 2010 1 commit
  3. 17 Feb, 2010 1 commit
  4. 20 Sep, 2009 2 commits
  5. 19 Apr, 2009 1 commit
    • Sam Ravnborg's avatar
      kbuild: introduce subdir-ccflags-y · 720097d8
      Sam Ravnborg authored
      Following patch introduce support for setting options
      to gcc that has effect for current directory and all
      subdirectories.
      
      The typical use case are an architecture or a subsystem that
      decide to cover all files with -Werror.
      Today alpha, mips and sparc uses -Werror in almost all their
      Makefile- with subdir-ccflag-y it is now simpler to do so
      as only the top-level directories needs to be covered.
      
      Likewise if we decide to cover a full subsystem such
      as net/ with -Werror this is done by adding a single
      line to net/Makefile.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      720097d8
  6. 11 Apr, 2009 1 commit
    • Sam Ravnborg's avatar
      kbuild: introduce destination-y for exported headers · c7bb349e
      Sam Ravnborg authored
      xtensa and arm have asked for a possibility to export headers
      and locate them in a specific directory when exported.
      Introduce destiantion-y to support this.
      
      This patch in additiona adds some limited
      documentation for the variables used for exported headers.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Oskar Schirmer <os@emlix.com>
      Cc: Mikael Starvik <mikael.starvik@axis.com>
      c7bb349e
  7. 03 Dec, 2008 1 commit
  8. 22 Oct, 2007 1 commit
  9. 19 Oct, 2007 1 commit
    • Sam Ravnborg's avatar
      kbuild: introduce cc-cross-prefix · 910b4046
      Sam Ravnborg authored
      cc-cross-prefix is useful for the architecture that like
      to provide a default CROSS_COMPILE value,
      but may have several to select between.
      
      Sample usage:
      
      ifneq ($(SUBARCH),$(ARCH))
              ifeq ($(CROSS_COMPILE),)
                     CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-)
              endif
      endif
      
      Actual usage by the different archs will taken care of later.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      910b4046
  10. 15 Oct, 2007 3 commits
    • Sam Ravnborg's avatar
      kbuild: introduce ccflags-y, asflags-y and ldflags-y · f77bf014
      Sam Ravnborg authored
      Introduce ccflags-y, asflags-y and ldflags-y so we soon can
      deprecate use of EXTRA_CFLAGS, EXTRA_AFLAGS and EXTRA_LDFLAGS.
      This patch does not touch any in-tree users - thats next round.
      Lets get this committed first and then fix the users of the
      soon to be deprecated variants next.
      
      The rationale behind this change is to introduce support for
      makefile fragments like:
      
      ccflags-$(CONFIG_WHATEVER_DEBUG) := -DDEBUG
      
      As a replacement for the uglier:
      ifeq ($(CONFIG_WHATEVER_DEBUG),y)
              EXTRA_CFLAGS := -DDEBUG
      endif
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      f77bf014
    • Sam Ravnborg's avatar
      kbuild: enable 'make CPPFLAGS=...' to add additional options to CPP · 06c5040c
      Sam Ravnborg authored
      The variable CPPFLAGS is a wellknown variable and the usage by
      kbuild may result in unexpected behaviour.
      
      This patch replace use of CPPFLAGS with KBUILD_CPPFLAGS all over the
      tree and enabling one to use:
      make CPPFLAGS=...
      to specify additional CPP commandline options.
      
      Patch was tested on following architectures:
      alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      06c5040c
    • Sam Ravnborg's avatar
      kbuild: enable 'make AFLAGS=...' to add additional options to AS · 222d394d
      Sam Ravnborg authored
      The variable AFLAGS 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 AFLAGS with KBUILD_AFLAGS all over
      the tree.
      
      Patch was tested on following architectures:
      alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      222d394d
  11. 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
  12. 12 Oct, 2007 2 commits
  13. 16 Jul, 2007 1 commit
  14. 17 Feb, 2007 1 commit
  15. 29 Nov, 2006 1 commit
  16. 04 Oct, 2006 1 commit
  17. 26 Sep, 2006 1 commit
    • Andi Kleen's avatar
      [PATCH] x86: Detect CFI support in the assembler at runtime · e2414910
      Andi Kleen authored
      ... instead of using a CONFIG option. The config option still controls
      if the resulting executable actually has unwind information.
      
      This is useful to prevent compilation errors when users select
      CONFIG_STACK_UNWIND on old binutils and also allows to use
      CFI in the future for non kernel debugging applications.
      
      Cc: jbeulich@novell.com
      Cc: sam@ravnborg.org
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      e2414910
  18. 25 Sep, 2006 2 commits
  19. 31 Jul, 2006 1 commit
    • Roland McGrath's avatar
      [PATCH] vDSO hash-style fix · 0b0bf7a3
      Roland McGrath authored
      The latest toolchains can produce a new ELF section in DSOs and
      dynamically-linked executables.  The new section ".gnu.hash" replaces
      ".hash", and allows for more efficient runtime symbol lookups by the
      dynamic linker.  The new ld option --hash-style={sysv|gnu|both} controls
      whether to produce the old ".hash", the new ".gnu.hash", or both.  In some
      new systems such as Fedora Core 6, gcc by default passes --hash-style=gnu
      to the linker, so that a standard invocation of "gcc -shared" results in
      producing a DSO with only ".gnu.hash".  The new ".gnu.hash" sections need
      to be dealt with the same way as ".hash" sections in all respects; only the
      dynamic linker cares about their contents.  To work with older dynamic
      linkers (i.e.  preexisting releases of glibc), a binary must have the old
      ".hash" section.  The --hash-style=both option produces binaries that a new
      dynamic linker can use more efficiently, but an old dynamic linker can
      still handle.
      
      The new section runs afoul of the custom linker scripts used to build vDSO
      images for the kernel.  On ia64, the failure mode for this is a boot-time
      panic because the vDSO's PT_IA_64_UNWIND segment winds up ill-formed.
      
      This patch addresses the problem in two ways.
      
      First, it mentions ".gnu.hash" in all the linker scripts alongside ".hash".
       This produces correct vDSO images with --hash-style=sysv (or old tools),
      with --hash-style=gnu, or with --hash-style=both.
      
      Second, it passes the --hash-style=sysv option when building the vDSO
      images, so that ".gnu.hash" is not actually produced.  This is the most
      conservative choice for compatibility with any old userland.  There is some
      concern that some ancient glibc builds (though not any known old production
      system) might choke on --hash-style=both binaries.  The optimizations
      provided by the new style of hash section do not really matter for a DSO
      with a tiny number of symbols, as the vDSO has.  If someone wants to use
      =gnu or =both for their vDSO builds and worry less about that
      compatibility, just change the option and the linker script changes will
      make any choice work fine.
      Signed-off-by: default avatarRoland McGrath <roland@redhat.com>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      0b0bf7a3
  20. 24 Jun, 2006 1 commit
    • Theodore Ts'o's avatar
      kbuild: add option for stripping modules while installing them · ac031f26
      Theodore Ts'o authored
      Add option for stripping modules while installing them.
      
      This function adds support for stripping modules while they are being
      installed.  CONFIG_DEBUG_KERNEL (which will probably become more
      popular as developers use kdump) causes the size of the installed
      modules to grow by a factor of 9 or so.
      
      Some kernel package systems solve this problem by stripping the debug
      information from /lib/modules after running "make modules_install",
      but that may not work for people who are installing directly into
      /lib/modules --- root partitions that were sized to handle 16 megs
      worth of modules may not be quite so happy with 145 megs of modules,
      so the "make modules_install" never succeeds.
      
      This patch allows such users to request modules_install to strip the
      modules as they are installed.
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      ac031f26
  21. 09 Mar, 2006 1 commit
  22. 19 Feb, 2006 1 commit
    • Sam Ravnborg's avatar
      kbuild: make cc-version available in kbuild files · 20a468b5
      Sam Ravnborg authored
      Move $(CC) support functions to Kbuild.include so they are available
      in the kbuild files.
      In addition the following was done:
      	o as-option documented in Documentation/kbuild/makefiles.txt
      	o Moved documentation to new section to match
      	  new scope of functions
      	o added cc-ifversion used to conditionally select a text string
      	  dependent on actual $(CC) version
      	o documented cc-ifversion
      	o change so Kbuild.include is read before the kbuild file
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      20a468b5
  23. 08 Jan, 2006 1 commit
  24. 11 Sep, 2005 1 commit
    • Sam Ravnborg's avatar
      kbuild: rename prepare to archprepare to fix dependency chain · 5bb78269
      Sam Ravnborg authored
      When introducing the generic asm-offsets.h support the dependency
      chain for the prepare targets was changed. All build scripts expecting
      include/asm/asm-offsets.h to be made when using the prepare target would broke.
      With the limited number of prepare targets left in arch Makefiles
      the trivial solution was to introduce a new arch specific target: archprepare
      
      The dependency chain looks like this now:
      
      prepare
        |
        +--> prepare0
               |
               +--> archprepare
                      |
      		+--> scripts_basic
                      +--> prepare1
                             |
                             +---> prepare2
                                     |
                                     +--> prepare3
      
      So prepare 3 is processed before prepare2 etc.
      This guaantees that the asm symlink, version.h, scripts_basic
      are all updated before archprepare is processed.
      
      prepare0 which build the asm-offsets.h file will need the
      actions performed by archprepare.
      
      The head target is now named prepare, because users scripts will most
      likely use that target, but prepare-all has been kept for compatibility.
      Updated Documentation/kbuild/makefiles.txt.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      5bb78269
  25. 28 Jul, 2005 1 commit
  26. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4