Kamalesh Babulal wrote: > * Yinghai Lu <yinghai@xxxxxxxxxx> [2008-12-23 13:09:56]: > > > boot log after applying the debug patch > > root (hd0,0) > Filesystem type is ext2fs, partition type 0x83 > kernel /vmlinuz-autotest root=/dev/mapper/VolGroup00-LogVol00 ro console=tty0 c > onsole=ttyS1,19200 selinux=no debug IDENT=1230133532 > [Linux-bzImage, setup=0x3000, size=0x273cf0] > initrd /initrd-autotest > [Linux-initrd @ 0x37e5f000, 0x19097a bytes] > > Linux version 2.6.28-rc8-autotest-tip (root@xxxxxxxxxxxxxxxxxxxxxxxxx) (gcc version 4.1.1 20060525 (Red Hat 4.1.1-1)) #1 SMP Wed Dec 24 09:37:30 CST 2008 > Command line: root=/dev/mapper/VolGroup00-LogVol00 ro console=tty0 console=ttyS1,19200 selinux=no debug IDENT=1230133532 ok, it seems that your compiler is broken... is that RHEL 5.1 stock compiler YH [PATCH] sparseirq: add oninline to workaround compiler Impact: fix panic on null pointer with sparseirq some compiler seems to inline the weak global function. try to workaround it also remove duplicated arch_early_irq_init() already have one weak copy in init/main.c Signed-off-by: Yinghai <yinghai@xxxxxxxxxx> --- init/main.c | 4 ++-- kernel/irq/handle.c | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) Index: linux-2.6/init/main.c =================================================================== --- linux-2.6.orig/init/main.c +++ linux-2.6/init/main.c @@ -542,11 +542,11 @@ void __init __weak thread_info_cache_ini { } -void __init __weak arch_early_irq_init(void) +void noinline __init __weak arch_early_irq_init(void) { } -void __init __weak early_irq_init(void) +void noinline __init __weak early_irq_init(void) { arch_early_irq_init(); } Index: linux-2.6/kernel/irq/handle.c =================================================================== --- linux-2.6.orig/kernel/irq/handle.c +++ linux-2.6/kernel/irq/handle.c @@ -56,10 +56,6 @@ void handle_bad_irq(unsigned int irq, st int nr_irqs = NR_IRQS; EXPORT_SYMBOL_GPL(nr_irqs); -void __init __attribute__((weak)) arch_early_irq_init(void) -{ -} - #ifdef CONFIG_SPARSE_IRQ static struct irq_desc irq_desc_init = { .irq = -1, @@ -90,7 +86,7 @@ void init_kstat_irqs(struct irq_desc *de desc->kstat_irqs = (unsigned int *)ptr; } -void __attribute__((weak)) arch_init_chip_data(struct irq_desc *desc, int cpu) +void noinline __weak arch_init_chip_data(struct irq_desc *desc, int cpu) { } -- 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