|
@@ -25,6 +25,34 @@ config DEFAULT_MESSAGE_LOGLEVEL
|
|
|
that are auditing their logs closely may want to set it to a lower
|
|
|
priority.
|
|
|
|
|
|
+menu "Compile-time checks and compiler options"
|
|
|
+
|
|
|
+config DEBUG_INFO
|
|
|
+ bool "Compile the kernel with debug info"
|
|
|
+ depends on DEBUG_KERNEL
|
|
|
+ help
|
|
|
+ If you say Y here the resulting kernel image will include
|
|
|
+ debugging info resulting in a larger kernel image.
|
|
|
+ This adds debug symbols to the kernel and modules (gcc -g), and
|
|
|
+ is needed if you intend to use kernel crashdump or binary object
|
|
|
+ tools like crash, kgdb, LKCD, gdb, etc on the kernel.
|
|
|
+ Say Y here only if you plan to debug the kernel.
|
|
|
+
|
|
|
+ If unsure, say N.
|
|
|
+
|
|
|
+config DEBUG_INFO_REDUCED
|
|
|
+ bool "Reduce debugging information"
|
|
|
+ depends on DEBUG_INFO
|
|
|
+ help
|
|
|
+ If you say Y here gcc is instructed to generate less debugging
|
|
|
+ information for structure types. This means that tools that
|
|
|
+ need full debugging information (like kgdb or systemtap) won't
|
|
|
+ be happy. But if you merely need debugging information to
|
|
|
+ resolve line numbers there is no loss. Advantage is that
|
|
|
+ build directory object sizes shrink dramatically over a full
|
|
|
+ DEBUG_INFO build and compile times are reduced too.
|
|
|
+ Only works with newer gcc versions.
|
|
|
+
|
|
|
config ENABLE_WARN_DEPRECATED
|
|
|
bool "Enable __deprecated logic"
|
|
|
default y
|
|
@@ -52,20 +80,6 @@ config FRAME_WARN
|
|
|
Setting it to 0 disables the warning.
|
|
|
Requires gcc 4.4
|
|
|
|
|
|
-config MAGIC_SYSRQ
|
|
|
- bool "Magic SysRq key"
|
|
|
- depends on !UML
|
|
|
- help
|
|
|
- If you say Y here, you will have some control over the system even
|
|
|
- if the system crashes for example during kernel debugging (e.g., you
|
|
|
- will be able to flush the buffer cache to disk, reboot the system
|
|
|
- immediately or dump some status information). This is accomplished
|
|
|
- by pressing various keys while holding SysRq (Alt+PrintScreen). It
|
|
|
- also works on a serial console (on PC hardware at least), if you
|
|
|
- send a BREAK and then within 5 seconds a command keypress. The
|
|
|
- keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
|
|
|
- unless you really know what this hack does.
|
|
|
-
|
|
|
config STRIP_ASM_SYMS
|
|
|
bool "Strip assembler-generated symbols during link"
|
|
|
default n
|
|
@@ -156,6 +170,58 @@ config DEBUG_SECTION_MISMATCH
|
|
|
- Enable verbose reporting from modpost in order to help resolve
|
|
|
the section mismatches that are reported.
|
|
|
|
|
|
+#
|
|
|
+# Select this config option from the architecture Kconfig, if it
|
|
|
+# is preferred to always offer frame pointers as a config
|
|
|
+# option on the architecture (regardless of KERNEL_DEBUG):
|
|
|
+#
|
|
|
+config ARCH_WANT_FRAME_POINTERS
|
|
|
+ bool
|
|
|
+ help
|
|
|
+
|
|
|
+config FRAME_POINTER
|
|
|
+ bool "Compile the kernel with frame pointers"
|
|
|
+ depends on DEBUG_KERNEL && \
|
|
|
+ (CRIS || M68K || FRV || UML || \
|
|
|
+ AVR32 || SUPERH || BLACKFIN || MN10300 || METAG) || \
|
|
|
+ ARCH_WANT_FRAME_POINTERS
|
|
|
+ default y if (DEBUG_INFO && UML) || ARCH_WANT_FRAME_POINTERS
|
|
|
+ help
|
|
|
+ If you say Y here the resulting kernel image will be slightly
|
|
|
+ larger and slower, but it gives very useful debugging information
|
|
|
+ in case of kernel bugs. (precise oopses/stacktraces/warnings)
|
|
|
+
|
|
|
+config DEBUG_FORCE_WEAK_PER_CPU
|
|
|
+ bool "Force weak per-cpu definitions"
|
|
|
+ depends on DEBUG_KERNEL
|
|
|
+ help
|
|
|
+ s390 and alpha require percpu variables in modules to be
|
|
|
+ defined weak to work around addressing range issue which
|
|
|
+ puts the following two restrictions on percpu variable
|
|
|
+ definitions.
|
|
|
+
|
|
|
+ 1. percpu symbols must be unique whether static or not
|
|
|
+ 2. percpu variables can't be defined inside a function
|
|
|
+
|
|
|
+ To ensure that generic code follows the above rules, this
|
|
|
+ option forces all percpu variables to be defined as weak.
|
|
|
+
|
|
|
+endmenu # "Compiler options"
|
|
|
+
|
|
|
+config MAGIC_SYSRQ
|
|
|
+ bool "Magic SysRq key"
|
|
|
+ depends on !UML
|
|
|
+ help
|
|
|
+ If you say Y here, you will have some control over the system even
|
|
|
+ if the system crashes for example during kernel debugging (e.g., you
|
|
|
+ will be able to flush the buffer cache to disk, reboot the system
|
|
|
+ immediately or dump some status information). This is accomplished
|
|
|
+ by pressing various keys while holding SysRq (Alt+PrintScreen). It
|
|
|
+ also works on a serial console (on PC hardware at least), if you
|
|
|
+ send a BREAK and then within 5 seconds a command keypress. The
|
|
|
+ keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
|
|
|
+ unless you really know what this hack does.
|
|
|
+
|
|
|
config DEBUG_KERNEL
|
|
|
bool "Kernel debugging"
|
|
|
help
|
|
@@ -816,32 +882,6 @@ config DEBUG_BUGVERBOSE
|
|
|
of the BUG call as well as the EIP and oops trace. This aids
|
|
|
debugging but costs about 70-100K of memory.
|
|
|
|
|
|
-config DEBUG_INFO
|
|
|
- bool "Compile the kernel with debug info"
|
|
|
- depends on DEBUG_KERNEL
|
|
|
- help
|
|
|
- If you say Y here the resulting kernel image will include
|
|
|
- debugging info resulting in a larger kernel image.
|
|
|
- This adds debug symbols to the kernel and modules (gcc -g), and
|
|
|
- is needed if you intend to use kernel crashdump or binary object
|
|
|
- tools like crash, kgdb, LKCD, gdb, etc on the kernel.
|
|
|
- Say Y here only if you plan to debug the kernel.
|
|
|
-
|
|
|
- If unsure, say N.
|
|
|
-
|
|
|
-config DEBUG_INFO_REDUCED
|
|
|
- bool "Reduce debugging information"
|
|
|
- depends on DEBUG_INFO
|
|
|
- help
|
|
|
- If you say Y here gcc is instructed to generate less debugging
|
|
|
- information for structure types. This means that tools that
|
|
|
- need full debugging information (like kgdb or systemtap) won't
|
|
|
- be happy. But if you merely need debugging information to
|
|
|
- resolve line numbers there is no loss. Advantage is that
|
|
|
- build directory object sizes shrink dramatically over a full
|
|
|
- DEBUG_INFO build and compile times are reduced too.
|
|
|
- Only works with newer gcc versions.
|
|
|
-
|
|
|
config DEBUG_WRITECOUNT
|
|
|
bool "Debug filesystem writers count"
|
|
|
depends on DEBUG_KERNEL
|
|
@@ -896,27 +936,6 @@ config DEBUG_CREDENTIALS
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
-#
|
|
|
-# Select this config option from the architecture Kconfig, if it
|
|
|
-# is preferred to always offer frame pointers as a config
|
|
|
-# option on the architecture (regardless of KERNEL_DEBUG):
|
|
|
-#
|
|
|
-config ARCH_WANT_FRAME_POINTERS
|
|
|
- bool
|
|
|
- help
|
|
|
-
|
|
|
-config FRAME_POINTER
|
|
|
- bool "Compile the kernel with frame pointers"
|
|
|
- depends on DEBUG_KERNEL && \
|
|
|
- (CRIS || M68K || FRV || UML || \
|
|
|
- AVR32 || SUPERH || BLACKFIN || MN10300 || METAG) || \
|
|
|
- ARCH_WANT_FRAME_POINTERS
|
|
|
- default y if (DEBUG_INFO && UML) || ARCH_WANT_FRAME_POINTERS
|
|
|
- help
|
|
|
- If you say Y here the resulting kernel image will be slightly
|
|
|
- larger and slower, but it gives very useful debugging information
|
|
|
- in case of kernel bugs. (precise oopses/stacktraces/warnings)
|
|
|
-
|
|
|
config BOOT_PRINTK_DELAY
|
|
|
bool "Delay each boot printk message by N milliseconds"
|
|
|
depends on DEBUG_KERNEL && PRINTK && GENERIC_CALIBRATE_DELAY
|
|
@@ -1100,21 +1119,6 @@ config DEBUG_BLOCK_EXT_DEVT
|
|
|
|
|
|
Say N if you are unsure.
|
|
|
|
|
|
-config DEBUG_FORCE_WEAK_PER_CPU
|
|
|
- bool "Force weak per-cpu definitions"
|
|
|
- depends on DEBUG_KERNEL
|
|
|
- help
|
|
|
- s390 and alpha require percpu variables in modules to be
|
|
|
- defined weak to work around addressing range issue which
|
|
|
- puts the following two restrictions on percpu variable
|
|
|
- definitions.
|
|
|
-
|
|
|
- 1. percpu symbols must be unique whether static or not
|
|
|
- 2. percpu variables can't be defined inside a function
|
|
|
-
|
|
|
- To ensure that generic code follows the above rules, this
|
|
|
- option forces all percpu variables to be defined as weak.
|
|
|
-
|
|
|
config NOTIFIER_ERROR_INJECTION
|
|
|
tristate "Notifier error injection"
|
|
|
depends on DEBUG_KERNEL
|