Re: [ARM] : Section mismatch : reference to......
From: Randy Dunlap
Date: Tue Oct 23 2007 - 14:30:25 EST
On Tue, 23 Oct 2007 20:20:20 -0700 Kristoffer Ericson wrote:
> On Tue, 23 Oct 2007 11:15:06 -0700
> Randy Dunlap <rdunlap@xxxxxxxxxxxx> wrote:
>
> > On Tue, 23 Oct 2007 20:09:06 -0700 Kristoffer Ericson wrote:
> >
> > > On Tue, 23 Oct 2007 11:01:13 -0700
> > > Randy Dunlap <rdunlap@xxxxxxxxxxxx> wrote:
> > >
> > > > On Tue, 23 Oct 2007 19:52:07 -0700 Kristoffer Ericson wrote:
> > > >
> > > > > Best way to handle this?
> > > > >
> > > > >
> > > > > LD init/built-in.o
> > > > > LD .tmp_vmlinux1
> > > > > KSYM .tmp_kallsyms1.S
> > > > > AS .tmp_kallsyms1.o
> > > > > LD .tmp_vmlinux2
> > > > > KSYM .tmp_kallsyms2.S
> > > > > AS .tmp_kallsyms2.o
> > > > > LD vmlinux.o
> > > > > MODPOST vmlinux.o
> > > > > WARNING: vmlinux.o(.text+0x9afc): Section mismatch: reference to .init.text:sa1110_mb_enable (between 'sa1111_probe' and 'sa1111_remove')
> > > > > WARNING: vmlinux.o(.text+0x13b1ac): Section mismatch: reference to .init.text:pcmcia_jornada720_init (between 'pcmcia_probe' and 'pcmcia_remove')
> > > > > LD vmlinux
> > > > > SYSMAP System.map
> > > > > SYSMAP .tmp_System.map
> > > > > OBJCOPY arch/arm/boot/Image
> > > > > Kernel: arch/arm/boot/Image is ready
> > > > > AS arch/arm/boot/compressed/head.o
> > > > > GZIP arch/arm/boot/compressed/piggy.gz
> > > > > AS arch/arm/boot/compressed/piggy.o
> > > > > CC arch/arm/boot/compressed/misc.o
> > > > > AS arch/arm/boot/compressed/head-sa1100.o
> > > > > LD arch/arm/boot/compressed/vmlinux
> > > > > OBJCOPY arch/arm/boot/zImage
> > > > > Kernel: arch/arm/boot/zImage is ready
> > > > > -
> > > >
> > > > Missing kernel version and .config file.
> > > Ah, true. Im using latest git (linux-2.6.git) with proper config. This error has been there for quite some time, just decided it was time to fix it. Im not fully familiar with the section errors, so thought it better to ask.
> > >
> > > >
> > > > In drivers/pcmcia/sa1100_jornada.c, change
> > > >
> > > > int __init pcmcia_jornada720_init(struct device *dev)
> > > >
> > > > to
> > > >
> > > > int __devinit pcmcia_jornada720_init(struct device *dev)
> > > >
> > > > may help. Please test that.
> > > Seems to work fine, big thanks.
> > > >
> > > > I can't find sa1110_mb_enable().
> > > Found it inside /arch/arm/mach-sa1100/generic.c, proper way to set it as __devinit?
> >
> > Probably, at least it's worth trying.
> Seems to have worked fine. Could anyone explain why?.. Or I can google it I guess.
> Anyhow big thanx Randy
You have CONFIG_HOTPLUG=y in your .config file?
If yes, see what that does to include/linux/init.h:
#ifdef CONFIG_HOTPLUG
#define __devinit
#define __devinitdata
#define __devexit
#define __devexitdata
#else
#define __devinit __init
#define __devinitdata __initdata
#define __devexit __exit
#define __devexitdata __exitdata
#endif
so those __devinit functions are not discarded when CONFIG_HOTPLUG=y,
but they are discarded when CONFIG_HOTPLUG=n.
---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/