19 Apr, 2006

1 commit


06 Apr, 2006

2 commits

  • When installing external modules with `make modules_install', the
    first thing that happens is a rm -rf of the target directory. This
    works only once, and breaks when installing more than one (set of)
    external module(s).
    With following fix we have the functionality:
    - for a in-kernel modules_install the $(MODLIB)/kernel directory will be
    deleted before module installation
    - for external modules the existing modules will be left as is assuming
    one may be building and installign several external modules

    Signed-off-by: Andreas Gruenbacher
    Signed-off-by: Sam Ravnborg

    Andreas Gruenbacher
     
  • kbuild added an extra '/' after the directory - resulting in all
    files being rebuild in a subdirectory.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

05 Apr, 2006

1 commit

  • This fixes single targets build so it now works relaiably in
    following cases:
    - build with mixed kernel source and output files (make single-target)
    - build with separate output directory (make O=.. single-target)
    - external module with mixed kernel source and output files
    (make M='pwd' single-target)
    - external module with separate kernel source and output files
    (make O=.. M='pwd' single-target)

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

03 Apr, 2006

1 commit


26 Mar, 2006

2 commits

  • gcc should handle this anyways, and it causes problems when
    sprintf is turned into strcpy by gcc behind our backs and
    the C fallback version of strcpy is actually defining __builtin_strcpy

    Then drop -ffreestanding from the main Makefile because it isn't
    needed anymore and implies -fno-builtin, which is wrong now.
    (it was only added for x86-64, so dropping it should be safe)

    Noticed by Roman Zippel

    Cc: Roman Zippel
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild: (46 commits)
    kbuild: remove obsoleted scripts/reference_* files
    kbuild: fix make help & make *pkg
    kconfig: fix time ordering of writes to .kconfig.d and include/linux/autoconf.h
    Kconfig: remove the CONFIG_CC_ALIGN_* options
    kbuild: add -fverbose-asm to i386 Makefile
    kbuild: clean-up genksyms
    kbuild: Lindent genksyms.c
    kbuild: fix genksyms build error
    kbuild: in makefile.txt note that Makefile is preferred name for kbuild files
    kbuild: replace PHONY with FORCE
    kbuild: Fix bug in crc symbol generating of kernel and modules
    kbuild: change kbuild to not rely on incorrect GNU make behavior
    kbuild: when warning symbols exported twice now tell user this is the problem
    kbuild: fix make dir/file.xx when asm symlink is missing
    kbuild: in the section mismatch check try harder to find symbols
    kbuild: fix section mismatch check for unwind on IA64
    kbuild: kill false positives from section mismatch warnings for powerpc
    kbuild: kill trailing whitespace in modpost & friends
    kbuild: small update of allnoconfig description
    kbuild: make namespace.pl CROSS_COMPILE happy
    ...

    Trivial conflict in arch/ppc/boot/Makefile manually fixed up

    Linus Torvalds
     

24 Mar, 2006

1 commit

  • As a foundation for reliable stack unwinding, this adds a config option
    (available to all architectures except IA64 and those where the module
    loader might have problems with the resulting relocations) to enable the
    generation of frame unwind information.

    Signed-off-by: Jan Beulich
    Cc: Miles Bader
    Cc: "Luck, Tony"
    Cc: Ralf Baechle
    Cc: Kyle McMartin
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: "David S. Miller"
    Cc: Paul Mundt ,
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Beulich
     

21 Mar, 2006

2 commits


20 Mar, 2006

1 commit


13 Mar, 2006

1 commit

  • I don't see any use case for the CONFIG_CC_ALIGN_* options:
    - they are only available if EMBEDDED
    - people using EMBEDDED will most likely also enable
    CC_OPTIMIZE_FOR_SIZE
    - the default for -Os is to disable alignment

    In case someone is doing performance comparisons and discovers that the
    default settings gcc chooses aren't good, the only sane thing is to discuss
    whether it makes sense to change this, not through offering options to change
    this locally.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Adrian Bunk
     

12 Mar, 2006

1 commit


11 Mar, 2006

1 commit

  • Rebuilding a previously built tree while using make's -j option from
    time to time results in the version.h check running at the same time as
    the updating of .kernelrelease, resulting in UTS_RELEASE remaining an
    empty string (and as a side effect causing the entire kernel to be
    rebuilt).

    Signed-Off-By: Jan Beulich
    Signed-off-by: Sam Ravnborg
    Signed-off-by: Linus Torvalds

    Jan Beulich
     

09 Mar, 2006

1 commit


06 Mar, 2006

1 commit

  • The kbuild system takes advantage of an incorrect behavior in GNU make.
    Once this behavior is fixed, all files in the kernel rebuild every time,
    even if nothing has changed. This patch ensures kbuild works with both
    the incorrect and correct behaviors of GNU make.

    For more details on the incorrect behavior, see:

    http://lists.gnu.org/archive/html/bug-make/2006-03/msg00003.html

    Changes in this patch:
    - Keep all targets that are to be marked .PHONY in a variable, PHONY.
    - Add .PHONY: $(PHONY) to mark them properly.
    - Remove any $(PHONY) files from the $? list when determining whether
    targets are up-to-date or not.

    Signed-off-by: Paul Smith
    Signed-off-by: Sam Ravnborg

    Paul Smith
     

05 Mar, 2006

1 commit


27 Feb, 2006

1 commit


23 Feb, 2006

1 commit

  • Rebuilding a previously built tree while using make's -j options from time to
    time results in the version.h check running at the same time as the updating
    of .kernelrelease, resulting in UTS_RELEASE remaining an empty string (and as
    a side effect causing the entire kernel to be rebuilt).

    Signed-Off-By: Jan Beulich
    Signed-off-by: Sam Ravnborg

    Jan Beulich
     

19 Feb, 2006

7 commits


18 Feb, 2006

1 commit


16 Feb, 2006

1 commit


13 Feb, 2006

1 commit


08 Feb, 2006

1 commit


03 Feb, 2006

1 commit


21 Jan, 2006

1 commit

  • .kernelrelease was saved in same directory as kernel source also
    with make O=...
    Make sure we kick in the normal logic to shift to the output directory
    when we build .kernelrelease after executing *config.

    Signed-off-by: Sam Ravnborg
    ---

    Sam Ravnborg
     

17 Jan, 2006

3 commits


16 Jan, 2006

3 commits

  • The command 'make all modules_install install' would fail
    in a virgin tree - pointing at a non-existing directory under
    /lib/modules/xxx

    KERNELRELEASE is part of MODLIB and we need to create .kernelrelease
    before we can properly evaluate KERNELRELEASE,
    Changing MODLIB to the recursively expanded flavor let it pick up
    the correct KERNELRELEASE value.

    Reported by: "Hemmann, Volker Armin"

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • To enable 'make kernelrelease' earlier now create .kernelrelease when
    one of the *config targets are used.
    Also introduce KERNELVERSION - only user is kconfig.
    KERNELVERSION was needed to display kernel version in menuconfig -
    KERNELRELEASE is not valid until configuration has completed.
    kconfig files modified to use KERNELVERSION.
    Bug reported by: Rene Rebe

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • The way multiple targets was handled with make O=...
    broke because for each high-level target make spawned
    a parallel make resulting in a broken build.
    Reported by Keith Owens

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

15 Jan, 2006

1 commit

  • This makes ARCH=powerpc the default on 32-bit powerpc machines,
    where uname -m returns ppc, as well as on 64-bit powerpc machines.
    Most people who would be likely to build their own kernels on
    32-bit powerpc machines would be using powermacs or CHRP machines,
    both of which are supported with ARCH=powerpc now. Embedded ppc
    developers whose ports haven't been moved over to arch/powerpc
    yet will have to explicitly set ARCH=ppc now.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

11 Jan, 2006

1 commit