Re: __STRICT_ANSI__ checks in headers

From: Ismail Donmez
Date: Sun Oct 01 2006 - 04:08:22 EST


On Sunday 01 October 2006 08:20, Kyle Moffett wrote:
> On Oct 01, 2006, at 00:53:43, Andrew Morton wrote:
[...]
> > Bisection shows that this patch causes these depmod warnings:
> >
> > WARNING: "snd_card_disconnect" [sound/usb/usx2y/snd-usb-usx2y.ko]
> > has no CRC!
> > [etc]
> >
> > I don't know why that would happen.
> >
> > From: Ismail Donmez <ismail@xxxxxxxxxxxxx>
> >
> > __STRICT_ANSI__ usage in types.h header results in compile errors
> > for some userspace packages[1] when used with gcc -ansi flag. With
> > the suggestion of Kyle Moffett I replace strict ansi checks with
> > __extension__ to tell gcc not to error or warn on gcc extensions.
> > Compile tested on x86 with 2.6.18.
>
> Best guess: Depmod does some kind of funny type-based expansion and
> hashing of the symbols which doesn't understand the "__extension__"
> keyword. Probably the simplest thing to do is to add "-
> D__extension__=" to the depmod preprocessing flags. Alternatively
> you could teach depmod to completely ignore the __extension__ keyword
> when it shows up in the sources, but the former seems like it would
> be much simpler.
>
> Just thinking about it we probably also need to educate sparse about
> __extension__ too. Perhaps somebody could also add an sparse flag to
> make it warn about nonportable constructs in exported header files.
>
> I'd submit a patch but my knowledge of kernel makefiles and depmod is
> somewhere between zero and none, exclusive.

Thanks, I will have a look at it.

Regards,
ismail

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/