genksyms: track symbol checksum changes
authorAndreas Gruenbacher <agruen@suse.de>
Mon, 1 Dec 2008 22:21:01 +0000 (14:21 -0800)
committerSam Ravnborg <sam@ravnborg.org>
Wed, 3 Dec 2008 21:33:11 +0000 (22:33 +0100)
commit64e6c1e12372840e7caf8e25325a9e9c5fd370e6
treeaa47aa4e170dd4bb39c99cc7356231e2c61d64d2
parenta680eedc6c621c75695c68198533fc3c98f4053b
genksyms: track symbol checksum changes

Sometimes it is preferable to avoid changes of exported symbol checksums
(to avoid breaking externally provided modules).  When a checksum change
occurs, it can be hard to figure out what caused this change: underlying
types may have changed, or additional type information may simply have
become available at the point where a symbol is exported.

Add a new --reference option to genksyms which allows it to report why
checksums change, based on the type information dumps it creates with the
--dump-types flag.  Genksyms will read in such a dump from a previous run,
and report which symbols have changed (and why).

The behavior can be controlled for an entire build as follows: If
KBUILD_SYMTYPES is set, genksyms uses --dump-types to produce *.symtypes
dump files.  If any *.symref files exist, those will be used as the
reference to check against.  If KBUILD_PRESERVE is set, checksum changes
will fail the build.

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
scripts/Makefile.build
scripts/genksyms/genksyms.c
scripts/genksyms/genksyms.h