public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.6.15-rc2-git3 build fails at mtrr/ipi_handler undeclared
@ 2005-11-24  7:17 Bob Gill
  2005-11-24  7:52 ` Hugh Dickins
  0 siblings, 1 reply; 3+ messages in thread
From: Bob Gill @ 2005-11-24  7:17 UTC (permalink / raw)
  To: linux-kernel

Hi. 
I am trying to build 2.6.15-rc2-git3, but it fails with an error:
make: *** [arch/i386/kernel] Error 2
  CHK     include/linux/version.h
  CHK     include/linux/compile.h
  CHK     usr/initramfs_list
  CC      arch/i386/kernel/cpu/mtrr/main.o
arch/i386/kernel/cpu/mtrr/main.c: In function `set_mtrr':
arch/i386/kernel/cpu/mtrr/main.c:225: error: `ipi_handler' undeclared 
(first use in this function)
arch/i386/kernel/cpu/mtrr/main.c:225: error: (Each undeclared identifier 
is reported only once
arch/i386/kernel/cpu/mtrr/main.c:225: error: for each function it 
appears in.)
make[3]: *** [arch/i386/kernel/cpu/mtrr/main.o] Error 1
make[2]: *** [arch/i386/kernel/cpu/mtrr] Error 2
make[1]: *** [arch/i386/kernel/cpu] Error 2
make: *** [arch/i386/kernel] Error 2
  CHK     include/linux/version.h
...
(vmlinuz/initial ramdisk image are not built, etc.)
....
but ipi_handler seems to be defined at line 141 in 
/arch/i386/kernel/cpu/mtrr/main.c.  However, my build script does not 
include SMP (I'm on a single cpu machine), and ipi_handler is wrapped in
#ifdef CONFIG_SMP
#endif
(my SMP build options are):
CONFIG_BROKEN_ON_SMP=y
# CONFIG_X86_BIGSMP is not set
# CONFIG_SMP is not set
CONFIG_X86_FIND_SMP_CONFIG=y
....
(The obvious solution is to change my script to CONFIG_SMP=Y, but I 
suspect there is a more elegant solution).
2.6.15-rc2 builds/runs ok with the same build script.
Please mail me directly as I'm not on the list.
TIA
Bob

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: 2.6.15-rc2-git3 build fails at mtrr/ipi_handler undeclared
  2005-11-24  7:17 2.6.15-rc2-git3 build fails at mtrr/ipi_handler undeclared Bob Gill
@ 2005-11-24  7:52 ` Hugh Dickins
  2005-11-24 20:19   ` Bob Gill
  0 siblings, 1 reply; 3+ messages in thread
From: Hugh Dickins @ 2005-11-24  7:52 UTC (permalink / raw)
  To: Bob Gill; +Cc: linux-kernel

On Thu, 24 Nov 2005, Bob Gill wrote:
> Hi. I am trying to build 2.6.15-rc2-git3, but it fails with an error:
> make: *** [arch/i386/kernel] Error 2
> CHK     include/linux/version.h
> CHK     include/linux/compile.h
> CHK     usr/initramfs_list
> CC      arch/i386/kernel/cpu/mtrr/main.o
> arch/i386/kernel/cpu/mtrr/main.c: In function `set_mtrr':
> arch/i386/kernel/cpu/mtrr/main.c:225: error: `ipi_handler' undeclared (first
> use in this function)
> arch/i386/kernel/cpu/mtrr/main.c:225: error: (Each undeclared identifier is
> reported only once
> arch/i386/kernel/cpu/mtrr/main.c:225: error: for each function it appears in.)
> make[3]: *** [arch/i386/kernel/cpu/mtrr/main.o] Error 1
> make[2]: *** [arch/i386/kernel/cpu/mtrr] Error 2
> make[1]: *** [arch/i386/kernel/cpu] Error 2
> make: *** [arch/i386/kernel] Error 2
>  CHK     include/linux/version.h

That's one of the things fixed by Andrew's patch below
(though Linus fixed it differently in the end).
Or you could just wait for 2.6.15-rc2-git4, should be along soon.

Hugh

diff -puN include/linux/smp.h~smp_call_function-must-be-a-macro include/linux/smp.h
--- devel/include/linux/smp.h~smp_call_function-must-be-a-macro	2005-11-23 00:14:19.000000000 -0800
+++ devel-akpm/include/linux/smp.h	2005-11-23 00:20:54.000000000 -0800
@@ -94,13 +94,7 @@ void smp_prepare_boot_cpu(void);
  */
 #define raw_smp_processor_id()			0
 #define hard_smp_processor_id()			0
-
-static inline int smp_call_function(void (*func) (void *info), void *info,
-				    int retry, int wait)
-{
-	return 0;
-}
-
+#define smp_call_function(func,info,retry,wait)	({ 0; })
 #define on_each_cpu(func,info,retry,wait)	({ func(info); 0; })
 static inline void smp_send_reschedule(int cpu) { }
 #define num_booting_cpus()			1
diff -puN net/core/flow.c~smp_call_function-must-be-a-macro net/core/flow.c
--- devel/net/core/flow.c~smp_call_function-must-be-a-macro	2005-11-23 00:17:40.000000000 -0800
+++ devel-akpm/net/core/flow.c	2005-11-23 00:17:47.000000000 -0800
@@ -292,7 +292,7 @@ void flow_cache_flush(void)
 	init_completion(&info.completion);
 
 	local_bh_disable();
-	smp_call_function(flow_cache_flush_per_cpu, &info, 1, 0);
+	(void)smp_call_function(flow_cache_flush_per_cpu, &info, 1, 0);
 	flow_cache_flush_tasklet((unsigned long)&info);
 	local_bh_enable();
 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: 2.6.15-rc2-git3 build fails at mtrr/ipi_handler undeclared
  2005-11-24  7:52 ` Hugh Dickins
