On Sat, Dec 27, 2008 at 7:29 AM, Kamalesh Babulal <kamalesh@xxxxxxxxxxxxxxxxxx> wrote: > * Ingo Molnar <mingo@xxxxxxx> [2008-12-27 13:26:32]: > >> >> * Kamalesh Babulal <kamalesh@xxxxxxxxxxxxxxxxxx> wrote: >> >> > > yes, indeed - updated patch below. >> > > >> > > Ingo >> > > >> > >> > Hi Ingo, >> > >> > Sorry, for not mentioning that the previous kernel trace, was >> > after adding the return statement to the arch_init_chip_data(). >> >> ah, i missed that detail. There was a stupid typo in one of the conflict >> resolutions i had to do - could you check the updated patch below? >> >> Thanks, >> >> Ingo >> > > > Hi Ingo, > > kernel still crashes, with the updated patch. > > >> -----------> >> From 13a0c3c269b223f60abfac8a9811d77111a8b4ba Mon Sep 17 00:00:00 2001 >> From: Yinghai Lu <yinghai@xxxxxxxxxx> >> Date: Fri, 26 Dec 2008 02:05:47 -0800 >> Subject: [PATCH] sparseirq: work around compiler optimizing away __weak functions >> >> Impact: fix panic on null pointer with sparseirq >> >> Some GCC versions seem to inline the weak global function, >> when that function is empty. >> >> Work it around, by making the functions return a (dummy) integer. >> >> Signed-off-by: Yinghai <yinghai@xxxxxxxxxx> >> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> >> --- >> arch/x86/kernel/io_apic.c | 8 ++++++-- >> include/linux/irq.h | 6 +++--- >> init/main.c | 7 ++++--- >> kernel/irq/handle.c | 7 ++++--- >> 4 files changed, 17 insertions(+), 11 deletions(-) >> >> diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c >> index 2fe543f..9760393 100644 >> --- a/arch/x86/kernel/io_apic.c >> +++ b/arch/x86/kernel/io_apic.c >> @@ -170,7 +170,7 @@ static struct irq_cfg irq_cfgx[NR_IRQS] = { >> [15] = { .domain = CPU_MASK_ALL, .vector = IRQ15_VECTOR, }, >> }; >> >> -void __init arch_early_irq_init(void) >> +int __init arch_early_irq_init(void) >> { >> struct irq_cfg *cfg; >> struct irq_desc *desc; >> @@ -184,6 +184,8 @@ void __init arch_early_irq_init(void) >> desc = irq_to_desc(i); >> desc->chip_data = &cfg[i]; >> } >> + >> + return 0; can you try current tip/master? current there are several blank __weak, and __weak + return 0..in the whole tree. it seems there three solution: 1. use printk? 2. not use __weak with blank function any more, and use #ifdef and inline functions instead 3. blacklist that gcc 4.1.1 complier.. YH -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html