Re: [-mm patch] make types.h usable for non-gcc C parsers

From: Sam Ravnborg
Date: Tue Aug 28 2007 - 14:36:32 EST


On Tue, Aug 28, 2007 at 07:59:04PM +0200, Adrian Bunk wrote:
> On Tue, Aug 28, 2007 at 07:06:04PM +0200, Sam Ravnborg wrote:
> > >
> > > It fixes a bug exposed by a -mm only patch, not by the net tree
> > > (and 2.6.23-rc3-mm1 doesn't contain the net tree at all).
> > >
> > > > But I'd like a better description, please. Which "non-gcc parser" are we
> > > > talking about here? Something under ./scripts/. Well, please identify it,
> > > > and describe what the problem is, and how the proposed patch will address
> > > > it.
> > > >...
> > >
> > > It's about parsers like the Sun C compiler and the C parser shipped
> > > with genksyms.
> >
> > So it is about two bugs.
> > 1) kbuild (genksyms) fails to generate CRC for some symbols
> > 2) allow userspace to parse the header
> >
> > As for 2 we already use sed to remove a lot of stuff in our headers
> > so why do we use another approach here?
>
> This time it's the other way round:
>
> We need __extension__ only in userspace.
>
> > As for 1 I will try to teach genksyms to accept __extension__ but
> > it seems leess trivial than I expected (most be fooling myself somehow).
>
> We anyway need a way to hide __extension__ from non-gcc userspace C
> compilers, and it can be hidden from genksyms the same way.

OK.
I have anyway added support for __extension__ in genksyms.
See below patch.

Note: To try this patch out do the following in a fresh tree (no generated files):
$ rm scripts/genksyms/*_shipped
$ apply patch
$ make GENERATE_PARSER=1 ...

In kbuild.git the _shipped files are updated but that would just be noise here.

Sam