menu "GCOV-based kernel profiling" 
 | 
  
 | 
config GCOV_KERNEL 
 | 
    bool "Enable gcov-based kernel profiling" 
 | 
    depends on DEBUG_FS 
 | 
    select CONSTRUCTORS if !UML 
 | 
    default n 
 | 
    ---help--- 
 | 
    This option enables gcov-based code profiling (e.g. for code coverage 
 | 
    measurements). 
 | 
  
 | 
    If unsure, say N. 
 | 
  
 | 
    Additionally specify CONFIG_GCOV_PROFILE_ALL=y to get profiling data 
 | 
    for the entire kernel. To enable profiling for specific files or 
 | 
    directories, add a line similar to the following to the respective 
 | 
    Makefile: 
 | 
  
 | 
    For a single file (e.g. main.o): 
 | 
            GCOV_PROFILE_main.o := y 
 | 
  
 | 
    For all files in one directory: 
 | 
            GCOV_PROFILE := y 
 | 
  
 | 
    To exclude files from being profiled even when CONFIG_GCOV_PROFILE_ALL 
 | 
    is specified, use: 
 | 
  
 | 
            GCOV_PROFILE_main.o := n 
 | 
    and: 
 | 
            GCOV_PROFILE := n 
 | 
  
 | 
    Note that the debugfs filesystem has to be mounted to access 
 | 
    profiling data. 
 | 
  
 | 
config ARCH_HAS_GCOV_PROFILE_ALL 
 | 
    def_bool n 
 | 
  
 | 
config GCOV_PROFILE_ALL 
 | 
    bool "Profile entire Kernel" 
 | 
    depends on !COMPILE_TEST 
 | 
    depends on GCOV_KERNEL 
 | 
    depends on ARCH_HAS_GCOV_PROFILE_ALL 
 | 
    default n 
 | 
    ---help--- 
 | 
    This options activates profiling for the entire kernel. 
 | 
  
 | 
    If unsure, say N. 
 | 
  
 | 
    Note that a kernel compiled with profiling flags will be significantly 
 | 
    larger and run slower. Also be sure to exclude files from profiling 
 | 
    which are not linked to the kernel image to prevent linker errors. 
 | 
  
 | 
choice 
 | 
    prompt "Specify GCOV format" 
 | 
    depends on GCOV_KERNEL 
 | 
    depends on CC_IS_GCC 
 | 
    ---help--- 
 | 
    The gcov format is usually determined by the GCC version, and the 
 | 
    default is chosen according to your GCC version. However, there are 
 | 
    exceptions where format changes are integrated in lower-version GCCs. 
 | 
    In such a case, change this option to adjust the format used in the 
 | 
    kernel accordingly. 
 | 
  
 | 
config GCOV_FORMAT_3_4 
 | 
    bool "GCC 3.4 format" 
 | 
    depends on GCC_VERSION < 40700 
 | 
    ---help--- 
 | 
    Select this option to use the format defined by GCC 3.4. 
 | 
  
 | 
config GCOV_FORMAT_4_7 
 | 
    bool "GCC 4.7 format" 
 | 
    ---help--- 
 | 
    Select this option to use the format defined by GCC 4.7. 
 | 
  
 | 
endchoice 
 | 
  
 | 
endmenu 
 |