kernel: add DEBUG_INFO_REDUCED config option
[openwrt/staging/jow.git] / config / Config-kernel.in
index 2243e3e5bc70d6d12bcc31267c834571e3dbb644..e146107148b1f0721863175aaaad7daa5270a281 100644 (file)
@@ -24,11 +24,6 @@ config KERNEL_PRINTK
        bool "Enable support for printk"
        default y
 
-config KERNEL_CRASHLOG
-       bool "Crash logging"
-       depends on !(arm || powerpc || sparc || TARGET_uml || i386 || x86_64)
-       default y
-
 config KERNEL_SWAP
        bool "Support for paging of anonymous memory (swap)"
        default y if !SMALL_FLASH
@@ -86,6 +81,11 @@ config KERNEL_PROFILING
          Enable the extended profiling support mechanisms used by profilers such
          as OProfile.
 
+config KERNEL_RPI_AXIPERF
+       bool "Compile the kernel with RaspberryPi AXI Performance monitors"
+       default y
+       depends on KERNEL_PERF_EVENTS && TARGET_bcm27xx
+
 config KERNEL_UBSAN
        bool "Compile the kernel with undefined behaviour sanity checker"
        help
@@ -114,6 +114,16 @@ config KERNEL_UBSAN_ALIGNMENT
          Enabling this option on architectures that support unaligned
          accesses may produce a lot of false positives.
 
+config KERNEL_UBSAN_BOUNDS
+       bool "Perform array index bounds checking"
+       depends on KERNEL_UBSAN
+       help
+         This option enables detection of directly indexed out of bounds array
+         accesses, where the array size is known at compile time. Note that
+         this does not protect array overflows via bad calls to the
+         {str,mem}*cpy() family of functions (that is addressed by
+         FORTIFY_SOURCE).
+
 config KERNEL_UBSAN_NULL
        bool "Enable checking of null pointers"
        depends on KERNEL_UBSAN
@@ -121,6 +131,19 @@ config KERNEL_UBSAN_NULL
          This option enables detection of memory accesses via a
          null pointer.
 
+config KERNEL_UBSAN_TRAP
+       bool "On Sanitizer warnings, abort the running kernel code"
+       depends on KERNEL_UBSAN
+       help
+         Building kernels with Sanitizer features enabled tends to grow the
+         kernel size by around 5%, due to adding all the debugging text on
+         failure paths. To avoid this, Sanitizer instrumentation can just
+         issue a trap. This reduces the kernel size overhead but turns all
+         warnings (including potentially harmless conditions) into full
+         exceptions that abort the running kernel code (regardless of context,
+         locks held, etc), which may destabilize the system. For some system
+         builders this is an acceptable trade-off.
+
 config KERNEL_KASAN
        bool "Compile the kernel with KASan: runtime memory debugger"
        select KERNEL_SLUB_DEBUG
@@ -147,6 +170,23 @@ config KERNEL_KASAN_EXTRA
          compile time.
          https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 has more
 
+config KERNEL_KASAN_VMALLOC
+       bool "Back mappings in vmalloc space with real shadow memory"
+       depends on KERNEL_KASAN
+       help
+         By default, the shadow region for vmalloc space is the read-only
+         zero page. This means that KASAN cannot detect errors involving
+         vmalloc space.
+
+         Enabling this option will hook in to vmap/vmalloc and back those
+         mappings with real shadow memory allocated on demand. This allows
+         for KASAN to detect more sorts of errors (and to support vmapped
+         stacks), but at the cost of higher memory usage.
+
+         This option depends on HAVE_ARCH_KASAN_VMALLOC, but we can't
+         depend on that in here, so it is possible that enabling this
+         will have no effect.
+
 if KERNEL_KASAN
        config KERNEL_KASAN_GENERIC
        def_bool y
@@ -309,6 +349,19 @@ config KERNEL_PREEMPT_TRACER
          enabled. This option and the irqs-off timing option can be
          used together or separately.)
 
+config KERNEL_HIST_TRIGGERS
+       bool "Histogram triggers"
+       depends on KERNEL_FTRACE
+       help
+         Hist triggers allow one or more arbitrary trace event fields to be
+         aggregated into hash tables and dumped to stdout by reading a
+         debugfs/tracefs file. They're useful for gathering quick and dirty
+         (though precise) summaries of event activity as an initial guide for
+         further investigation using more advanced tools.
+
+         Inter-event tracing of quantities such as latencies is also
+         supported using hist triggers under this option.
+
 config KERNEL_DEBUG_KERNEL
        bool
        default n
@@ -320,6 +373,20 @@ config KERNEL_DEBUG_INFO
        help
          This will compile your kernel and modules with debug information.
 
+config KERNEL_DEBUG_INFO_REDUCED
+       bool "Reduce debugging information"
+       default y
+       depends on KERNEL_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 KERNEL_DEBUG_LL_UART_NONE
        bool
        default n
@@ -374,6 +441,11 @@ config KERNEL_KPROBE_EVENTS
        bool
        default y if KERNEL_KPROBES
 
+config KERNEL_BPF_KPROBE_OVERRIDE
+       bool
+       depends on KERNEL_KPROBES
+       default n
+
 config KERNEL_AIO
        bool "Compile the kernel with asynchronous IO support"
        default y if !SMALL_FLASH
@@ -938,6 +1010,19 @@ config KERNEL_IP_MROUTE
          Multicast routing requires a multicast routing daemon in
          addition to kernel support.
 
+if KERNEL_IP_MROUTE
+
+       config KERNEL_IP_MROUTE_MULTIPLE_TABLES
+               def_bool y
+
+       config KERNEL_IP_PIMSM_V1
+               def_bool y
+
+       config KERNEL_IP_PIMSM_V2
+               def_bool y
+
+endif
+
 #
 # IPv6 configuration
 #
@@ -960,8 +1045,15 @@ if KERNEL_IPV6
                  Multicast routing requires a multicast routing daemon in
                  addition to kernel support.
 
-       config KERNEL_IPV6_PIMSM_V2
-               def_bool n
+       if KERNEL_IPV6_MROUTE
+
+               config KERNEL_IPV6_MROUTE_MULTIPLE_TABLES
+                       def_bool y
+
+               config KERNEL_IPV6_PIMSM_V2
+                       def_bool y
+
+       endif
 
        config KERNEL_IPV6_SEG6_LWTUNNEL
                bool "Enable support for lightweight tunnels"
@@ -974,6 +1066,16 @@ if KERNEL_IPV6
 
 endif
 
+#
+# Miscellaneous network configuration
+#
+
+config KERNEL_NET_L3_MASTER_DEV
+       bool "L3 Master device support"
+       help
+         This module provides glue between core networking code and device
+         drivers to support L3 master devices like VRF.
+
 #
 # NFS related symbols
 #