Merge tag 'Wimplicit-fallthrough-clang-5.14-rc2' of git://git.kernel.org/pub/scm...
[linux-2.6-microblaze.git] / lib / Kconfig.debug
index 417c3d3..8312127 100644 (file)
@@ -35,6 +35,17 @@ config PRINTK_CALLER
          no option to enable/disable at the kernel command line parameter or
          sysfs interface.
 
+config STACKTRACE_BUILD_ID
+       bool "Show build ID information in stacktraces"
+       depends on PRINTK
+       help
+         Selecting this option adds build ID information for symbols in
+         stacktraces printed with the printk format '%p[SR]b'.
+
+         This option is intended for distros where debuginfo is not easily
+         accessible but can be downloaded given the build ID of the vmlinux or
+         kernel module where the function is located.
+
 config CONSOLE_LOGLEVEL_DEFAULT
        int "Default console loglevel (1-15)"
        range 1 15
@@ -284,8 +295,7 @@ config DEBUG_INFO_DWARF4
 
 config DEBUG_INFO_DWARF5
        bool "Generate DWARF Version 5 debuginfo"
-       depends on GCC_VERSION >= 50000 || CC_IS_CLANG
-       depends on CC_IS_GCC || $(success,$(srctree)/scripts/test_dwarf5_support.sh $(CC) $(CLANG_FLAGS))
+       depends on GCC_VERSION >= 50000 || (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
@@ -401,8 +411,8 @@ config SECTION_MISMATCH_WARN_ONLY
 
          If unsure, say Y.
 
-config DEBUG_FORCE_FUNCTION_ALIGN_32B
-       bool "Force all function address 32B aligned" if EXPERT
+config DEBUG_FORCE_FUNCTION_ALIGN_64B
+       bool "Force all function address 64B aligned" if EXPERT
        help
          There are cases that a commit from one domain changes the function
          address alignment of other domains, and cause magic performance
@@ -449,6 +459,16 @@ config VMLINUX_VALIDATION
        depends on STACK_VALIDATION && DEBUG_ENTRY && !PARAVIRT
        default y
 
+config VMLINUX_MAP
+       bool "Generate vmlinux.map file when linking"
+       depends on EXPERT
+       help
+         Selecting this option will pass "-Map=vmlinux.map" to ld
+         when linking vmlinux. That file can be useful for verifying
+         and debugging magic section games, and for seeing which
+         pieces of code get eliminated with
+         CONFIG_LD_DEAD_CODE_DATA_ELIMINATION.
+
 config DEBUG_FORCE_WEAK_PER_CPU
        bool "Force weak per-cpu definitions"
        depends on DEBUG_KERNEL
@@ -1270,7 +1290,7 @@ config PROVE_RAW_LOCK_NESTING
         option expect lockdep splats until these problems have been fully
         addressed which is work in progress. This config switch allows to
         identify and analyze these problems. It will be removed and the
-        check permanentely enabled once the main issues have been fixed.
+        check permanently enabled once the main issues have been fixed.
 
         If unsure, select N.
 
@@ -1363,13 +1383,52 @@ config LOCKDEP
        bool
        depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
        select STACKTRACE
-       depends on FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86
        select KALLSYMS
        select KALLSYMS_ALL
 
 config LOCKDEP_SMALL
        bool
 
+config LOCKDEP_BITS
+       int "Bitsize for MAX_LOCKDEP_ENTRIES"
+       depends on LOCKDEP && !LOCKDEP_SMALL
+       range 10 30
+       default 15
+       help
+         Try increasing this value if you hit "BUG: MAX_LOCKDEP_ENTRIES too low!" message.
+
+config LOCKDEP_CHAINS_BITS
+       int "Bitsize for MAX_LOCKDEP_CHAINS"
+       depends on LOCKDEP && !LOCKDEP_SMALL
+       range 10 30
+       default 16
+       help
+         Try increasing this value if you hit "BUG: MAX_LOCKDEP_CHAINS too low!" message.
+
+config LOCKDEP_STACK_TRACE_BITS
+       int "Bitsize for MAX_STACK_TRACE_ENTRIES"
+       depends on LOCKDEP && !LOCKDEP_SMALL
+       range 10 30
+       default 19
+       help
+         Try increasing this value if you hit "BUG: MAX_STACK_TRACE_ENTRIES too low!" message.
+
+config LOCKDEP_STACK_TRACE_HASH_BITS
+       int "Bitsize for STACK_TRACE_HASH_SIZE"
+       depends on LOCKDEP && !LOCKDEP_SMALL
+       range 10 30
+       default 14
+       help
+         Try increasing this value if you need large MAX_STACK_TRACE_ENTRIES.
+
+config LOCKDEP_CIRCULAR_QUEUE_BITS
+       int "Bitsize for elements in circular_queue struct"
+       depends on LOCKDEP
+       range 10 30
+       default 12
+       help
+         Try increasing this value if you hit "lockdep bfs error:-1" warning due to __cq_enqueue() failure.
+
 config DEBUG_LOCKDEP
        bool "Lock dependency engine debugging"
        depends on DEBUG_KERNEL && LOCKDEP
@@ -1397,7 +1456,7 @@ config DEBUG_LOCKING_API_SELFTESTS
          Say Y here if you want the kernel to run a short self-test during
          bootup. The self-test checks whether common types of locking bugs
          are detected by debugging mechanisms or not. (if you disable
-         lock debugging then those bugs wont be detected of course.)
+         lock debugging then those bugs won't be detected of course.)
          The following locking APIs are covered: spinlocks, rwlocks,
          mutexes and rwsems.
 
@@ -1670,7 +1729,6 @@ config LATENCYTOP
        select KALLSYMS_ALL
        select STACKTRACE
        select SCHEDSTATS
-       select SCHED_DEBUG
        help
          Enable this option if you want to use the LatencyTOP tool
          to find out which userspace is blocking on what kernel operations.
@@ -1878,7 +1936,7 @@ config FAIL_IO_TIMEOUT
          thus exercising the error handling.
 
          Only works with drivers that use the generic timeout handling,
-         for others it wont do anything.
+         for others it won't do anything.
 
 config FAIL_FUTEX
        bool "Fault-injection capability for futexes"
@@ -1999,8 +2057,9 @@ config LKDTM
        Documentation/fault-injection/provoke-crashes.rst
 
 config TEST_LIST_SORT
-       tristate "Linked list sorting test"
-       depends on DEBUG_KERNEL || m
+       tristate "Linked list sorting test" if !KUNIT_ALL_TESTS
+       depends on KUNIT
+       default KUNIT_ALL_TESTS
        help
          Enable this to turn on 'list_sort()' function test. This test is
          executed only once during system boot (so affects only boot time),
@@ -2027,6 +2086,16 @@ config TEST_SORT
 
          If unsure, say N.
 
+config TEST_DIV64
+       tristate "64bit/32bit division and modulo test"
+       depends on DEBUG_KERNEL || m
+       help
+         Enable this to turn on 'do_div()' function test. This test is
+         executed only once during system boot (so affects only boot time),
+         or at module load time.
+
+         If unsure, say N.
+
 config KPROBES_SANITY_TEST
        bool "Kprobes sanity tests"
        depends on DEBUG_KERNEL
@@ -2123,6 +2192,9 @@ config TEST_KSTRTOX
 config TEST_PRINTF
        tristate "Test printf() family of functions at runtime"
 
+config TEST_SCANF
+       tristate "Test scanf() family of functions at runtime"
+
 config TEST_BITMAP
        tristate "Test bitmap_*() family of functions at runtime"
        help
@@ -2371,6 +2443,30 @@ config BITS_TEST
 
          If unsure, say N.
 
+config SLUB_KUNIT_TEST
+       tristate "KUnit test for SLUB cache error detection" if !KUNIT_ALL_TESTS
+       depends on SLUB_DEBUG && KUNIT
+       default KUNIT_ALL_TESTS
+       help
+         This builds SLUB allocator unit test.
+         Tests SLUB cache debugging functionality.
+         For more information on KUnit and unit tests in general please refer
+         to the KUnit documentation in Documentation/dev-tools/kunit/.
+
+         If unsure, say N.
+
+config RATIONAL_KUNIT_TEST
+       tristate "KUnit test for rational.c" if !KUNIT_ALL_TESTS
+       depends on KUNIT
+       select RATIONAL
+       default KUNIT_ALL_TESTS
+       help
+         This builds the rational math unit test.
+         For more information on KUnit and unit tests in general please refer
+         to the KUnit documentation in Documentation/dev-tools/kunit/.
+
+         If unsure, say N.
+
 config TEST_UDELAY
        tristate "udelay test driver"
        help
@@ -2513,13 +2609,32 @@ config TEST_FPU
 
          If unsure, say N.
 
+config TEST_CLOCKSOURCE_WATCHDOG
+       tristate "Test clocksource watchdog in kernel space"
+       depends on CLOCKSOURCE_WATCHDOG
+       help
+         Enable this option to create a kernel module that will trigger
+         a test of the clocksource watchdog.  This module may be loaded
+         via modprobe or insmod in which case it will run upon being
+         loaded, or it may be built in, in which case it will run
+         shortly after boot.
+
+         If unsure, say N.
+
 endif # RUNTIME_TESTING_MENU
 
+config ARCH_USE_MEMTEST
+       bool
+       help
+         An architecture should select this when it uses early_memtest()
+         during boot process.
+
 config MEMTEST
        bool "Memtest"
+       depends on ARCH_USE_MEMTEST
        help
          This option adds a kernel parameter 'memtest', which allows memtest
-         to be set.
+         to be set and executed.
                memtest=0, mean disabled; -- default
                memtest=1, mean do 1 test pattern;
                ...