Loading lib/Kconfig.debug +19 −19 Original line number Diff line number Diff line Loading @@ -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" Loading Loading
lib/Kconfig.debug +19 −19 Original line number Diff line number Diff line Loading @@ -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" Loading