I once complained about the s390 port not compiling because _stext had conflicting types. You seem to have changed include/asm/irq.h then, adding [] to it, like it is in kernel/ksyms.c. I just did a little grepping, And saw this: ./init/main.c:extern char _stext, _etext; ./kernel/ksyms.c:extern char _stext[], _etext[]; ./include/asm-s390/irq.h:extern char _stext[]; ./arch/i386/kernel/irq.h:extern char _stext, _etext; ./arch/alpha/kernel/traps.c: extern unsigned long _stext, _etext; ./arch/alpha/kernel/irq.h:extern char _stext; ./arch/sparc/kernel/sun4d_smp.c: extern int _stext; ./arch/sparc/kernel/sun4m_smp.c: extern int _stext; ./arch/sparc/mm/btfixup.c:extern unsigned int _stext[], _end[], __start___ksymtab[], __stop___ksymtab[]; ./arch/sparc/ap1000/timer.c: extern int _stext; ./arch/mips/kernel/traps.c: extern char _stext, _etext; ./arch/mips/kernel/time.c: extern int _stext; ./arch/ppc/mm/init.c:extern char etext[], _stext[]; ./arch/m68k/kernel/time.c: extern int _stext; ./arch/sparc64/kernel/smp.c: extern int _stext; ./arch/arm/kernel/setup.c:extern int _stext, _text, _etext, _edata, _end; ./arch/arm/kernel/time.c: extern int _stext; ./arch/arm/mm/init.c:extern char _etext, _stext, _edata, __bss_start, _end; As you can see, most of them don't have the [], but some do. Others are (still?) signed or unsigned, int or long's. I think all of them should be pointers, it doesn't make much sense for them to be a char, altho most are just chars. Doing the same in 2.4.0-test10, shows about the same. What should be done with this? Kurt - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/