[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#712103: linux-3.2.46-1 does not compile (rcupdate.h)



Control: tag -1 moreinfo

On Wed, 2013-06-12 at 23:46 +0000, Bjarni Ingi Gislason wrote:
> Package: linux-source-3.2
> Version: 3.2.46-1
> Severity: important
> 
> Dear Maintainer,
> 
>    * What led up to the situation?
> 
>   Compiling error:
> 
> In file included from include/linux/mm_types.h:15:0,
>                  from include/linux/sched.h:64,
>                  from arch/x86/kernel/asm-offsets.c:9:
> include/linux/rcupdate.h: In function '__kfree_rcu':
> include/linux/rcupdate.h:834:2: error: size of unnamed array is negative
> make[1]: *** [arch/x86/kernel/asm-offsets.s] Error 1
> make: *** [prepare0] Error 2
> 
>   Line 834 is BUILD_BUG_ON... in
> 
> static __always_inline
> void __kfree_rcu(struct rcu_head *head, unsigned long offset)
> {
> 	typedef void (*rcu_callback)(struct rcu_head *);
> 
> 	BUILD_BUG_ON(!__builtin_constant_p(offset));
> 
> 
>   "offset" is declared as an "unsigned long" so can't be negative!

This is a build-time assertion that the caller is passing a compile-time
constant for offset.  If the assertion fails it triggers this weird
'size of unnamed array is negative' error.

But nothing in asm-offsets.c will be calling it, so this doesn't make
sense to me.

You forgot to attach your .config.

Ben.

-- 
Ben Hutchings
friends: People who know you well, but like you anyway.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: