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
and then you'll have a kernel/workqueue.s in your object tree.
On Fri, 2 Nov 2007 21:10:23 +0100
arm-unknown-linux-gnu- kernel/workqueue.1strrent:)$ make ARCH=arm CROSS_COMPILE=a
make: *** No rule to make target `kernel/workqueue.1st'. Stop.
arm-unknown-linux-gnu- kernel/workqueue.lstrrent:)$ make ARCH=arm CROSS_COMPILE=a
make: `include/asm-arm/mach-types.h' is up to date.
<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
Suggest you use a better console font that allows you to identify
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
On Sat, 3 Nov 2007 00:04:14 +0000
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 :)