alistair23-linux/scripts
Andreas Gruenbacher 94aa3d716e kbuild: genksyms parser: fix the __attribute__ rule
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: Andreas Gruenbacher <agruen@suse.de>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-07-31 23:00:25 +02:00
..
basic
genksyms kbuild: genksyms parser: fix the __attribute__ rule 2008-07-31 23:00:25 +02:00
kconfig kconfig: scripts/kconfig/zconf.l: add %option noinput 2008-07-30 22:29:50 +02:00
ksymoops
mod scripts/mod/modpost.c: fix spelling of module and happens 2008-07-30 09:41:46 -07:00
package
rt-tester
.gitignore
bin2c.c
binoffset.c
bloat-o-meter
checkincludes.pl
checkkconfigsymbols.sh
checkpatch.pl checkpatch: version 0.21 2008-07-24 10:47:27 -07:00
checkstack.pl fix checkstack.pl arch detection 2008-07-25 10:53:27 -07:00
checksyscalls.sh
checkversion.pl
cleanfile
cleanpatch
conmakehash.c
decodecode Mark 'scripts/decodecode' executable 2008-05-30 14:02:21 -07:00
diffconfig kconfig: add diffconfig utility 2008-07-25 22:12:41 +02:00
export_report.pl
extract-ikconfig
gcc-version.sh
gcc-x86_64-has-stack-protector.sh
gen_initramfs_list.sh kbuild: fix unportability in gen_initramfs_list.sh 2008-04-28 22:50:51 +02:00
headers.sh kbuild: prepare headers_* for arch/$ARCH/include 2008-07-25 22:12:33 +02:00
headers_check.pl kbuild: optimize headers_* targets 2008-07-25 22:12:16 +02:00
headers_install.pl kbuild: install all headers when arch is changed 2008-07-25 22:12:18 +02:00
kallsyms.c kbuild: filter away debug symbols from kernel symbols 2008-05-19 20:07:58 +02:00
Kbuild.include kbuild: fix make V=1 2008-02-11 17:43:54 +01:00
kernel-doc kernel-doc: handle/strip __init 2008-07-25 22:12:38 +02:00
Lindent scripts/Lindent: support gnu indent v2.2.10 2008-04-29 08:06:04 -07:00
Makefile
Makefile.build kbuild: fix some minor typoes 2008-04-25 20:18:48 +02:00
Makefile.clean kbuild: fix some minor typoes 2008-04-25 20:18:48 +02:00
Makefile.fwinst firmware: create firmware binaries during 'make modules'. 2008-07-25 14:26:30 -04:00
Makefile.headersinst kbuild: install all headers when arch is changed 2008-07-25 22:12:18 +02:00
Makefile.host kbuild: fix some minor typoes 2008-04-25 20:18:48 +02:00
Makefile.lib kbuild: create new CFLAGS_REMOVE_(basename).o option 2008-05-23 22:43:33 +02:00
Makefile.modinst
Makefile.modpost markers: fix duplicate modpost entry 2008-07-22 09:59:41 -07:00
makelst
mkcompile_h
mkmakefile
mksysmap kbuild: filter away debug symbols from kernel symbols 2008-05-19 20:07:58 +02:00
mkuboot.sh
mkversion
namespace.pl
patch-kernel
pnmtologo.c
profile2linkerlist.pl
setlocalversion setlocalversion: do not describe if there is nothing to describe 2008-07-25 22:12:53 +02:00
show_delta
unifdef.c
ver_linux scripts/ver_linux use 'gcc -dumpversion' 2008-05-25 23:02:43 +02:00