Re: linux-next: build failure

From: Ingo Molnar
Date: Mon Aug 25 2008 - 08:41:21 EST



* Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:

> Hi Ingo,
>
> Today's linux-next build (sparc64 defconfig) failed like this:
>
> ERROR: "__BUILD_BUG_ON_non_constant" [drivers/net/sunvnet.ko] undefined!
> ERROR: "__BUILD_BUG_ON_non_constant" [drivers/block/sunvdc.ko] undefined!
>
> Probably intorduced by commit f5b5d41dd51a31fe70e3a04fb80a3b90b84c6a4e
> ("debug: fix BUILD_BUG_ON() for non-constant expressions").
>
> The preprocessed code looks like this:
>
> static inline __attribute__((always_inline)) u32 vio_dring_avail(struct vio_dring_state *dr,
> unsigned int ring_size)
> {
> do { (void)sizeof(char[1 - 2*!!(!is_power_of_2(ring_size))]); if (!__builtin_constant_p(!is_power_of_2(ring_size))) __BUILD_BUG_ON_non_constant++; } while (0);
>
> return (dr->pending -
> ((dr->prod - dr->cons) & (ring_size - 1)));
> }
>
> I tried turning the above inline function into a macro to no avail.
>
> I applied the following patch (which is probably not what is wanted,
> but puts back what was there before).
>
> I see from LKML that this definition of BUILD_BUG_ON is to be
> replaced, so this is just a temporary measure.

yeah. Note that it will only be stricter, so more fallout is expected.

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