Re: [BUG] :kernel/built-in.o(.text+0x18db4):kernel/workqueue.c:823: undefinedreference to `.L343'

From: Kristoffer Ericson
Date: Fri Nov 02 2007 - 20:44:03 EST


On Sat, 3 Nov 2007 00:04:14 +0000
Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> wrote:

> On Sat, Nov 03, 2007 at 12:04:06AM -0700, Kristoffer Ericson wrote:
> > On Fri, 2 Nov 2007 21:10:23 +0100
> > Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:
> >
> > > On Fri, Nov 02, 2007 at 07:48:18PM +0000, Russell King - ARM Linux wrote:
> > > > On Fri, Nov 02, 2007 at 08:29:31PM -0700, Kristoffer Ericson wrote:
> > > > > Greetings,
> > > > >
> > > > > Haven't found anyone reporting this. Taken from the very latest linux-2.6.git pull.
> > > > >
> > > > > dnsdomainname: Unknown host
> > > > > UPD include/linux/compile.h
> > > > > CC init/version.o
> > > > > LD init/built-in.o
> > > > > LD .tmp_vmlinux1
> > > > > kernel/built-in.o(.text+0x18db0): In function `destroy_workqueue':
> > > > > kernel/workqueue.c:823: undefined reference to `.L342'
> > > > > kernel/built-in.o(.text+0x18db4):kernel/workqueue.c:823: undefined reference to `.L343'
> > > > > make: *** [.tmp_vmlinux1] Error 1
> > > >
> > > > I think you'll have to look at the assembly produced for workqueue.c and
> > > > work out why GCC is referencing an undefined label. You can get the
> > > > assembly for that by doing:
> > > >
> > > > make ARCH=arm ...etc... kernel/workqueue.s
> > > Or make that:
> > >
> > > make ARCH=arm ...etc... kernel/workqueue.lst
> > >
> > > to get intermixed C and assenbly
> > >
> > > Sam
> > arm-unknown-linux-gnu- kernel/workqueue.1strrent:)$ make ARCH=arm CROSS_COMPILE=a
> > make: *** No rule to make target `kernel/workqueue.1st'. Stop.
>
> Suggest you use a better console font that allows you to identify
> the difference between '1' (one) and 'l' (lima).
Point taken.

>
> > arm-unknown-linux-gnu- kernel/workqueue.lstrrent:)$ make ARCH=arm CROSS_COMPILE=a
> > CHK include/linux/version.h
> > make[1]: `include/asm-arm/mach-types.h' is up to date.
> > CHK include/linux/utsrelease.h
> > CALL scripts/checksyscalls.sh
> > <stdin>:1097:2: warning: #warning syscall fadvise64 not implemented
> > <stdin>:1265:2: warning: #warning syscall migrate_pages not implemented
> > <stdin>:1321:2: warning: #warning syscall pselect6 not implemented
> > <stdin>:1325:2: warning: #warning syscall ppoll not implemented
> > <stdin>:1365:2: warning: #warning syscall epoll_pwait not implemented
> > MKLST kernel/workqueue.lst
> > No System.map
>
> You're not looking for a system.map file, but the workqueue.s or
> workqueue.lst file to find out where this nonexistent label is
> referenced.

Sorry, I misunderstod Sam's reply earlier. Tried to compile the .lst file :D
I've done some checks in the .config and seems like some setting in 'kernel hacking', caused this. Unfortunantly I changed too much at once to be sure what exactly in there caused it.

Anyhow, thanks for helping out :)
-
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/