22 May, 2007

4 commits

  • This should make it stop immediately after printing the _helpful_ error
    message, rather than continuing to spit out many pages more of 'CHECK
    include/linux/foo.h' before eventually coming to a halt with something
    less obvious.

    Now I get this...
    CHECK include/linux/smb_fs.h
    /shiny/git/linux-2.6/usr/include/linux/smb_fs.h requires linux/jiffies.h, which does not exist in exported headers
    make[2]: *** [/shiny/git/linux-2.6/usr/include/linux/.check.smb_fs.h] Error 1
    make[1]: *** [linux] Error 2
    make: *** [headers_check] Error 2

    Signed-off-by-if-Sam-says-so: David Woodhouse
    [ Sam had better say so! This made me waste way too much time. - Linus]
    Signed-off-by: Linus Torvalds

    David Woodhouse
     
  • This reverts commit f892b7d480eec809a5dfbd6e65742b3f3155e50e, which
    totally broke the build on x86 with CONFIG_RELOCATABLE (which, as far as
    I can tell, is the only case where it should even matter!) due to a
    SIGSEGV in modpost.

    Cc: Sam Ravnborg
    Cc: Atsushi Nemoto
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fix:
    mm/slab: fix section mismatch warning
    mm: fix section mismatch warnings
    init/main: use __init_refok to fix section mismatch
    kbuild: introduce __init_refok/__initdata_refok to supress section mismatch warnings
    all-archs: consolidate .data section definition in asm-generic
    all-archs: consolidate .text section definition in asm-generic
    kbuild: add "Section mismatch" warning whitelist for powerpc
    kbuild: make better section mismatch reports on i386, arm and mips
    kbuild: make modpost section warnings clearer
    kconfig: search harder for curses library in check-lxdialog.sh
    kbuild: include limits.h in sumversion.c for PATH_MAX
    powerpc: Fix the MODALIAS generation in modpost for of devices

    Linus Torvalds
     
  • Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     

19 May, 2007

