linux/scripts/genksyms
Robin Holt a89a0a2354 kbuild: Fix genksyms handling of DEFINE_PER_CPU(struct foo_s *, bar);
This is a one-line change to parse.y.
To take advantage of this the scripts/genksyms/*_shipped files needs to
be rebuild - this is the next patch.

When a .c file contains:
DEFINE_PER_CPU(struct foo_s *, bar);

the .cpp output looks like:
__attribute__((__section__(".data.percpu"))) __typeof__(struct foo_s *) per_cpu__bar;

With the existing parse.y, the value inside the paranthesis of
__typeof__() does not evaluate as a type_specifier and therefore
per_cpu__bar does not get assigned a type for genksyms which results in
the EXPORT_PER_CPU_SYMBOL() not generating a CRC value.

I have compared the Modules.symvers with and without this
patch and for ia64's defconfig, the only change is:
Before 0x00000000    per_cpu____sn_nodepda   vmlinux
After  0x9d3f3faa    per_cpu____sn_nodepda   vmlinux

per_cpu____sn_nodepda was the original source of my problems.

Signed-off-by: Robin Holt <holt@sgi.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2005-12-26 22:39:55 +01:00
..
genksyms.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
genksyms.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keywords.c_shipped Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keywords.gperf Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
lex.c_shipped Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
lex.l Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
parse.c_shipped Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
parse.h_shipped Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
parse.y kbuild: Fix genksyms handling of DEFINE_PER_CPU(struct foo_s *, bar); 2005-12-26 22:39:55 +01:00