Robin Holt <[email protected]> writes:
> The following code fails to generate a crc when run through genksyms.
>
> #include <linux/module.h>
>
> struct nodepda_s {
> int z1, z2;
> }
>
> DEFINE_PER_CPU(struct nodepda_s *, __sn_nodepda);
> EXPORT_PER_CPU_SYMBOL(__sn_nodepda);
>
> While the following works:
>
> #include <linux/module.h>
>
> struct nodepda_s {
> int z1, z2;
> }
>
> typedef struct nodepda_s * nodepda_s_p;
>
> DEFINE_PER_CPU(nodepda_s_p, __sn_nodepda);
> EXPORT_PER_CPU_SYMBOL(__sn_nodepda);
>
>
>
> This appears to be due to the way STRUCT_KEYW is handled in parse.y as
> compared to TYPEOF_KEYW. I know nothing about flex and bison. I am
> just trolling for anybody willing to help. I believe the STRUCT_KEYW
> handling would need to consume the *, but am not sure how that is
> conditionally done.
Does this patch help?
--- scripts/genksyms/parse.y.~1~ 2005-10-28 02:02:08.000000000 +0200
+++ scripts/genksyms/parse.y 2005-12-20 01:02:46.420239410 +0100
@@ -197,7 +197,7 @@ storage_class_specifier:
type_specifier:
simple_type_specifier
| cvar_qualifier
- | TYPEOF_KEYW '(' decl_specifier_seq ')'
+ | TYPEOF_KEYW '(' decl_specifier_seq m_abstract_declarator ')'
/* References to s/u/e's defined elsewhere. Rearrange things
so that it is easier to expand the definition fully later. */
Andreas.
--
Andreas Schwab, SuSE Labs, [email protected]
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]