diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-29 06:46:14 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-29 06:46:14 -0500 |
| commit | 5ea293a9048d3a58cb0c840fa719d85ad14cba47 (patch) | |
| tree | 88d1dd1eece2cfcbd858ff2c00fb0240dcfab3c7 /lib | |
| parent | 03bc26cfefd6db756e6bc7fcda11dc17ada7be16 (diff) | |
| parent | d3883ecebbf9e095b9e379dabbbe8b2c1ee7a41c (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (79 commits)
Remove references to "make dep"
kconfig: document use of HAVE_*
Introduce new section reference annotations tags: __ref, __refdata, __refconst
kbuild: warn about ld added unique sections
kbuild: add verbose option to Section mismatch reporting in modpost
kconfig: tristate choices with mixed tristate and boolean values
asm-generic/vmlix.lds.h: simplify __mem{init,exit}* dependencies
remove __attribute_used__
kbuild: support ARCH=x86 in buildtar
kconfig: remove "enable"
kbuild: simplified warning report in modpost
kbuild: introduce a few helpers in modpost
kbuild: use simpler section mismatch warnings in modpost
kbuild: link vmlinux.o before kallsyms passes
kbuild: introduce new option to enhance section mismatch analysis
Use separate sections for __dev/__cpu/__mem code/data
compiler.h: introduce __section()
all archs: consolidate init and exit sections in vmlinux.lds.h
kbuild: check section names consistently in modpost
kbuild: introduce blacklisting in modpost
...
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Kconfig.debug | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 14fb355e3caa..c4ecb2994ba3 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
| @@ -79,6 +79,38 @@ config HEADERS_CHECK | |||
| 79 | exported to $(INSTALL_HDR_PATH) (usually 'usr/include' in | 79 | exported to $(INSTALL_HDR_PATH) (usually 'usr/include' in |
| 80 | your build tree), to make sure they're suitable. | 80 | your build tree), to make sure they're suitable. |
| 81 | 81 | ||
| 82 | config DEBUG_SECTION_MISMATCH | ||
| 83 | bool "Enable full Section mismatch analysis" | ||
| 84 | default n | ||
| 85 | help | ||
| 86 | The section mismatch analysis checks if there are illegal | ||
| 87 | references from one section to another section. | ||
| 88 | Linux will during link or during runtime drop some sections | ||
| 89 | and any use of code/data previously in these sections will | ||
| 90 | most likely result in an oops. | ||
| 91 | In the code functions and variables are annotated with | ||
| 92 | __init, __devinit etc. (see full list in include/linux/init.h) | ||
| 93 | which result in the code/data being placed in specific sections. | ||
| 94 | The section mismatch anaylsis are always done after a full | ||
| 95 | kernel build but enabling this options will in addition | ||
| 96 | do the following: | ||
| 97 | - Add the option -fno-inline-functions-called-once to gcc | ||
| 98 | When inlining a function annotated __init in a non-init | ||
| 99 | function we would loose the section information and thus | ||
| 100 | the analysis would not catch the illegal reference. | ||
| 101 | This options tell gcc to inline less but will also | ||
| 102 | result in a larger kernel. | ||
| 103 | - Run the section mismatch analysis for each module/built-in.o | ||
| 104 | When we run the section mismatch analysis on vmlinux.o we | ||
| 105 | looses valueable information about where the mismatch was | ||
| 106 | introduced. | ||
| 107 | Running the analysis for each module/built-in.o file | ||
| 108 | will tell where the mismatch happens much closer to the | ||
| 109 | source. The drawback is that we will report the same | ||
| 110 | mismatch at least twice. | ||
| 111 | - Enable verbose reporting from modpost to help solving | ||
| 112 | the section mismatches reported. | ||
| 113 | |||
| 82 | config DEBUG_KERNEL | 114 | config DEBUG_KERNEL |
| 83 | bool "Kernel debugging" | 115 | bool "Kernel debugging" |
| 84 | help | 116 | help |
