Re: [genksyms patch 3/4] Track symbol checksum changes

Andrew Morton
2008-09-03T05:02:53Z

On Mon, 21 Jul 2008 04:28:26 +0200 Andreas Gruenbacher <agruen@suse.de> wrote:

> 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.

This breaks `make M=...'

With i386 allmodconfig,

akpm2:/usr/src/25> make M=drivers/rtc

WARNING: Symbol version dump /usr/src/devel/Module.symvers
is missing; modules will have no dependencies and modversions.

LD drivers/rtc/built-in.o
CC [M] drivers/rtc/rtc-lib.o
scripts/genksyms/genksyms: invalid option -- r
Usage:
genksyms [-adDTwqhV] > /path/to/.tmp_obj.ver

-a, --arch Select architecture
-d, --debug Increment the debug level (repeatable)
-D, --dump Dump expanded symbol defs (for debugging only)
-T, --dump-types file Dump expanded types into file (for debugging only)
-w, --warnings Enable warnings
-q, --quiet Disable warnings (default)
-h, --help Print this message
-V, --version Print the release version
make[1]: *** [drivers/rtc/rtc-lib.o] Error 1
make: *** [_module_drivers/rtc] Error 2