Re: [PATCH] Fix allnoconfig build with gcc4

From: Linus Torvalds
Date: Sat Sep 10 2005 - 16:00:46 EST




On Sat, 10 Sep 2005 mikukkon@xxxxxx wrote:
>
> It seems that git commit 20380731bc2897f2952ae055420972ded4cd786e breaks
> allnoconfig build with gcc4:
>
> CC init/main.o
> In file included from include/linux/netdevice.h:29,
> from include/net/sock.h:48,
> from init/main.c:50:
> include/linux/if_ether.h:114: error: array type has incomplete element type
>
> The "normal" fix of replacing foo[] with *foo would is not trivial, but
> simply removing the offending line is.
>
> Signed-off-by: Mika Kukkonen <mikukkon@xxxxxx>

No, this would cause a compile error if CONFIG_NET and CONFIG_SYSCTL is
enabled (because sysctl_net.c needs that declaration).

So the correct solution is apparently either one of

- always declare an empty "struct ctl_table" regardless of whether SYSCTL
is enabled or not.

This might be a good idea, since it probably allows more code to be
compiled without checking for CONFIG_SYSCTL.

- put the ether_table[] declaration inside a #ifdef CONFIG_SYSCTL.

Maybe somebody else has a stronger opinion than I do about which of these
is the right solution.

Linus
-
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/