Re: Please include const-sections into linux-next

From: David Rientjes
Date: Sat Oct 15 2011 - 19:04:12 EST


On Fri, 14 Oct 2011, James Bottomley wrote:

> It's not incredibly trivial: it causes a compile failure on parisc:
>
> mm/percpu.c:1372: error: __setup_str_percpu_alloc_setup causes a section
> type conflict
> make[1]: *** [mm/percpu.o] Error 1
>
> I have no idea why, though.
>

Not sure why this would only happen on parisc, but I haven't looked at it
closely. It means something qualified with const is being defined in a
section with other definitions that are not const, or vice versa.

For example:

static int x __attribute__((__section__("foo"))) = 1;
static const int y __attribute__((__section__("foo"))) = 2;

will result in the same error. Since __setup_param() places
__setup_str_percpu_alloc_setup in .init.rodata as const, it means
something else has already been defined in .init.rodata without being
qualified as such.
--
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/