27 Jun, 2006

2 commits

  • This reverts commit e5c44fd88c146755da6941d047de4d97651404a9.

    Thanks to Daniel Ritz and Michal Piotrowski for noticing the problem.

    Daniel says:

    "[The] reason is a recent change that made modules always shows as
    module.mod. it breaks modprobe and probably many scripts..besides
    lsmod looking horrible

    stuff like this in modprobe.conf:
    install pcmcia_core /sbin/modprobe --ignore-install pcmcia_core; /sbin/modprobe pcmcia
    makes modprobe fork/exec endlessly calling itself...until oom
    interrupts it"

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (40 commits)
    kbuild: trivial fixes in Makefile
    kbuild: adding symbols in Kconfig and defconfig to TAGS
    kbuild: replace abort() with exit(1)
    kbuild: support for %.symtypes files
    kbuild: fix silentoldconfig recursion
    kbuild: add option for stripping modules while installing them
    kbuild: kill some false positives from modpost
    kbuild: export-symbol usage report generator
    kbuild: fix make -rR breakage
    kbuild: append -dirty for updated but uncommited changes
    kbuild: append git revision for all untagged commits
    kbuild: fix module.symvers parsing in modpost
    kbuild: ignore make's built-in rules & variables
    kbuild: bugfix with initramfs
    kbuild: modpost build fix
    kbuild: check license compatibility when building modules
    kbuild: export-type enhancement to modpost.c
    kbuild: add dependency on kernel.release to the package targets
    kbuild: `make kernelrelease' speedup
    kconfig: KCONFIG_OVERWRITECONFIG
    ...

    Linus Torvalds
     

26 Jun, 2006

7 commits

  • kernel-doc struct fields should be consistently called "Members", not
    "Arguments", so switch man-mode output to use "Members" like all of the
    other formats do.

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

    Randy Dunlap
     
  • For kernel-doc output modes of text and man, do not use XML escapes for
    less-than, greater-than, and ampersand characters. I.e., leave the text
    and man output clean and readable.

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

    Randy Dunlap
     
  • When the verbose (-v) option is used with scripts/kernel-doc, this option
    reports when the kernel-doc format is malformed and apparently contains
    function description lines before function parameters. In these cases, the
    kernel-doc script will print something like: Warning(filemap.c:335):
    contents before sections

    I have fixed the problems in mm/filemap.c and added lots of kernel-doc to
    that file (posted to the linux-mm mailing list Mon. 2006-June-12).

    The real goal (as requested by Andrew Morton) is to allow the short
    function description to be more than one line long. This patch is both a
    kernel-doc checker and a tool en route to that goal.

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

    Randy Dunlap
     
  • Finding "init_module" high stack usage problems is challenging when there
    are over 1600 "init_module" functions in the kernel tree, so make
    checkstack.pl print out the filename where the stack usage occurs. This is
    useful for code built as loadable modules.

    For built-in code, it just prints the kernel image file name, like
    "vmlinux". Examples:

    (before patch:)
    0x0000000d callback: 1928
    0xffffffff81678c09 huft_build: 1560
    0x0018 init_module: 1512

    (after patch:)
    0x0000000d callback [divacapi]: 1928
    0xffffffff81678c09 huft_build [vmlinux]: 1560
    0x0018 init_module [hdaps]: 1512

    Also change one if-series to use elsif to cut down on unneeded tests.

    Signed-off-by: Randy Dunlap
    Acked-by: Joern Engel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix indentation.
    Quote a brace '{' so that vi won't be fooled by it.

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

    Randy Dunlap
     
  • Drop leading space of kernel-doc section contents.

    "Section" data (contents) are split from the section header
    (e.g., Note: below is a section header:
    * Note: list_empty on entry does not return true after this, the entry is
    * in an undefined state.
    ).

    Currently the data/contents begins with a space and is left that way, which
    causes it to look bad when printed (in text mode; see example below), so
    just remove the leading space.

    Note:

    list_empty on entry does not return true after this, the entry is in an
    undefined state.

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

    Randy Dunlap
     
  • Upgrade scripts/bloat-o-meter to handle the names gcc 4 gives static
    symbols.

    Signed-off-by: Rob Landley
    Signed-off-by: Matt Mackall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rob Landley
     

25 Jun, 2006

6 commits

  • We have had no use of the coredump file for a long time.
    So just exit(1) and avoid coredumping.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Here is a patch that adds a new -T option to genksyms for generating dumps of
    the type definition that makes up the symbol version hashes. This allows to
    trace modversion changes back to what caused them. The dump format is the
    name of the type defined, followed by its definition (which is almost C):

    s#list_head struct list_head { s#list_head * next , * prev ; }

    The s#, u#, e#, and t# prefixes stand for struct, union, enum, and typedef.
    The exported symbols do not define types, and thus do not have an x# prefix:

    nfs4_acl_get_whotype int nfs4_acl_get_whotype ( char * , t#u32 )

    The symbol type defintion of a single file can be generated with:

    make fs/jbd/journal.symtypes

    If KBUILD_SYMTYPES is defined, all the *.symtypes of all object files that
    export symbols are generated.

    The single *.symtypes files can be combined into a single file after a kernel
    build with a script like the following:

    for f in $(find -name '*.symtypes' | sort); do
    f=${f#./}
    echo "/* ${f%.symtypes}.o */"
    cat $f
    echo
    done \
    | sed -e '\:UNKNOWN:d' \
    -e 's:[,;] }:}:g' \
    -e 's:\([[({]\) :\1:g' \
    -e 's: \([])},;]\):\1:g' \
    -e 's: $::' \
    $f \
    | awk '
    /^.#/ { if (defined[$1] == $0) {
    print $1
    next
    }
    defined[$1] = $0
    }
    { print }
    '

    When the kernel ABI changes, diffing individual *.symtype files, or the
    combined files, against each other will show which symbol changes caused the
    ABI changes. This can save a tremendous amount of time.

    Dump the types that make up modversions

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

    Andreas Gruenbacher
     
  • 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
     
  • Signed-off-by: Al Viro
    Signed-off-by: Sam Ravnborg

    Al Viro
     
  • The following patch provides the ability to generate a report of
    (1) All the exported symbols and their in-kernel-module usage count
    (2) For each module, lists the modules and their exported symbols, on
    which it depends.

    the report can be generated by executing:
    perl scripts/export_report

    The tool warns if the modules are not build using MODVERSIONING.

    Signed-off-by: Ram Pai
    Signed-off-by: Sam Ravnborg

    Ram Pai
     
  • make failed to supply the filename when using make -rR and using $(*F)
    to get target filename without extension.
    This bug was not reproduceable in small scale but using:
    $(basename $(notdir $@)) fixes it with same functionality.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

17 Jun, 2006

3 commits


10 Jun, 2006

3 commits

  • scripts/mod/modpost.c: In function `check_license':
    scripts/mod/modpost.c:1094: parse error before `const'
    scripts/mod/modpost.c:1095: `basename' undeclared (first use in this function)
    scripts/mod/modpost.c:1095: (Each undeclared identifier is reported only once
    scripts/mod/modpost.c:1095: for each function it appears in.)

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

    Andrew Morton
     
  • Modules that uses GPL symbols can no longer be build with kbuild,
    the build will fail during the modpost step.
    When a GPL-incompatible module uses a EXPORT_SYMBOL_GPL_FUTURE symbol
    then warn during modpost so author are actually notified.

    The actual license compatibility check is shared with the kernel
    to make sure it is in sync.

    Patch originally from: Andreas Gruenbacher and
    Ram Pai

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • This patch provides the ability to identify the export-type of each
    exported symbols in Module.symvers.

    NOTE: It updates the Module.symvers file with the additional
    information as shown below.

    0x0f8b92af platform_device_add_resources vmlinux EXPORT_SYMBOL_GPL
    0xcf7efb2a ethtool_op_set_tx_csum vmlinux EXPORT_SYMBOL

    Signed-off-by: Andreas Gruenbacher
    Signed-off-by: Ram Pai
    Signed-off-by: Avantika Mathur
    Signed-off-by: Valdis Kletnieks
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Ram Pai
     

