| 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 |
| default GCOV_FORMAT_AUTODETECT |
| ---help--- |
| The gcov format is usually determined by the GCC version, but there are |
| exceptions where format changes are integrated in lower-version GCCs. |
| In such a case use this option to adjust the format used in the kernel |
| accordingly. |
| |
| If unsure, choose "Autodetect". |
| |
| config GCOV_FORMAT_AUTODETECT |
| bool "Autodetect" |
| ---help--- |
| Select this option to use the format that corresponds to your GCC |
| version. |
| |
| config GCOV_FORMAT_3_4 |
| bool "GCC 3.4 format" |
| ---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 |