kbuild: check for section mismatch during modpost stage
authorSam Ravnborg <sam@mars.ravnborg.org>
Fri, 17 Feb 2006 21:42:02 +0000 (22:42 +0100)
committerSam Ravnborg <sam@mars.ravnborg.org>
Sun, 19 Feb 2006 08:51:20 +0000 (09:51 +0100)
commitb39927cf4cc5a9123d2b157ffd396884cb8156eb
tree8e372f4b8fa678de7239a125ff4653f136a9dc66
parenta67dc21a38055ec2d8d85b2f64d98091748569b3
kbuild: check for section mismatch during modpost stage

Section mismatch is identified as references to .init*
sections from non .init sections. And likewise references
to .exit.* sections outside .exit sections.

.init.* sections are discarded after a module is initialized
and references to .init.* sections are oops candidates.
.exit.* sections are discarded when a module is built-in and
thus references to .exit are also oops candidates.

The checks were possible to do using 'make buildcheck' which
called the two perl scripts: reference_discarded.pl and
reference_init.pl. This patch just moves the same functionality
inside modpost and the scripts are then obsoleted.
They will though be kept for a while so users can do double
checks - but note that some .o files are skipped by the perl scripts
so result is not 1:1.
All credit for the concept goes to Keith Owens who implemented
the original perl scrips - this patch just moves it to modpost.

Compared to the perl script the implmentation in modpost will be run
for each kernel build - thus catching the error much sooner, but
the downside is that the individual .o file are not always identified.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
scripts/mod/modpost.c
scripts/mod/modpost.h