9 commits

  • modpost had two cases hardcoded for mm/
    Shift over to __init_refok and kill the
    hardcoded function names in modpost.

    This has the drawback that the functions
    will always be kept no matter configuration.
    With previous code the function were placed in
    init section if configuration allowed it.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Kill a special case in modpost by introducing the
    __init_refok marker.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Throughout the kernel there are a few legitimite references
    to init or exit sections. Most of these are covered by the
    patterns included in modpost but a few nees special attention.
    To avoid hardcoding a lot of function names in modpost introduce
    a marker so relevant function/data can be marked.
    When modpost see a reference to a init/exit function from
    a function/data marked no warning will be issued.

    Idea from: Andrew Morton

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

    Sam Ravnborg
     
  • This patch fixes the following class of "Section mismatch" warnings when
    building powerpc platforms.

    WARNING: arch/powerpc/kernel/built-in.o - Section mismatch: reference to .init.data:.got2 from prom_entry (offset 0x0)
    WARNING: arch/powerpc/platforms/built-in.o - Section mismatch: reference to .init.text:mpc8313_rdb_probe from .machine.desc after 'mach_mpc8313_rdb' (at offset 0x4)
    ....

    Signed-off-by: Li Yang
    Signed-off-by: Sam Ravnborg

    Li Yang
     
  • On i386, ARM and MIPS, warn_sec_mismatch() sometimes fails to show
    usefull symbol name. This is because empty 'refsym' due to 0 r_addend
    value. This patch is to adjust r_addend value, consulting with
    apply_relocate() routine in kernel code.

    Without this patch:
    MODPOST vmlinux
    WARNING: init/built-in.o - Section mismatch: reference to .init.text: from .text between 'rest_init' (at offset 0xf4) and 'try_name'
    WARNING: mm/built-in.o - Section mismatch: reference to .init.text: from .text between 'kmem_cache_create' (at offset 0x18a39) and 'cache_reap'
    WARNING: mm/built-in.o - Section mismatch: reference to .init.text: from .text between 'kmem_cache_create' (at offset 0x18a6b) and 'cache_reap'

    With this patch:
    MODPOST vmlinux
    WARNING: mm/built-in.o - Section mismatch: reference to .init.text:set_up_list3s from .text between 'kmem_cache_create' (at offset 0x18a39) and 'cache_reap'
    WARNING: mm/built-in.o - Section mismatch: reference to .init.text:set_up_list3s from .text between 'kmem_cache_create' (at offset 0x18a6b) and 'cache_reap'

    Now modpost can detect "kernel_init" name (and whitelist it) and show
    "set_up_list3s" name.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Sam Ravnborg

    Atsushi Nemoto
     
  • Change modpost section mismatch warnings to be less confusing;
    model them on the binutils linker warnings which we all know how
    to interpret.

    Also, fix the wrong ordering of arguments for the final case -
    fromsec and refsymname were reversed.

    Signed-off-by: Russell King
    Acked-by: Acked-by: David S. Miller
    Signed-off-by: Sam Ravnborg

    Russell King
     
  • The check-lxdialog.sh script searches for "libFOO.so" which fails on OS X, due
    to their special naming of libraries like "libfoo.dylib". This patch turns
    the curses lib search into extensible loops and adds dylib as a valid
    extension.

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

    Mike Frysinger
     
  • POSIX says limits.h defines PATH_MAX so we should include it (which fixes
    compiling on some systems like OS X).

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

    Mike Frysinger
     
  • Since the devices may have multiple (or none) compatible properties,
    the uevent generated internally by the kernel may have multiple
    "C..." entries. So the MODALIAS stored in the module must have
    wilcard before and after the compatible entry.
    Also, if the 'compatible' field is not used for matching, there
    will be no 'C' and that must handled as well.

    The previous code handled all those case incorrectly and it
    "mostly" worked ... but not always.

    Signed-off-by: Sylvain Munaut
    Signed-off-by: Paul Mackerras
    Signed-off-by: Sam Ravnborg

    Sylvain Munaut
     

10 May, 2007

3 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)
    sound: convert "sound" subdirectory to UTF-8
    MAINTAINERS: Add cxacru website/mailing list
    include files: convert "include" subdirectory to UTF-8
    general: convert "kernel" subdirectory to UTF-8
    documentation: convert the Documentation directory to UTF-8
    Convert the toplevel files CREDITS and MAINTAINERS to UTF-8.
    remove broken URLs from net drivers' output
    Magic number prefix consistency change to Documentation/magic-number.txt
    trivial: s/i_sem /i_mutex/
    fix file specification in comments
    drivers/base/platform.c: fix small typo in doc
    misc doc and kconfig typos
    Remove obsolete fat_cvf help text
    Fix occurrences of "the the "
    Fix minor typoes in kernel/module.c
    Kconfig: Remove reference to external mqueue library
    Kconfig: A couple of grammatical fixes in arch/i386/Kconfig
    Correct comments in genrtc.c to refer to correct /proc file.
    Fix more "deprecated" spellos.
    Fix "deprecated" typoes.
    ...

    Fix trivial comment conflict in kernel/relay.c.

    Linus Torvalds
     
  • This will later allow an arch to add module specific information via linker
    generated tables instead of poking directly in the module object structure.

    Signed-off-by: Roman Zippel
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Get the kernel version string only once from the environment, thus slightly
    speeding up kernel-doc.

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

    Borislav Petkov
     

09 May, 2007

