Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits) MAINTAINERS: linux-m32r is moderated for non-subscribers linux@lists.openrisc.net is moderated for non-subscribers Drop default from "DM365 codec select" choice parisc: Kconfig: cleanup Kernel page size default Kconfig: remove redundant CONFIG_ prefix on two symbols cris: remove arch/cris/arch-v32/lib/nand_init.S microblaze: add missing CONFIG_ prefixes h8300: drop puzzling Kconfig dependencies MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers tty: drop superfluous dependency in Kconfig ARM: mxc: fix Kconfig typo 'i.MX51' Fix file references in Kconfig files aic7xxx: fix Kconfig references to READMEs Fix file references in drivers/ide/ thinkpad_acpi: Fix printk typo 'bluestooth' bcmring: drop commented out line in Kconfig btmrvl_sdio: fix typo 'btmrvl_sdio_sd6888' doc: raw1394: Trivial typo fix CIFS: Don't free volume_info->UNC until we are entirely done with it. treewide: Correct spelling of successfully in comments ...
This commit is contained in:
@ -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"
|
||||
@ -835,7 +835,7 @@ config DEBUG_CREDENTIALS
|
||||
|
||||
#
|
||||
# Select this config option from the architecture Kconfig, if it
|
||||
# it is preferred to always offer frame pointers as a config
|
||||
# is preferred to always offer frame pointers as a config
|
||||
# option on the architecture (regardless of KERNEL_DEBUG):
|
||||
#
|
||||
config ARCH_WANT_FRAME_POINTERS
|
||||
|
Reference in New Issue
Block a user