• Andreas Gruenbacher's avatar
    kbuild: genksyms parser: fix the __attribute__ rule · 94aa3d71
    Andreas Gruenbacher authored
    We are having two kinds of problems with genksyms today: fake checksum
    changes without actual ABI changes, and changes which we would rather like
    to ignore (such as an additional field at the end of a structure that
    modules are not supposed to touch, for example).
    
    I have thought about ways to improve genksyms and compute checksums
    differently to avoid those problems, but in the end I don't see a
    fundamentally better way.  So here are some genksyms patches for at least
    making the checksums more easily manageable, if we cannot fully fix them.
    
    In addition to the bugfixes (the first two patches), this allows genksyms
    to track checksum changes and report why a checksum changed (third patch),
    and to selectively ignore changes (fourth patch).
    
    This patch:
    
    Gcc __attribute__ definitions may occur repeatedly, e.g.,
    
    	static int foo __attribute__((__used__))
    		       __attribute__((aligned (16)));
    
    The genksyms parser does not understand this, and generates a syntax error.
    Fix this case.
    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>
    94aa3d71
parse.y 10.3 KB