1. 20 6月, 2009 4 次提交
  2. 19 6月, 2009 1 次提交
    • P
      gcov: add gcov profiling infrastructure · 2521f2c2
      Peter Oberparleiter 提交于
      Enable the use of GCC's coverage testing tool gcov [1] with the Linux
      kernel.  gcov may be useful for:
      
       * debugging (has this code been reached at all?)
       * test improvement (how do I change my test to cover these lines?)
       * minimizing kernel configurations (do I need this option if the
         associated code is never run?)
      
      The profiling patch incorporates the following changes:
      
       * change kbuild to include profiling flags
       * provide functions needed by profiling code
       * present profiling data as files in debugfs
      
      Note that on some architectures, enabling gcc's profiling option
      "-fprofile-arcs" for the entire kernel may trigger compile/link/
      run-time problems, some of which are caused by toolchain bugs and
      others which require adjustment of architecture code.
      
      For this reason profiling the entire kernel is initially restricted
      to those architectures for which it is known to work without changes.
      This restriction can be lifted once an architecture has been tested
      and found compatible with gcc's profiling. Profiling of single files
      or directories is still available on all platforms (see config help
      text).
      
      [1] http://gcc.gnu.org/onlinedocs/gcc/Gcov.htmlSigned-off-by: NPeter Oberparleiter <oberpar@linux.vnet.ibm.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Huang Ying <ying.huang@intel.com>
      Cc: Li Wei <W.Li@Sun.COM>
      Cc: Michael Ellerman <michaele@au1.ibm.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Heiko Carstens <heicars2@linux.vnet.ibm.com>
      Cc: Martin Schwidefsky <mschwid2@linux.vnet.ibm.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: WANG Cong <xiyou.wangcong@gmail.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2521f2c2
  3. 17 6月, 2009 12 次提交
  4. 16 6月, 2009 2 次提交
  5. 15 6月, 2009 7 次提交
  6. 12 6月, 2009 3 次提交
  7. 10 6月, 2009 11 次提交
    • R
      kernel-doc: cleanup perl script · b9d97328
      Randy Dunlap 提交于
      Various cleanups of scripts/kernel-doc:
      - don't use **/ as an ending kernel-doc block since it's not preferred;
      - typos/spellos
      - add whitespace around ==, after comma, & around . operator;
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      b9d97328
    • R
      kbuild: fix headers_exports with boolean expression · eedc9d83
      Russell King 提交于
      When we had code like this in a header unifdef failed to
      deduct that the expression was always false - and we had code exported
      that was not intended for userspace.
      
      #if defined(__KERNEL__) && !defined(__ASSEMBLY__)
        int a;
      #endif
      
      This commit implment support in unidef which allows it to work out if
      an #if expression always evaluates true or false for symbols which
      are being undefined/always defined.
      
      The patch is slightly more complicated than I'd hoped because unifdef
      needs to see lines fully evaluated - doing otherwise causes it to
      mark the line as "dirty" and copy it over no matter what.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      eedc9d83
    • A
      kbuild/headers_check: refine extern check · 67b7ebe0
      Amerigo Wang 提交于
      'extern' checking information is not clear, refine it.
      Plus, fix a comment.
      Signed-off-by: NWANG Cong <amwang@redhat.com>
      [sam: redid the extern error message]
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      67b7ebe0
    • S
      kbuild: fix "Argument list too long" error for "make headers_check", · 7211b8b9
      Sergei Poselenov 提交于
      I'm trying to install kernel headers to build a cross-toolchain, but got
      the following:
      
      make ARCH=arm
      INSTALL_HDR_PATH=/work/psl/eldk-builds/arm-2009-04-21/work/var/tmp/crosstool-0.43-3-root/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/
      +arm-linux-gnueabi/arm-linux-gnueabi/
      headers_check
      ...
        CHECK   include/linux/raid (2 files)
        CHECK   include/linux/spi (1 files)
        CHECK   include/linux/sunrpc (1 files)
        CHECK   include/linux/tc_act (6 files)
        CHECK   include/linux/tc_ematch (4 files)
        CHECK   include/linux/usb (8 files)
      make[2]: execvp: /bin/sh: Argument list too long
      make[2]: ***
      [/work/psl/eldk-builds/arm-2009-04-21/work/var/tmp/crosstool-0.43-3-root/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueab
      +i/arm-linux-gnueabi//include/linux/.check]
      Error 127
      make[1]: *** [linux] Error 2
      make: *** [headers_check] Error 2
      ->
      
      Introduce use of xargs to fix this.
      Signed-off-by: NSergei Poselenov <sposelenov@emcraft.com>
      Cc: Wolfgang Denk <wd@denx.de>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      7211b8b9
    • D
      Remove bashisms from scripts · bdefe35d
      dann frazier 提交于
      The '-e' option to echo and brace expansion are not guaranteed to be supported
      by a POSIX-compliant /bin/sh (e.g. dash)
      Signed-off-by: Ndann frazier <dannf@debian.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      bdefe35d
    • S
      kbuild: add hint about __refdata to modpost · 8b8b76c0
      Sam Ravnborg 提交于
      As requested by Guennadi Liakhovetski
      
      Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      8b8b76c0
    • R
      scripts/headers_check.pl: correct RE in header CONFIG leak check · 1581c1ce
      Robert P. J. Day 提交于
      Correct the regular expression in scripts/headers_check.pl to include '_'
      as a valid character in the class; otherwise, the check will report a
      "leaked" symbol of CONFIG_A_B_C as merely CONFIG_A.
      
      This patch will make no difference whatsoever in the current kernel tree
      as the call to the perl routine that does that check is currently
      commented out:
      
                      &check_include();
                      &check_asm_types();
                      &check_sizetypes();
                      &check_prototypes();
                      # Dropped for now. Too much noise &check_config();
      
      However, I noticed that problem when I was building the yum downloadable
      kernel source rpm for fedora 11 (beta), which *does* run that check, and
      that's where the problem became obvious.
      Signed-off-by: NRobert P. J. Day <rpjday@crashcourse.ca>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      1581c1ce
    • M
      kconfig: do not hardcode "include/config/auto.conf" filename · 12122f62
      Markus Heidelberg 提交于
      Regardless of KCONFIG_AUTOCONFIG, the filename written as a Make target
      into "include/config/auto.conf.cmd" was always the default one.
      
      Of course this doesn't make it work for the Kernel kbuild system, since
      there the filename is hardcoded at several places in the Makefiles.
      Signed-off-by: NMarkus Heidelberg <markus.heidelberg@web.de>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      12122f62
    • M
      kconfig: do not hardcode ".config" filename · 284026cd
      Markus Heidelberg 提交于
      Rather than hardcoding ".config" use conf_get_configname(), which also
      respects the environment variable KCONFIG_CONFIG.
      
      This fixes "make silentoldconfig" when KCONFIG_CONFIG is used and also
      suggests the given filename for "Load" and "Save as" in qconf.
      Signed-off-by: NMarkus Heidelberg <markus.heidelberg@web.de>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      284026cd
    • M
      kconfig qconf: fix the type of the desktop widget · 8d90c97e
      Markus Heidelberg 提交于
      QApplication::desktop() returns a pointer to QDesktopWidget, not to
      QWidget.
      
      Fixes the following compiler error after a quick conversion with 'qt3to4',
      which occured with g++ 3.4.6 and 4.1.2, but not anymore with 4.3.2.
      
      scripts/kconfig/qconf.cc: In constructor 'ConfigMainWindow::ConfigMainWindow()':
      scripts/kconfig/qconf.cc:1289: error: cannot convert 'QDesktopWidget*' to 'QWidget*' in initialization
      Signed-off-by: NMarkus Heidelberg <markus.heidelberg@web.de>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      8d90c97e
    • M
      kconfig qconf: add namespace for use of Key_ enum values · fbb86374
      Markus Heidelberg 提交于
      They are defined in the 'Qt' namespace.
      
      Fixes the following compiler errors after a quick conversion with 'qt3to4',
      which occured with g++ 3.4.6 and 4.1.2, but not anymore with 4.3.2.
      
      scripts/kconfig/qconf.cc: In member function 'virtual void ConfigLineEdit::keyPressEvent(QKeyEvent*)':
      scripts/kconfig/qconf.cc:311: error: 'Key_Escape' was not declared in this scope
      scripts/kconfig/qconf.cc:313: error: 'Key_Return' was not declared in this scope
      scripts/kconfig/qconf.cc:314: error: 'Key_Enter' was not declared in this scope
      
      scripts/kconfig/qconf.cc: In member function 'virtual void ConfigList::keyPressEvent(QKeyEvent*)':
      scripts/kconfig/qconf.cc:653: error: 'Key_Escape' was not declared in this scope
      scripts/kconfig/qconf.cc:666: error: 'Key_Return' was not declared in this scope
      scripts/kconfig/qconf.cc:667: error: 'Key_Enter' was not declared in this scope
      scripts/kconfig/qconf.cc:681: error: 'Key_Space' was not declared in this scope
      scripts/kconfig/qconf.cc:684: error: 'Key_N' was not declared in this scope
      scripts/kconfig/qconf.cc:687: error: 'Key_M' was not declared in this scope
      scripts/kconfig/qconf.cc:690: error: 'Key_Y' was not declared in this scope
      
      scripts/kconfig/qconf.cc: In constructor 'ConfigMainWindow::ConfigMainWindow()':
      scripts/kconfig/qconf.cc:1329: error: 'CTRL' was not declared in this scope
      scripts/kconfig/qconf.cc:1329: error: 'Key_Q' was not declared in this scope
      scripts/kconfig/qconf.cc:1331: error: 'Key_L' was not declared in this scope
      scripts/kconfig/qconf.cc:1333: error: 'Key_S' was not declared in this scope
      scripts/kconfig/qconf.cc:1340: error: 'Key_F' was not declared in this scope
      Signed-off-by: NMarkus Heidelberg <markus.heidelberg@web.de>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      fbb86374