09 Sep, 2011

1 commit

  • The introduction of include/linux/kconfig.h created 3 extraneous
    dependencies:
    include/config/.h
    include/config/h.h
    include/config/foo.h

    Fix this by excluding kconfig.h from fixdep calculations.

    Signed-off-by: Peter Foley
    Signed-off-by: Michal Marek

    Peter Foley
     

14 Mar, 2011

1 commit

  • Recent change to fixdep:

    commit b7bd182176960fdd139486cadb9962b39f8a2b50
    Author: Michal Marek
    Date: Thu Feb 17 15:13:54 2011 +0100

    fixdep: Do not record dependency on the source file itself

    changed the format of the *.cmd files without realizing that it is also
    used by modpost. Put the path to the source file to the file back, in a
    special variable, so that modpost sees all source files when calculating
    srcversion for modules.

    Reported-and-tested-by: Henrik Rydberg
    Signed-off-by: Michal Marek
    Signed-off-by: Linus Torvalds

    Michal Marek
     

21 Feb, 2011

1 commit

  • The dependency is already expressed by the Makefiles, storing it in the
    .cmd file breaks build if a .c file is replaced by .S or vice versa,
    because the .cmd file contains

    foo/bar.o: foo/bar.c ...

    foo/bar.c ... :

    so the foo/bar.c -> foo/bar.o rule triggers even if there is no
    foo/bar.c anymore.

    Acked-by: Stephen Rothwell
    Signed-off-by: Michal Marek

    Michal Marek
     

23 Dec, 2010

1 commit


12 Nov, 2010

1 commit

  • I noticed fixdep uses ~2% of cpu time in kernel build, in function
    use_config()

    fixdep spends a lot of cpu cycles in linear searches in its internal
    string array. With about 400 stored strings per dep file, this begins to
    be noticeable.

    Convert fixdep to use a hash table.

    kbuild results on my x86_64 allmodconfig

    Before patch :

    real 10m30.414s
    user 61m51.456s
    sys 8m28.200s

    real 10m12.334s
    user 61m50.236s
    sys 8m30.448s

    real 10m42.947s
    user 61m50.028s
    sys 8m32.380s

    After:

    real 10m8.180s
    user 61m22.506s
    sys 8m32.384s

    real 10m35.039s
    user 61m21.654s
    sys 8m32.212s

    real 10m14.487s
    user 61m23.498s
    sys 8m32.312s

    Signed-off-by: Eric Dumazet
    Signed-off-by: Michal Marek

    Eric Dumazet
     

12 Dec, 2009

1 commit


24 Sep, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (30 commits)
    Use macros for .data.page_aligned section.
    Use macros for .bss.page_aligned section.
    Use new __init_task_data macro in arch init_task.c files.
    kbuild: Don't define ALIGN and ENTRY when preprocessing linker scripts.
    arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0
    kbuild: add static to prototypes
    kbuild: fail build if recordmcount.pl fails
    kbuild: set -fconserve-stack option for gcc 4.5
    kbuild: echo the record_mcount command
    gconfig: disable "typeahead find" search in treeviews
    kbuild: fix cc1 options check to ensure we do not use -fPIC when compiling
    checkincludes.pl: add option to remove duplicates in place
    markup_oops: use modinfo to avoid confusion with underscored module names
    checkincludes.pl: provide usage helper
    checkincludes.pl: close file as soon as we're done with it
    ctags: usability fix
    kernel hacking: move STRIP_ASM_SYMS from General
    gitignore usr/initramfs_data.cpio.bz2 and usr/initramfs_data.cpio.lzma
    kbuild: Check if linker supports the -X option
    kbuild: introduce ld-option
    ...

    Fix trivial conflict in scripts/basic/fixdep.c

    Linus Torvalds
     

21 Sep, 2009

2 commits


20 Sep, 2009

1 commit


15 Jun, 2009

1 commit

  • gcc-4.4.1:

    HOSTCC scripts/basic/fixdep
    scripts/basic/fixdep.c: In function 'traps':
    scripts/basic/fixdep.c:377: warning: dereferencing type-punned pointer will break strict-aliasing rules
    scripts/basic/fixdep.c:379: warning: dereferencing type-punned pointer will break strict-aliasing rules

    (Apparently -fno-strict-aliasing will fix this too)

    Signed-off-by: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Amerigo Wang
     

03 May, 2007

1 commit

  • build scripts: fixdep blows segfault on string CONFIG_MODULE seen

    The string "CONFIG_MODULE" appearing anywhere in a source file causes
    fixdep to segfault. This string appeared in the wild in the current
    mISDN sources (I think they meant CONFIG_MODULES). But it shouldn't
    segfault (esp as CONFIG_MODULE appeared in a quoted string).

    Signed-off-by: Andy Green
    Signed-off-by: Sam Ravnborg

    Andy Green
     

02 Apr, 2007

1 commit

  • Commit 2e3646e51b2d6415549b310655df63e7e0d7a080 changed the way the
    split config tree is built, but failed to also adjust fixdep accordingly
    - if changing a config option from or to m, files referencing the
    respective CONFIG_..._MODULE (but not the corresponding CONFIG_...)
    didn't get rebuilt.

    The problem is that trisate symbol are represent with three different
    symbols:
    SYMBOL=n => no symbol defined
    SYMBOL=y => CONFIG_SYMBOL defined to '1'
    SYMBOL=m => CONFIG_SYMBOL_MODULE defined to '1'

    But conf_split_config do not distingush between the =y and =m case, so
    only the =y case is honoured.

    This is fixed in fixdep so when a CONFIG symbol with _MODULE is found we
    skip that part and only look for the CONFIG_SYMBOL version.

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

    Jan Beulich
     

19 Feb, 2006

1 commit

  • While the recent change to also escape # symbols when storing C-file
    compilation command lines was helpful, it should be in effect for all
    command lines, as much as the dollar escaping should be in effect for
    C-source compilation commands. Additionally, for better readability and
    maintenance, consolidating all the escaping (single quotes, dollars,
    and now sharps) was also desirable.

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

    Jan Beulich
     

26 Dec, 2005

1 commit


26 Jun, 2005

1 commit

  • scripts/ is full of mismatches between char* params an signed char* arguments,
    and viceversa. gcc4 now complaints loud about this. Patch below deletes all
    those 'signed'.

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J.A. Magallon
     

17 Apr, 2005

1 commit

  • 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!

    Linus Torvalds