[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20091105112020.33f02552.sfr@canb.auug.org.au>
Date: Thu, 5 Nov 2009 11:20:20 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Rusty Russell <rusty@...tcorp.com.au>
Cc: Hollis Blanchard <hollisb@...ibm.com>,
Jan Beulich <JBeulich@...ell.com>, akpm@...ux-foundation.org,
linuxppc-dev@...ts.ozlabs.org, kvm-ppc@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-next@...r.kernel.org
Subject: Re: [PATCH] BUILD_BUG_ON: make it handle more cases
Hi Rusty,
On Tue, 20 Oct 2009 14:15:33 +1030 Rusty Russell <rusty@...tcorp.com.au> wrote:
>
> +#ifndef __OPTIMIZE__
> +#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
> +#else
> +extern int __build_bug_on_failed;
> +#define BUILD_BUG_ON(condition) \
> + do { \
> + ((void)sizeof(char[1 - 2*!!(condition)])); \
> + if (condition) __build_bug_on_failed = 1; \
> + } while(0)
> +#endif
> +#define MAYBE_BUILD_BUG_ON(condition) BUILD_BUG_ON(condition)
> +
I decided to try this in linux-next, but an x86_64 allmodconfig build
gave this (gcc 4.4.0):
ERROR: "__build_bug_on_failed" [drivers/net/virtio_net.ko] undefined!
ERROR: "__build_bug_on_failed" [drivers/block/virtio_blk.ko] undefined!
I assume that this is caused by the "MAYBE_BUILD_BUG_ON(fbit >= 32)" in
virtio_has_feature() (in include/linux/virtio_config.h) which is called
all over the place. Unfortunately, virtio_has_feature() gets uninlined
in those two files ...
I have taken the patch back out again for today.
--
Cheers,
Stephen Rothwell sfr@...b.auug.org.au
http://www.canb.auug.org.au/~sfr/
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists