public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andreas Gruenbacher <agruen@suse.de>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Sam Ravnborg <sam@ravnborg.org>
Subject: Re: [genksyms patch 3/4] Track symbol checksum changes
Date: Wed, 3 Sep 2008 10:13:26 +0200	[thread overview]
Message-ID: <200809031013.27948.agruen@suse.de> (raw)
In-Reply-To: <20080902220231.0197237e.akpm@linux-foundation.org>

On Wednesday 03 September 2008 07:02:31 Andrew Morton wrote:
> 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

The usage information above is from an unpatched genksyms; a "make scripts" is 
needed. On a clean tree, this works for me:

	make allmodconfig prepare scripts
	make M=drivers/rtc

When compiling out-of-tree modules with M=, the O= tree is not rebuilt 
automatically; it may even be read-only (as when building an external module 
as a user using the distro kernel packages).

Thanks,
Andreas

  reply	other threads:[~2008-09-03  8:13 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-21  2:28 [genksyms patch 0/4] Checksum tracking and tweaking Andreas Gruenbacher
2008-07-21  2:28 ` [genksyms patch 1/4] parser: fix the __attribute__ rule Andreas Gruenbacher
2008-07-30 20:43   ` Sam Ravnborg
2008-07-30 22:03     ` Andreas Gruenbacher
2008-07-31 21:17       ` Sam Ravnborg
2008-07-21  2:28 ` [genksyms patch 2/4] Include extern information in dumps Andreas Gruenbacher
2008-07-31 21:18   ` Sam Ravnborg
2008-07-21  2:28 ` [genksyms patch 3/4] Track symbol checksum changes Andreas Gruenbacher
2008-09-03  5:02   ` Andrew Morton
2008-09-03  8:13     ` Andreas Gruenbacher [this message]
2008-07-21  2:28 ` [genksyms patch 4/4] Allow to ignore " Andreas Gruenbacher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200809031013.27948.agruen@suse.de \
    --to=agruen@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox