03 Jan, 2009

2 commits

  • Add kbuild.txt to Documentation/kbuild
    More stuff can be added later - at least we have
    som of the varous environment variables documented now.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Create a kconfig user assistance guide, with a few tips and hints
    about using menuconfig, xconfig, and gconfig.

    Mostly contains user interface, environment variables, and search topics,
    along with mini.config/custom.config usage.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Randy Dunlap
     

04 Dec, 2008

1 commit

  • There is a bunch of places in the build system where we do 'echo' to show
    some nice status lines. This means we still get output when running in
    silent mode. So declare a new KECHO variable that only does 'echo' when we
    are in a suitable verbose build mode.

    Signed-off-by: Mike Frysinger
    [sam: added Documentation]
    Signed-off-by: Sam Ravnborg

    Mike Frysinger
     

05 May, 2008

1 commit


29 Apr, 2008

1 commit


26 Apr, 2008

1 commit

  • This patch adds a new (Kbuild) Makefile variable KBUILD_EXTRA_SYMBOLS.
    The space separated list of file names assigned to KBUILD_EXTRA_SYMBOLS
    is used when calling scripts/mod/modpost during stage 2 of the Kbuild
    process for non-kernel-tree modules.

    Signed-off-by: Richard Hacker
    Signed-off-by: Sam Ravnborg

    Richard Hacker
     

29 Jan, 2008

3 commits


23 Oct, 2007

1 commit


20 Oct, 2007

2 commits

  • Add kconfig-language docs for mainmenu, def_bool, and def_tristate.
    Remove "requires" as a synonym of "depends on" since it was removed
    from the parser in commit 247537b9a270b52cc0375adcb0fb2605a160cba5.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Randy Dunlap
     
  • 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: Sam Ravnborg

    Sam Ravnborg
     

16 Oct, 2007

3 commits

  • 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: Sam Ravnborg

    Sam Ravnborg
     
  • 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: Sam Ravnborg

    Sam Ravnborg
     
  • 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: Sam Ravnborg

    Sam Ravnborg
     

15 Oct, 2007

1 commit

  • 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: Sam Ravnborg

    Sam Ravnborg
     

13 Oct, 2007

2 commits


12 Aug, 2007

1 commit


17 Jul, 2007

1 commit


03 May, 2007

1 commit


18 Feb, 2007

1 commit


13 Dec, 2006

1 commit


30 Nov, 2006

1 commit


04 Oct, 2006

2 commits

  • While reading this I noticed that the contents of this document list
    section "3.8 Command line dependency" but it doesn't exist in the document.

    Signed-off-by: Daniel Walker
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Walker
     
  • This patch fixes typos in various Documentation txts. The patch addresses
    some words starting with the letter 'S'.

    Signed-off-by: Matt LaPlante
    Acked-by: Alan Cox
    Acked-by: Randy Dunlap
    Signed-off-by: Adrian Bunk

    Matt LaPlante
     

01 Oct, 2006

1 commit


26 Sep, 2006

1 commit

  • ... 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: Andi Kleen

    Andi Kleen
     

25 Sep, 2006

5 commits


01 Aug, 2006

1 commit

  • 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: Roland McGrath
    Cc: "Luck, Tony"
    Cc: Kyle McMartin
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Jeff Dike
    Cc: Andi Kleen
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roland McGrath
     

25 Jun, 2006

1 commit

  • 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: "Theodore Ts'o"
    Signed-off-by: Sam Ravnborg

    Theodore Ts'o
     

04 Apr, 2006

1 commit


10 Mar, 2006

1 commit


19 Feb, 2006

3 commits

  • 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: Sam Ravnborg

    Sam Ravnborg
     
  • With following patch a second option is enabled to obtain
    symbol information from a second external module when a
    external module is build.
    The recommended approach is to use a common kbuild file but
    that may be impractical in certain cases.
    With this patch one can copy over a Module.symvers from one
    external module to make symbols (and symbol versions) available
    for another external module.

    Updated documentation in Documentation/kbuild/modules.txt

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Support building individual files when dealing with separate modules.
    So say you have a module named "foo" which consist of two .o files bar.o
    and fun.o.

    You can then do:
    make -C $KERNELSRC M=`pwd` bar.o
    make -C $KERNELSRC M=`pwd` bar.lst
    make -C $KERNELSRC M=`pwd` bar.i
    make -C $KERNELSRC M=`pwd` / for initial feature
    request / bug report.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg