mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 04:43:53 +00:00
sys: add conf/std.debug, generic debugging options
The new sys/conf/std.debug contains the list of debugging options enabled by default in -CURRENT, so they don't need to be listed individually in every kernel config. The enabled options are the set of all debug options which were enabled for the GENERIC kernel on any platform. This means some architectures now have debugging options enabled in GENERIC which weren't previously enabled: - amd64: [1] - arm64: [2] - arm: [2]. [3] - i386: [1], [2] - powerpc: [1], [2], [3] - riscv: [2] [1] ALT_BREAK_TO_DEBUGGER is now enabled. [2] BUF_TRACKING, FULL_BUF_TRACKING, and QUEUE_MACRO_DEBUG_TRASH are now enabled. [3] DEADLKRES is now enabled. While here, move the documentation for the (commented out) K*SAN options for amd64 from GENERIC to NOTES. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1124
This commit is contained in:
parent
93c5ba5a83
commit
4f8f9d708e
|
@ -94,25 +94,7 @@ options RCTL # Resource limits
|
|||
options KDB # Enable kernel debugger support.
|
||||
options KDB_TRACE # Print a stack trace for a panic.
|
||||
# For full debugger support use (turn off in stable branch):
|
||||
options BUF_TRACKING # Track buffer history
|
||||
options DDB # Support DDB.
|
||||
options FULL_BUF_TRACKING # Track more buffer history
|
||||
options GDB # Support remote GDB.
|
||||
options DEADLKRES # Enable the deadlock resolver
|
||||
options INVARIANTS # Enable calls of extra sanity checking
|
||||
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
|
||||
options QUEUE_MACRO_DEBUG_TRASH # Trash queue(2) internal pointers on invalidation
|
||||
options WITNESS # Enable checks to detect deadlocks and cycles
|
||||
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
|
||||
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
|
||||
options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
|
||||
|
||||
# Kernel Sanitizers
|
||||
#options COVERAGE # Generic kernel coverage. Used by KCOV
|
||||
#options KCOV # Kernel Coverage Sanitizer
|
||||
# Warning: KUBSAN can result in a kernel too large for loader to load
|
||||
#options KUBSAN # Kernel Undefined Behavior Sanitizer
|
||||
#options KCSAN # Kernel Concurrency Sanitizer
|
||||
include ../../conf/std.debug
|
||||
|
||||
# Kernel dump features.
|
||||
options EKCD # Support for encrypted kernel dumps
|
||||
|
|
|
@ -78,6 +78,8 @@ options INCLUDE_CONFIG_FILE # Include this file in kernel
|
|||
# Debugging support. Always need this:
|
||||
options KDB # Enable kernel debugger support.
|
||||
options KDB_TRACE # Print a stack trace for a panic.
|
||||
# For full debugger support use (turn off in stable branch):
|
||||
include ../../conf/std.debug
|
||||
|
||||
# Make an SMP-capable kernel by default
|
||||
options SMP # Symmetric MultiProcessor Kernel
|
||||
|
|
11
sys/amd64/conf/MINIMAL-NODEBUG
Normal file
11
sys/amd64/conf/MINIMAL-NODEBUG
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
# MINIMAL-NODEBUG -- Non-debug MINIMAL kernel.
|
||||
#
|
||||
# This is the MINIMAL equivalent to GENERIC-NODEBUG.
|
||||
|
||||
#NO_UNIVERSE
|
||||
|
||||
include MINIMAL
|
||||
include "../../conf/std.nodebug"
|
||||
|
||||
ident MINIMAL-NODEBUG
|
|
@ -159,3 +159,15 @@ options KSTACK_PAGES=5
|
|||
# Enable detailed accounting by the PV entry allocator.
|
||||
|
||||
options PV_STATS
|
||||
|
||||
#####################################################################
|
||||
# Kernel sanitizers
|
||||
|
||||
#options COVERAGE # Generic kernel coverage. Used by KCOV
|
||||
#options KCOV # Kernel Coverage Sanitizer
|
||||
# Warning: KUBSAN can result in a kernel too large for loader to load
|
||||
#options KUBSAN # Kernel Undefined Behavior Sanitizer
|
||||
#options KCSAN # Kernel Concurrency Sanitizer
|
||||
#options KASAN # Kernel Address Sanitizer
|
||||
#options KCSAN # Kernel Concurrency Sanitizer
|
||||
#options KMSAN # Kernel Memory Sanitizer
|
||||
|
|
|
@ -63,18 +63,10 @@ makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
|
|||
options KDB # Enable kernel debugger support.
|
||||
options KDB_TRACE # Print a stack trace for a panic.
|
||||
|
||||
# For full debugger support use (turn off in stable branch):
|
||||
options DDB # Support DDB
|
||||
options GDB # Support remote GDB
|
||||
#options DEADLKRES # Enable the deadlock resolver
|
||||
options INVARIANTS # Enable calls of extra sanity checking
|
||||
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
|
||||
options WITNESS # Enable checks to detect deadlocks and cycles
|
||||
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
|
||||
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
|
||||
options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard escape sequence
|
||||
options USB_DEBUG # Enable usb debug support code
|
||||
options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
|
||||
|
||||
# For full debugger support use (turn off in stable branch):
|
||||
include ../../conf/std.debug
|
||||
|
||||
# Optional extras, never enabled by default:
|
||||
#options BOOTVERBOSE
|
||||
|
|
|
@ -63,18 +63,10 @@ makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
|
|||
options KDB # Enable kernel debugger support.
|
||||
options KDB_TRACE # Print a stack trace for a panic.
|
||||
|
||||
# For full debugger support use (turn off in stable branch):
|
||||
options DDB # Support DDB
|
||||
options GDB # Support remote GDB
|
||||
#options DEADLKRES # Enable the deadlock resolver
|
||||
options INVARIANTS # Enable calls of extra sanity checking
|
||||
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
|
||||
options WITNESS # Enable checks to detect deadlocks and cycles
|
||||
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
|
||||
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
|
||||
options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard escape sequence
|
||||
options USB_DEBUG # Enable usb debug support code
|
||||
options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
|
||||
|
||||
# For full debugger support use (turn off in stable branch):
|
||||
include ../../conf/std.debug
|
||||
|
||||
# Optional extras, never enabled by default:
|
||||
#options BOOTVERBOSE
|
||||
|
|
|
@ -73,16 +73,7 @@ options PERTHREAD_SSP # Per-thread SSP canary
|
|||
options KDB # Enable kernel debugger support.
|
||||
options KDB_TRACE # Print a stack trace for a panic.
|
||||
# For full debugger support use (turn off in stable branch):
|
||||
options DDB # Support DDB.
|
||||
options GDB # Support remote GDB.
|
||||
options DEADLKRES # Enable the deadlock resolver
|
||||
options INVARIANTS # Enable calls of extra sanity checking
|
||||
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
|
||||
options WITNESS # Enable checks to detect deadlocks and cycles
|
||||
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
|
||||
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
|
||||
options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard escape sequence
|
||||
options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
|
||||
include ../../conf/std.debug
|
||||
|
||||
# Kernel Sanitizers
|
||||
#options COVERAGE # Generic kernel coverage. Used by KCOV
|
||||
|
|
17
sys/conf/std.debug
Normal file
17
sys/conf/std.debug
Normal file
|
@ -0,0 +1,17 @@
|
|||
#
|
||||
# std.debug -- Enable debug options for -CURRENT.
|
||||
#
|
||||
|
||||
options BUF_TRACKING # Track buffer history
|
||||
options DDB # Support DDB.
|
||||
options FULL_BUF_TRACKING # Track more buffer history
|
||||
options GDB # Support remote GDB.
|
||||
options DEADLKRES # Enable the deadlock resolver
|
||||
options INVARIANTS # Enable calls of extra sanity checking
|
||||
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
|
||||
options QUEUE_MACRO_DEBUG_TRASH # Trash queue(2) internal pointers on invalidation
|
||||
options WITNESS # Enable checks to detect deadlocks and cycles
|
||||
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
|
||||
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
|
||||
options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
|
||||
options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard escape sequence
|
|
@ -88,15 +88,7 @@ options RCTL # Resource limits
|
|||
options KDB # Enable kernel debugger support.
|
||||
options KDB_TRACE # Print a stack trace for a panic.
|
||||
# For full debugger support use (turn off in stable branch):
|
||||
options DDB # Support DDB.
|
||||
options GDB # Support remote GDB.
|
||||
options DEADLKRES # Enable the deadlock resolver
|
||||
options INVARIANTS # Enable calls of extra sanity checking
|
||||
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
|
||||
options WITNESS # Enable checks to detect deadlocks and cycles
|
||||
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
|
||||
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
|
||||
options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
|
||||
include ../../conf/std.debug
|
||||
|
||||
# Kernel dump features.
|
||||
options EKCD # Support for encrypted kernel dumps
|
||||
|
|
|
@ -86,6 +86,8 @@ options INCLUDE_CONFIG_FILE # Include this file in kernel
|
|||
# Debugging support. Always need this:
|
||||
options KDB # Enable kernel debugger support.
|
||||
options KDB_TRACE # Print a stack trace for a panic.
|
||||
# For full debugger support use (turn off in stable branch):
|
||||
include ../../conf/std.debug
|
||||
|
||||
# Make an SMP-capable kernel by default
|
||||
options SMP # Symmetric MultiProcessor Kernel
|
||||
|
|
11
sys/i386/conf/MINIMAL-NODEBUG
Normal file
11
sys/i386/conf/MINIMAL-NODEBUG
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
# MINIMAL-NODEBUG -- Non-debug MINIMAL kernel.
|
||||
#
|
||||
# This is the MINIMAL equivalent to GENERIC-NODEBUG.
|
||||
|
||||
#NO_UNIVERSE
|
||||
|
||||
include MINIMAL
|
||||
include "../../conf/std.nodebug"
|
||||
|
||||
ident MINIMAL-NODEBUG
|
|
@ -91,14 +91,7 @@ options RCTL # Resource limits
|
|||
options KDB # Enable kernel debugger support.
|
||||
options KDB_TRACE # Print a stack trace for a panic.
|
||||
# For full debugger support use (turn off in stable branch):
|
||||
options DDB # Support DDB
|
||||
#options DEADLKRES # Enable the deadlock resolver
|
||||
options INVARIANTS # Enable calls of extra sanity checking
|
||||
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
|
||||
options WITNESS # Enable checks to detect deadlocks and cycles
|
||||
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
|
||||
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
|
||||
options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
|
||||
include ../../conf/std.debug
|
||||
|
||||
# Kernel dump features.
|
||||
options EKCD # Support for encrypted kernel dumps
|
||||
|
|
|
@ -101,14 +101,7 @@ options RCTL # Resource limits
|
|||
options KDB # Enable kernel debugger support.
|
||||
options KDB_TRACE # Print a stack trace for a panic.
|
||||
# For full debugger support use (turn off in stable branch):
|
||||
options DDB # Support DDB
|
||||
#options DEADLKRES # Enable the deadlock resolver
|
||||
options INVARIANTS # Enable calls of extra sanity checking
|
||||
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
|
||||
options WITNESS # Enable checks to detect deadlocks and cycles
|
||||
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
|
||||
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
|
||||
options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
|
||||
include ../../conf/std.debug
|
||||
|
||||
# Kernel dump features.
|
||||
options EKCD # Support for encrypted kernel dumps
|
||||
|
|
|
@ -97,14 +97,7 @@ options RCTL # Resource limits
|
|||
options KDB # Enable kernel debugger support.
|
||||
options KDB_TRACE # Print a stack trace for a panic.
|
||||
# For full debugger support use (turn off in stable branch):
|
||||
options DDB # Support DDB
|
||||
#options DEADLKRES # Enable the deadlock resolver
|
||||
options INVARIANTS # Enable calls of extra sanity checking
|
||||
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
|
||||
options WITNESS # Enable checks to detect deadlocks and cycles
|
||||
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
|
||||
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
|
||||
options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
|
||||
include ../../conf/std.debug
|
||||
|
||||
# Kernel dump features.
|
||||
options EKCD # Support for encrypted kernel dumps
|
||||
|
|
|
@ -156,17 +156,8 @@ device spigen
|
|||
options KDB # Enable kernel debugger support.
|
||||
options KDB_TRACE # Print a stack trace for a panic.
|
||||
# For full debugger support use (turn off in stable branch):
|
||||
options DDB # Support DDB.
|
||||
options GDB # Support remote GDB.
|
||||
options DEADLKRES # Enable the deadlock resolver
|
||||
options INVARIANTS # Enable calls of extra sanity checking
|
||||
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
|
||||
options WITNESS # Enable checks to detect deadlocks and cycles
|
||||
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
|
||||
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
|
||||
options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard escape sequence
|
||||
include "std.debug"
|
||||
# options EARLY_PRINTF=sbi
|
||||
options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
|
||||
|
||||
# Kernel dump features.
|
||||
options EKCD # Support for encrypted kernel dumps
|
||||
|
|
Loading…
Reference in a new issue