• Andreas Gruenbacher's avatar
    genksyms: track symbol checksum changes · 64e6c1e1
    Andreas Gruenbacher authored
    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: default avatarAndreas Gruenbacher <agruen@suse.de>
    Cc: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
    64e6c1e1
genksyms.c 19.7 KB