| 
									
										
										
										
											2009-06-17 16:28:08 -07:00
										 |  |  | menu "GCOV-based kernel profiling" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config GCOV_KERNEL | 
					
						
							|  |  |  | 	bool "Enable gcov-based kernel profiling" | 
					
						
							| 
									
										
										
										
											2011-06-15 15:08:47 -07:00
										 |  |  | 	depends on DEBUG_FS | 
					
						
							| 
									
										
										
										
											2011-07-26 16:08:49 -07:00
										 |  |  | 	select CONSTRUCTORS if !UML | 
					
						
							| 
									
										
										
										
											2009-06-17 16:28:08 -07:00
										 |  |  | 	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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-12 16:57:44 -08:00
										 |  |  | config ARCH_HAS_GCOV_PROFILE_ALL | 
					
						
							|  |  |  | 	def_bool n | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-17 16:28:08 -07:00
										 |  |  | config GCOV_PROFILE_ALL | 
					
						
							|  |  |  | 	bool "Profile entire Kernel" | 
					
						
							|  |  |  | 	depends on GCOV_KERNEL | 
					
						
							| 
									
										
										
										
											2014-12-12 16:57:44 -08:00
										 |  |  | 	depends on ARCH_HAS_GCOV_PROFILE_ALL | 
					
						
							| 
									
										
										
										
											2009-06-17 16:28:08 -07:00
										 |  |  | 	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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-12 15:11:27 -08:00
										 |  |  | 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-17 16:28:08 -07:00
										 |  |  | endmenu |