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

From: Andrew Morton
Date: Wed Sep 03 2008 - 01:02:55 EST


On Mon, 21 Jul 2008 04:28:26 +0200 Andreas Gruenbacher <agruen@xxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/