OSDN Git Service

Kconfig.debug: make DEBUG_INFO selectable from a choice
[uclinux-h8/linux.git] / lib / Kconfig.debug
index 14b89aa..6c84ef6 100644 (file)
@@ -208,20 +208,87 @@ config DEBUG_BUGVERBOSE
 
 endmenu # "printk and dmesg options"
 
+config DEBUG_KERNEL
+       bool "Kernel debugging"
+       help
+         Say Y here if you are developing drivers or trying to debug and
+         identify kernel problems.
+
+config DEBUG_MISC
+       bool "Miscellaneous debug code"
+       default DEBUG_KERNEL
+       depends on DEBUG_KERNEL
+       help
+         Say Y here if you need to enable miscellaneous debug code that should
+         be under a more specific debug option but isn't.
+
 menu "Compile-time checks and compiler options"
 
 config DEBUG_INFO
-       bool "Compile the kernel with debug info"
-       depends on DEBUG_KERNEL && !COMPILE_TEST
+       bool
        help
-         If you say Y here the resulting kernel image will include
-         debugging info resulting in a larger kernel image.
+         A kernel debug info option other than "None" has been selected
+         in the "Debug information" choice below, indicating that debug
+         information will be generated for build targets.
+
+choice
+       prompt "Debug information"
+       depends on DEBUG_KERNEL
+       help
+         Selecting something other than "None" results in a kernel image
+         that 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.
+         Choose which version of DWARF debug info to emit. If unsure,
+         select "Toolchain default".
+
+config DEBUG_INFO_NONE
+       bool "Disable debug information"
+       help
+         Do not build the kernel with debugging information, which will
+         result in a faster and smaller build.
+
+config DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
+       bool "Rely on the toolchain's implicit default DWARF version"
+       select DEBUG_INFO
+       help
+         The implicit default version of DWARF debug info produced by a
+         toolchain changes over time.
+
+         This can break consumers of the debug info that haven't upgraded to
+         support newer revisions, and prevent testing newer versions, but
+         those should be less common scenarios.
+
+config DEBUG_INFO_DWARF4
+       bool "Generate DWARF Version 4 debuginfo"
+       select DEBUG_INFO
+       help
+         Generate DWARF v4 debug info. This requires gcc 4.5+ and gdb 7.0+.
+
+         If you have consumers of DWARF debug info that are not ready for
+         newer revisions of DWARF, you may wish to choose this or have your
+         config select this.
+
+config DEBUG_INFO_DWARF5
+       bool "Generate DWARF Version 5 debuginfo"
+       select DEBUG_INFO
+       depends on !CC_IS_CLANG || (CC_IS_CLANG && (AS_IS_LLVM || (AS_IS_GNU && AS_VERSION >= 23502)))
+       help
+         Generate DWARF v5 debug info. Requires binutils 2.35.2, gcc 5.0+ (gcc
+         5.0+ accepts the -gdwarf-5 flag but only had partial support for some
+         draft features until 7.0), and gdb 8.0+.
+
+         Changes to the structure of debug info in Version 5 allow for around
+         15-18% savings in resulting image and debug info section sizes as
+         compared to DWARF Version 4. DWARF Version 5 standardizes previous
+         extensions such as accelerators for symbol indexing and the format
+         for fission (.dwo/.dwp) files. Users may not want to select this
+         config if they rely on tooling that has not yet been updated to
+         support DWARF Version 5.
+
+endchoice # "Debug information"
 
 if DEBUG_INFO
 
@@ -267,56 +334,12 @@ config DEBUG_INFO_SPLIT
          to know about the .dwo files and include them.
          Incompatible with older versions of ccache.
 
-choice
-       prompt "DWARF version"
-       help
-         Which version of DWARF debug info to emit.
-
-config DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
-       bool "Rely on the toolchain's implicit default DWARF version"
-       help
-         The implicit default version of DWARF debug info produced by a
-         toolchain changes over time.
-
-         This can break consumers of the debug info that haven't upgraded to
-         support newer revisions, and prevent testing newer versions, but
-         those should be less common scenarios.
-
-         If unsure, say Y.
-
-config DEBUG_INFO_DWARF4
-       bool "Generate DWARF Version 4 debuginfo"
-       help
-         Generate DWARF v4 debug info. This requires gcc 4.5+ and gdb 7.0+.
-
-         If you have consumers of DWARF debug info that are not ready for
-         newer revisions of DWARF, you may wish to choose this or have your
-         config select this.
-
-config DEBUG_INFO_DWARF5
-       bool "Generate DWARF Version 5 debuginfo"
-       depends on !CC_IS_CLANG || (CC_IS_CLANG && (AS_IS_LLVM || (AS_IS_GNU && AS_VERSION >= 23502)))
-       depends on !DEBUG_INFO_BTF
-       help
-         Generate DWARF v5 debug info. Requires binutils 2.35.2, gcc 5.0+ (gcc
-         5.0+ accepts the -gdwarf-5 flag but only had partial support for some
-         draft features until 7.0), and gdb 8.0+.
-
-         Changes to the structure of debug info in Version 5 allow for around
-         15-18% savings in resulting image and debug info section sizes as
-         compared to DWARF Version 4. DWARF Version 5 standardizes previous
-         extensions such as accelerators for symbol indexing and the format
-         for fission (.dwo/.dwp) files. Users may not want to select this
-         config if they rely on tooling that has not yet been updated to
-         support DWARF Version 5.
-
-endchoice # "DWARF version"
-
 config DEBUG_INFO_BTF
        bool "Generate BTF typeinfo"
        depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED
        depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST
        depends on BPF_SYSCALL
+       depends on !DEBUG_INFO_DWARF5
        help
          Generate deduplicated BTF type information from DWARF debug info.
          Turning this on expects presence of pahole tool, which will convert
@@ -585,20 +608,6 @@ source "lib/Kconfig.kcsan"
 
 endmenu
 
-config DEBUG_KERNEL
-       bool "Kernel debugging"
-       help
-         Say Y here if you are developing drivers or trying to debug and
-         identify kernel problems.
-
-config DEBUG_MISC
-       bool "Miscellaneous debug code"
-       default DEBUG_KERNEL
-       depends on DEBUG_KERNEL
-       help
-         Say Y here if you need to enable miscellaneous debug code that should
-         be under a more specific debug option but isn't.
-
 menu "Networking Debugging"
 
 source "net/Kconfig.debug"