09 Jun, 2006

19 commits

  • If you set KCONFIG_OVERWRITECONFIG in environment, Kconfig will not break
    symlinks when .config is a symlink to somewhere else.

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

    Roman Zippel
     
  • If the beginning Kconfig file is missing, config segfaults so it might as
    well exit after the error message.

    Signed-off-by: Randy Dunlap
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Randy Dunlap
     
  • Kconfig does its own indentation of menu prompts, so warn about and ignore
    leading whitespace. Remove also a few unnecessary newlines after other
    warning prints.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • If clicking on of the links, which leads to a visible prompt, jump to it in
    the symbol list.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • Extend the expression print helper function to allow customization of the
    symbol output and use it to add links to the info window.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • This allows to configure every symbol list and info window separately via a
    popup menu, these settings are also separately saved and restored. Cleanup
    the ConfigSettings class a bit to reduce the number of #ifdef.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • Implement a simple search request for xconfig. Currently the capabilities are
    rather simple (the same as menuconfig).

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • This makes it possible to change two options which were hardcoded sofar.
    1. Any symbol can now take the role of CONFIG_MODULES
    2. The more useful option is to change the list of default file names,
    which kconfig uses to load the base configuration if .config isn't
    available.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • This adds the general framework to the parser to define options for config
    symbols with a syntax like:

    config FOO
    option bar[="arg"]

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • Now that kconfig can load multiple configurations, it becomes simple to
    integrate the split config step, by simply comparing the new .config file with
    the old auto.conf (and then saving the new auto.conf). A nice side effect is
    that this saves a bit of disk space and cache, as no data needs to be read
    from or saved into the splitted config files anymore (e.g. include/config is
    now 648KB instead of 5.2MB).

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • Extend conf_read_simple() so it can load multiple configurations.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • Extend struct symbol to allow storing multiple default values, which can be
    used to hold multiple configurations.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • The SYMBOL_{YES,MOD,NO} are not really used anymore (they were more used be
    the cml1 converter), so just remove them.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • This fixes one of the worst kbuild warts left - the broken dependencies used
    to check and regenerate the .config file. This was done via an indirect
    dependency and the .config itself had an empty command, which can cause make
    not to reread the changed .config file.

    Instead of this we generate now a new file include/config/auto.conf from
    .config, which is used for kbuild and has the proper dependencies. It's also
    the main make target now for all files generated during this step (and thus
    replaces include/linux/autoconf.h).

    This also means we can now relax the syntax requirements for the .config file
    and we don't have to rewrite it all the time, i.e. silentoldconfig only
    writes .config now when it's necessary to keep it in sync with the Kconfig
    files and even this can be suppressed by setting the environment variable
    KCONFIG_NOSILENTUPDATE, so the update can (and must) be done manually.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • During loading special case the first common case (.config), be silent about
    it and otherwise mark it as a change that requires saving. Instead output
    that the file has been changed. IOW if conf does nothing (special), it's
    silent.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • Ignoring references to .init.text, .exit.text from the .plt section brought
    the false positives down to two warnings for a defconfig build of ARCH=um
    on x86_64.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Add ".smp_locks" section to whitelist as being safe from
    init and exit sections.

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

    Randy Dunlap
     
  • The default target for most powerpc platforms is zImage. The
    zImage however is in arch/powerpc/boot and the mkspec script
    was set up to get the kernel from the top level of the kernel
    tree. This patch copies vmlinux to arch/powerpc/boot and then
    copies the kernel to the tmp directory so the rpm can be made.

    Signed-off-by: Mike Wolf
    Signed-off-by: Sam Ravnborg

    Mike Wolf
     
  • When Makefile.host is included, $(obj-dirs) is subjected to the
    addprefix operation for the second time. Prefix only needs to be added
    to the newly added directories, but not to those that came from
    Makefile.lib.

    This causes the build system to create unneeded empty directories in the
    build tree when building in a separate directory. For instance,
    lib/lib/zlib_inflate is created in the build tree.

    Signed-off-by: Pavel Roskin
    Signed-off-by: Sam Ravnborg

    Pavel Roskin