Skip to content

Commit

Permalink
Kconfig: Copyedit: DEBUG_SECTION_MISMATCH
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Witten <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
  • Loading branch information
mfwitten authored and Jiri Kosina committed Sep 15, 2011
1 parent 2fe038e commit e809ab0
Showing 1 changed file with 19 additions and 19 deletions.
38 changes: 19 additions & 19 deletions lib/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -117,31 +117,31 @@ config DEBUG_SECTION_MISMATCH
help
The section mismatch analysis checks if there are illegal
references from one section to another section.
Linux will during link or during runtime drop some sections
and any use of code/data previously in these sections will
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, __devinit etc. (see full list in include/linux/init.h)
In the code, functions and variables are annotated with
__init, __devinit, 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 is always done after a full
kernel build but enabling this option will in addition
do the following:
- Add the option -fno-inline-functions-called-once to gcc
When inlining a function annotated __init in a non-init
function we would lose the section information and thus
The section mismatch analysis is always performed after a full
kernel build, and enabling this option causes the following
additional steps 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 will also
result in a larger kernel.
- Run the section mismatch analysis for each module/built-in.o
When we run the section mismatch analysis on vmlinux.o we
This option tells gcc to inline less (but it does result in
a larger kernel).
- Run the section mismatch analysis for each module/built-in.o file.
When we run the section mismatch analysis on vmlinux.o, we
lose valueble information about where the mismatch was
introduced.
Running the analysis for each module/built-in.o file
will tell where the mismatch happens much closer to the
source. The drawback is that we will report the same
mismatch at least twice.
- Enable verbose reporting from modpost to help solving
the section mismatches reported.
tells where the mismatch happens much closer to the
source. The drawback is that the same mismatch is
reported at least twice.
- Enable verbose reporting from modpost in order to help resolve
the section mismatches that are reported.

config DEBUG_KERNEL
bool "Kernel debugging"
Expand Down

0 comments on commit e809ab0

Please sign in to comment.