Skip to contentSkip to conversation

2.6.20-rc6-mm2 build failure

PATCH In review Tomasz Kvarsin 3 participants 3 messages Jan 29, 2007 – Jan 30, 2007

lore
Share & tools
lore
#0 lore raw

I try to compile and got:

 CHK     include/linux/version.h
 CHK     include/linux/utsrelease.h
 CHK     include/linux/compile.h
 CC      kernel/rcupreempt.o

kernel/rcupreempt.c: In function 'rcupreempt_try_flip_state_name':
kernel/rcupreempt.c:641: error: 'rcu_try_flip_state_names' undeclared (first use in this function)
kernel/rcupreempt.c:641: error: (Each undeclared identifier is reported only once
kernel/rcupreempt.c:641: error: for each function it appears in.) kernel/rcupreempt.c: In function 'rcupreempt_trace':
kernel/rcupreempt.c:645: error: 'struct rcu_data' has no member named 'trace' kernel/rcupreempt.c:646: warning: control reaches end of non-void function kernel/rcupreempt.c: In function 'rcupreempt_try_flip_state_name':
kernel/rcupreempt.c:642: warning: control reaches end of non-void function

config in attachment.

#1 lore raw

PATCH 1/1 rcu_trace build fix (was Re: 2.6.20-rc6-mm2 build failure)

Quoted 6 lines · Tomasz Kvarsin

I try to compile and got:

 CHK     include/linux/version.h
 CHK     include/linux/utsrelease.h
 CHK     include/linux/compile.h
 CC      kernel/rcupreempt.o
Quoted 12 lines

kernel/rcupreempt.c: In function 'rcupreempt_try_flip_state_name':
kernel/rcupreempt.c:641: error: 'rcu_try_flip_state_names' undeclared (first use in this function)
kernel/rcupreempt.c:641: error: (Each undeclared identifier is reported only once
kernel/rcupreempt.c:641: error: for each function it appears in.) kernel/rcupreempt.c: In function 'rcupreempt_trace':
kernel/rcupreempt.c:645: error: 'struct rcu_data' has no member named 'trace' kernel/rcupreempt.c:646: warning: control reaches end of non-void function kernel/rcupreempt.c: In function 'rcupreempt_try_flip_state_name':
kernel/rcupreempt.c:642: warning: control reaches end of non-void function

Hi,

It looks like a typo there, thanks for reporting. The attached patch "s/RCU_TRACE/CONFIG_RCU_TRACE/" did the trick for me.

Btw, shouldn't the RCU_TRACE macro be defined to "do {} while(0)" in the !CONFIG_RCU_TRACE case?

Regards,
Frederik

kernel/rcupreempt.c +2 -2
index f8962a7..9b7d66b 100644
@@ -619,7 +619,7 @@ void synchronize_kernel(void)
 	synchronize_rcu();
 }
 
-#ifdef RCU_TRACE
+#ifdef CONFIG_RCU_TRACE
 int *rcupreempt_flipctr(int cpu)
 {
 	return &per_cpu(rcu_flipctr, cpu)[0];
@@ -649,7 +649,7 @@ EXPORT_SYMBOL_GPL(rcupreempt_data_completed);
 EXPORT_SYMBOL_GPL(rcupreempt_flip_flag);
 EXPORT_SYMBOL_GPL(rcupreempt_mb_flag);
 EXPORT_SYMBOL_GPL(rcupreempt_try_flip_state_name);
-#endif /* #ifdef RCU_TRACE */
+#endif /* #ifdef CONFIG_RCU_TRACE */
 
 EXPORT_SYMBOL_GPL(call_rcu);
 EXPORT_SYMBOL_GPL(rcu_batches_completed);
Acked-by on v1 1/1
#2 lore raw

Re: [-mm patch] rcu_trace build fix (was Re: 2.6.20-rc6-mm2 build failure)

Quoted 20 lines · Frederik Deweerdt
Quoted 1 line · Tomasz Kvarsin

I try to compile and got:

Frederik

kernel/rcupreempt.c +1 -1
index f8962a7..9b7d66b 100644
@@ -619,7 +619,7 @@ void synchronize_kernel(void)
 	synchronize_rcu();
 }
 
-#ifdef RCU_TRACE
+#ifdef CONFIG_RCU_TRACE
 int *rcupreempt_flipctr(int cpu)
 {
 	return &per_cpu(rcu_flipctr, cpu)[0];

kernel/rcupreempt.c EXPORT_SYMBOL_GPL(rcupreempt_data_completed); · line 655

Quoted 8 lines
kernel/rcupreempt.c +1 -1
@@ -649,7 +649,7 @@ EXPORT_SYMBOL_GPL(rcupreempt_data_completed);
 EXPORT_SYMBOL_GPL(rcupreempt_flip_flag);
 EXPORT_SYMBOL_GPL(rcupreempt_mb_flag);
 EXPORT_SYMBOL_GPL(rcupreempt_try_flip_state_name);
-#endif /* #ifdef RCU_TRACE */
+#endif /* #ifdef CONFIG_RCU_TRACE */
 
 EXPORT_SYMBOL_GPL(call_rcu);
 EXPORT_SYMBOL_GPL(rcu_batches_completed);

Looks good. Sorry about missing this and the late response. I am online only periodically while I am out of town (until 10th Feb).

Thanks
Dipankar