mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [Patch 1/1] Fix genksyms handling of DEFINE_PER_CPU(struct foo_s *, bar);
@ 2005-12-21 20:36 Robin Holt
  2005-12-21 20:23 ` Sam Ravnborg
  0 siblings, 1 reply; 6+ messages in thread
From: Robin Holt @ 2005-12-21 20:36 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 893 bytes --]

This is a one-line change to parse.y.  It results in rebuilding the
scripts/genksyms/*_shipped files.  Those are the next four patches.

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>

[-- Attachment #2: genksyms_typeof_pointer.bz2 --]
[-- Type: application/x-bzip2, Size: 22664 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-12-27 13:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-21 20:36 [Patch 1/1] Fix genksyms handling of DEFINE_PER_CPU(struct foo_s *, bar); Robin Holt
2005-12-21 20:23 ` Sam Ravnborg
2005-12-21 22:02   ` Robin Holt
2005-12-26 21:55     ` Sam Ravnborg
2005-12-27 12:38       ` Robin Holt
2005-12-27 12:29         ` Sam Ravnborg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®