6 commits

  • Signed-off-by: Michael Opdenacker
    Signed-off-by: Adrian Bunk

    Michael Opdenacker
     
  • This patch shuts warnings of the sort:

    make -C /mnt/samsung_200/sam/kernel/trees/21-rc6/build \
    KBUILD_SRC=/mnt/samsung_200/sam/kernel/trees/21-rc6 \
    KBUILD_EXTMOD="" -f /mnt/samsung_200/sam/kernel/trees/21-rc6/Makefile mandocs
    make -f /mnt/samsung_200/sam/kernel/trees/21-rc6/scripts/Makefile.build obj=scripts/basic
    make -f /mnt/samsung_200/sam/kernel/trees/21-rc6/scripts/Makefile.build obj=Documentation/DocBook mandocs
    SRCTREE=/mnt/samsung_200/sam/kernel/trees/21-rc6/ /mnt/samsung_200/sam/kernel/trees/21-rc6/build/scripts/basic/docproc doc /mnt/samsung_200/sam/kernel/trees/21-rc6/Documentation/DocBook/wanbook.tmpl >Documentation/DocBook/wanbook.xml
    if grep -q refentry Documentation/DocBook/wanbook.xml; then xmlto man -m /mnt/samsung_200/sam/kernel/trees/21-rc6/Documentation/DocBook/stylesheet.xsl -o Documentation/DocBook/man Documentation/DocBook/wanbook.xml ; gzip -f Documentation/DocBook/man/*.9; fi
    Note: meta version: No productnumber or alternative sppp_close
    Note: meta version: No refmiscinfo@class=version sppp_close
    Note: Writing sppp_close.9
    Note: meta version: No productnumber or alternative sppp_open
    Note: meta version: No refmiscinfo@class=version sppp_open

    by adding a RefMiscInfo xml tag in the form of the current kernel version
    to the function, struct and enum definitions in files included by
    kernel-doc when building 'mandocs'. However, the version string appears
    truncated on the manpage due to some constraints in the xml DTD for the man
    header, I believe, for the troff output is truncated too.

    Signed-off-by: Borislav Petkov
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Borislav Petkov
     
  • Johannes Berg reported that struct names are not highlighted
    (bold, italic, etc.) in html kernel-doc output. (Also not in
    text-mode output, but I don't see that changing.)

    This patch adds the following:
    - highlight struct names in html output mode
    - highlight environment var. names in html output mode
    - indent struct fields in the original struct layout

    Signed-off-by: Randy Dunlap
    Cc: Johannes Berg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • In a different approach here's a patch that handles the special case of
    composite arithmetic expressions in array size initializers. With it,
    prior to pushing the split strings on the @first_arg array, I split the
    keywords before the array name as before and then keep the array name along
    with the subscript expression as a single whole element which gets pushed
    last. In this manner, kernel-doc produces correct output without removing
    whitespaces which makes the array subscripts unreadable in the docs.

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

    Borislav Petkov
     
  • Whitespace cleanup only: convert some series of spaces to tabs.

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

    Randy Dunlap
     
  • This patch is add white list into modpost.c for some functions and
    ia64's section to fix section mismatchs.

    sparse_index_alloc() and zone_wait_table_init() calls bootmem allocator
    at boot time, and kmalloc/vmalloc at hotplug time. If config
    memory hotplug is on, there are references of bootmem allocater(init text)
    from them (normal text). This is cause of section mismatch.

    Bootmem is called by many functions and it must be
    used only at boot time. I think __init of them should keep for
    section mismatch check. So, I would like to register sparse_index_alloc()
    and zone_wait_table_init() into white list.

    In addition, ia64's .machvec section is function table of some platform
    dependent code. It is mixture of .init.text and normal text. These
    reference of __init functions are valid too.

    Signed-off-by: Yasunori Goto
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yasunori Goto
     

08 May, 2007

1 commit

  • This adds support for the Analog Devices Blackfin processor architecture, and
    currently supports the BF533, BF532, BF531, BF537, BF536, BF534, and BF561
    (Dual Core) devices, with a variety of development platforms including those
    avaliable from Analog Devices (BF533-EZKit, BF533-STAMP, BF537-STAMP,
    BF561-EZKIT), and Bluetechnix! Tinyboards.

    The Blackfin architecture was jointly developed by Intel and Analog Devices
    Inc. (ADI) as the Micro Signal Architecture (MSA) core and introduced it in
    December of 2000. Since then ADI has put this core into its Blackfin
    processor family of devices. The Blackfin core has the advantages of a clean,
    orthogonal,RISC-like microprocessor instruction set. It combines a dual-MAC
    (Multiply/Accumulate), state-of-the-art signal processing engine and
    single-instruction, multiple-data (SIMD) multimedia capabilities into a single
    instruction-set architecture.

    The Blackfin architecture, including the instruction set, is described by the
    ADSP-BF53x/BF56x Blackfin Processor Programming Reference
    http://blackfin.uclinux.org/gf/download/frsrelease/29/2549/Blackfin_PRM.pdf

    The Blackfin processor is already supported by major releases of gcc, and
    there are binary and source rpms/tarballs for many architectures at:
    http://blackfin.uclinux.org/gf/project/toolchain/frs There is complete
    documentation, including "getting started" guides available at:
    http://docs.blackfin.uclinux.org/ which provides links to the sources and
    patches you will need in order to set up a cross-compiling environment for
    bfin-linux-uclibc

    This patch, as well as the other patches (toolchain, distribution,
    uClibc) are actively supported by Analog Devices Inc, at:
    http://blackfin.uclinux.org/

    We have tested this on LTP, and our test plan (including pass/fails) can
    be found at:
    http://docs.blackfin.uclinux.org/doku.php?id=testing_the_linux_kernel

    [m.kozlowski@tuxland.pl: balance parenthesis in blackfin header files]
    Signed-off-by: Bryan Wu
    Signed-off-by: Mariusz Kozlowski
    Signed-off-by: Aubrey Li
    Signed-off-by: Jie Zhang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bryan Wu
     

07 May, 2007

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (38 commits)
    kconfig: fix mconf segmentation fault
    kbuild: enable use of code from a different dir
    kconfig: error out if recursive dependencies are found
    kbuild: scripts/basic/fixdep segfault on pathological string-o-death
    kconfig: correct minor typo in Kconfig warning message.
    kconfig: fix path to modules.txt in Kconfig help
    usr/Kconfig: fix typo
    kernel-doc: alphabetically-sorted entries in index.html of 'htmldocs'
    kbuild: be more explicit on missing .config file
    kbuild: clarify the creation of the LOCALVERSION_AUTO string.
    kbuild: propagate errors from find in scripts/gen_initramfs_list.sh
    kconfig: refer to qt3 if we cannot find qt libraries
    kbuild: handle compressed cpio initramfs-es
    kbuild: ignore section mismatch warning for references from .paravirtprobe to .init.text
    kbuild: remove stale comment in modpost.c
    kbuild/mkuboot.sh: allow spaces in CROSS_COMPILE
    kbuild: fix make mrproper for Documentation/DocBook/man
    kbuild: remove kconfig binaries during make mrproper
    kconfig/menuconfig: do not hardcode '.config'
    kbuild: override build timestamp & version
    ...

    Linus Torvalds
     

06 May, 2007

3 commits


03 May, 2007

13 commits

  • 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
     
  • Correct a minor spelling mistake in a Kconfig warning message.

    Signed-off-by: Robert P. J. Day
    Signed-off-by: Sam Ravnborg

    Robert P. J. Day
     
  • Somewhat in reponse to kernel bugzilla #8197, be more explicit about
    why 'make all' fails when there is no .config file.

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

    Randy Dunlap
     
  • If the find(1) in scripts/gen_initramfs_list.sh generates any errors, it
    will cause gen_initramfs_list.sh to fail (because of "set -e"), however
    the errors from find are not printed to the user. This is rather confusing:

    ~/src/powerpc$ make O=~/build/powerpc-cell32/
    make[2]: *** [usr/initramfs_data.cpio.gz] Error 1
    make[1]: *** [usr] Error 2
    make[1]: *** Waiting for unfinished jobs....
    make[1]: *** wait: No child processes. Stop.
    make: *** [_all] Error 2

    It is much easier to work out what the problem is if we let the errors
    from find hit the console, eg:

    ~/src/powerpc$ make O=~/build/powerpc-cell32/
    find: /home/michael/initramfs-source/home: Permission denied
    find: /home/michael/initramfs-source/lost+found: Permission denied
    find: /home/michael/initramfs-source/opt: Permission denied
    find: /home/michael/initramfs-source/root: Permission denied
    make[2]: *** [usr/initramfs_data.cpio.gz] Error 1
    make[1]: *** [usr] Error 2
    make[1]: *** Waiting for unfinished jobs....
    make[1]: *** wait: No child processes. Stop.
    make: *** [_all] Error 2

    Signed-off-by: Michael Ellerman
    Signed-off-by: Sam Ravnborg

    Michael Ellerman
     
  • We do not support qt4 (yet) so the simple fix was to warn
    that qt3 are missing.
    The better fix would have been to implment qt4 support
    but that has failed so far.

    This solves http://bugzilla.kernel.org/show_bug.cgi?id=8277

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Make kbuild handle compressed cpio initramfs-es. An already compressed
    cpio is copied directly to usr/, while a non-compressed cpio is filtered
    through gzip (no changes here) on its way to usr/.

    If the user has created a compressed cpio by other means, this saves him
    from uncompressing it, just to be compressed again by kbuild.

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

    Alex Landau
     
  • Added on request from: Rusty Russell

    Signed-off-by: Sam Ravnborg
    Cc: Rusty Russell

    Sam Ravnborg
     
  • Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • I'm currently using CROSS_COMPILE="ccache arm-linux-". With that the bash
    builtin command "type" searches for ccache and arm-linux-mkimage and so sets
    MKIMAGE="/path/to/ccache" as I don't have arm-linux-mkimage. Then the script
    dies with an error, that ccache doesn't support the argument -A.

    This patch adds some quoting such that it works again for me.

    Please note that this patch doesn't help you if you use ${CROSSCOMPILE}-mkimage
    and ccache as mkuboot.sh now searches for the command
    "ccache arm-linux-mkimage".

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Sam Ravnborg

    Uwe kleine-König
     
  • Nigel Cunningham noticed
    that 'make mrproper' did not remove mconf.
    Fixed so we now remove all relevant binaries.

    Signed-off-by: Sam Ravnborg
    Cc: Nigel Cunningham

    Sam Ravnborg
     
  • Export and use the function conf_get_configname()
    to retreive the default configuration filename.

    Suggested by: Roman Zippel

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Introduce KBUILD_BUILD_VERSION to make it
    possible to override kernel build version
    during build time.

    Introduce KBUILD_BUILD_TIMESTAMP to make it
    possible to override kernel build timestamp
    during build time.

    But variables are useful mainly by distros
    that want to pass info from an SCM when
    building the kernel. Timestamp could be last
    checkin date for a file etc.

    The idea came from Olaf Hering

    Cc: Olaf Hering
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Most system calls seems to get added to i386 first. This patch
    automatically generates a warning for any new system call which is
    implemented on i386 but not the architecture currently being compiled.
    On PowerPC at the moment, for example, it results in these warnings:
    init/missing_syscalls.h:935:3: warning: #warning syscall sync_file_range not implemented
    init/missing_syscalls.h:947:3: warning: #warning syscall getcpu not implemented
    init/missing_syscalls.h:950:3: warning: #warning syscall epoll_pwait not implemented

    The file scripts/checksyscalls.sh list a number of legacy system calls
    that are ignored because they only makes sense on i386 systems.

    Other contributors to this patch are Russell King
    and Stéphane Jourdois

    Signed-off-by: David Woodhouse
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg