mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 12:21:22 -05:00
lib/Kconfig.debug: cleanup CONFIG_DEBUG_SECTION_MISMATCH help text
Simplify formulations, correct flow, split it into proper paragraphs and update structure. No functional changes. Link: https://lkml.kernel.org/r/20251029122743.1110-1-bp@kernel.org Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
93ce0ff117
commit
7f37d88f5c
@@ -483,23 +483,23 @@ config DEBUG_SECTION_MISMATCH
|
||||
bool "Enable full Section mismatch analysis"
|
||||
depends on CC_IS_GCC
|
||||
help
|
||||
The section mismatch analysis checks if there are illegal
|
||||
references from one section to another section.
|
||||
During linktime or runtime, some sections are dropped;
|
||||
any use of code/data previously in these sections would
|
||||
most likely result in an oops.
|
||||
In the code, functions and variables are annotated with
|
||||
__init,, etc. (see the full list in include/linux/init.h),
|
||||
which results in the code/data being placed in specific sections.
|
||||
The section mismatch analysis checks if there are illegal references
|
||||
from one section to another. During linktime or runtime, some
|
||||
sections are dropped; any use of code/data previously in these
|
||||
sections would most likely result in an oops.
|
||||
|
||||
In the code, functions and variables are annotated with __init,
|
||||
__initdata, and so on (see the full list in include/linux/init.h).
|
||||
This directs the toolchain to place code/data in specific sections.
|
||||
|
||||
The section mismatch analysis is always performed after a full
|
||||
kernel build, and enabling this option causes the following
|
||||
additional step to occur:
|
||||
- Add the option -fno-inline-functions-called-once to gcc commands.
|
||||
When inlining a function annotated with __init in a non-init
|
||||
function, we would lose the section information and thus
|
||||
the analysis would not catch the illegal reference.
|
||||
This option tells gcc to inline less (but it does result in
|
||||
a larger kernel).
|
||||
kernel build, and enabling this option causes the option
|
||||
-fno-inline-functions-called-once to be added to gcc commands.
|
||||
|
||||
However, when inlining a function annotated with __init in
|
||||
a non-init function, we would lose the section information and thus
|
||||
the analysis would not catch the illegal reference. This option
|
||||
tells gcc to inline less (but it does result in a larger kernel).
|
||||
|
||||
config SECTION_MISMATCH_WARN_ONLY
|
||||
bool "Make section mismatch errors non-fatal"
|
||||
|
||||
Reference in New Issue
Block a user