@ 2005-11-24 20:19   ` Bob Gill
  0 siblings, 0 replies; 3+ messages in thread
From: Bob Gill @ 2005-11-24 20:19 UTC (permalink / raw)
  To: Hugh Dickins; +Cc: Linux kernel Mailing list

Hugh Dickins wrote:

>
>That's one of the things fixed by Andrew's patch below
>(though Linus fixed it differently in the end).
>Or you could just wait for 2.6.15-rc2-git4, should be along soon.
>
>Hugh
>
>diff -puN include/linux/smp.h~smp_call_function-must-be-a-macro include/linux/smp.h
>--- devel/include/linux/smp.h~smp_call_function-must-be-a-macro	2005-11-23 00:14:19.000000000 -0800
>+++ devel-akpm/include/linux/smp.h	2005-11-23 00:20:54.000000000 -0800
>@@ -94,13 +94,7 @@ void smp_prepare_boot_cpu(void);
>  */
> #define raw_smp_processor_id()			0
> #define hard_smp_processor_id()			0
>-
>-static inline int smp_call_function(void (*func) (void *info), void *info,
>-				    int retry, int wait)
>-{
>-	return 0;
>-}
>-
>+#define smp_call_function(func,info,retry,wait)	({ 0; })
> #define on_each_cpu(func,info,retry,wait)	({ func(info); 0; })
> static inline void smp_send_reschedule(int cpu) { }
> #define num_booting_cpus()			1
>diff -puN net/core/flow.c~smp_call_function-must-be-a-macro net/core/flow.c
>--- devel/net/core/flow.c~smp_call_function-must-be-a-macro	2005-11-23 00:17:40.000000000 -0800
>+++ devel-akpm/net/core/flow.c	2005-11-23 00:17:47.000000000 -0800
>@@ -292,7 +292,7 @@ void flow_cache_flush(void)
> 	init_completion(&info.completion);
> 
> 	local_bh_disable();
>-	smp_call_function(flow_cache_flush_per_cpu, &info, 1, 0);
>+	(void)smp_call_function(flow_cache_flush_per_cpu, &info, 1, 0);
> 	flow_cache_flush_tasklet((unsigned long)&info);
> 	local_bh_enable();
> 
>
>  
>
Done!  Thanks for your reply.  I built 2.6.15-rc2-git4 and its running 
it as I type this.  Linus' final looks very much like the patch above, 
except for the void typecast in smp_call_funciton.
Thanks again,
Bob

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-11-24 20:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-24  7:17 2.6.15-rc2-git3 build fails at mtrr/ipi_handler undeclared Bob Gill
2005-11-24  7:52 ` Hugh Dickins
2005-11-24 20:19   ` Bob Gill

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox