Re: [BUG 2.6.36] early serial console undefined refs

Previous thread: [PATCHv7 1/3] ARM: imx: Add gpio-keys to plat-mxc by Dinh.Nguyen on Saturday, October 23, 2010 - 7:12 am. (1 message)

Next thread: [GIT pull] softirq updates for 2.6.37 by Thomas Gleixner on Saturday, October 23, 2010 - 7:56 am. (1 message)
From: Mathieu Desnoyers
Date: Saturday, October 23, 2010 - 7:43 am

Hi,

Building 2.6.36 fails for me with the following link error (config below).
I think commit f4ed2877b16e8146427306aea8819adac5c88374 is very likely to be the
culprit, but given other changes that were done afterward, the fix is not as
easy as a simple revert.

Thoughts ?

  Building modules, stage 2.
  MODPOST 65 modules
  LD      arch/x86/boot/setup.elf
arch/x86/boot/early_serial_console.o: In function `early_serial_init':
/home/compudj/git/morestable/linux-2.6-lttng/arch/x86/boot/early_serial_console.c:40: undefined reference to `early_serial_base'
arch/x86/boot/early_serial_console.o: In function `cmdline_find_option':
/home/compudj/git/morestable/linux-2.6-lttng/arch/x86/boot/boot.h:292: undefined reference to `__cmdline_find_option'
arch/x86/boot/early_serial_console.o: In function `parse_earlyprintk':
/home/compudj/git/morestable/linux-2.6-lttng/arch/x86/boot/early_serial_console.c:53: undefined reference to `strncmp'
/home/compudj/git/morestable/linux-2.6-lttng/arch/x86/boot/early_serial_console.c:67: undefined reference to `strncmp'
/home/compudj/git/morestable/linux-2.6-lttng/arch/x86/boot/early_serial_console.c:68: undefined reference to `simple_strtoull'
/home/compudj/git/morestable/linux-2.6-lttng/arch/x86/boot/early_serial_console.c:73: undefined reference to `strncmp'
/home/compudj/git/morestable/linux-2.6-lttng/arch/x86/boot/early_serial_console.c:77: undefined reference to `strncmp'
/home/compudj/git/morestable/linux-2.6-lttng/arch/x86/boot/early_serial_console.c:89: undefined reference to `simple_strtoull'
arch/x86/boot/early_serial_console.o: In function `console_init':
/home/compudj/git/morestable/linux-2.6-lttng/arch/x86/boot/early_serial_console.c:149: undefined reference to `early_serial_base'
arch/x86/boot/early_serial_console.o: In function `cmdline_find_option':
/home/compudj/git/morestable/linux-2.6-lttng/arch/x86/boot/boot.h:292: undefined reference to `__cmdline_find_option'
arch/x86/boot/early_serial_console.o: In function ...
From: Yinghai Lu
Date: Saturday, October 23, 2010 - 10:37 am

your tree may have problem. Did you try clean tree from Linus ?

early_seria_console.c

#include "boot.h"
...
static void early_serial_init(int port, int baud)


and in boot.h, we have
/* early_serial_console.c */
extern int early_serial_base;


Thanks

	Yinghai

--

From: Yinghai Lu
Date: Saturday, October 23, 2010 - 10:40 am

at least linus's tree and tip are ok with your config

  MODPOST 65 modules
  CC      arch/x86/boot/a20.o
  CC      arch/x86/boot/cmdline.o
  AS      arch/x86/boot/copy.o
  HOSTCC  arch/x86/boot/mkcpustr
  CC      arch/x86/ia32/ia32_aout.mod.o
  CC      arch/x86/boot/cpucheck.o
  CC      arch/x86/kvm/kvm-intel.mod.o
  CC      arch/x86/boot/early_serial_console.o
  CC      arch/x86/boot/edd.o
  CC      arch/x86/kvm/kvm.mod.o
  VOFFSET arch/x86/boot/voffset.h
  CC      arch/x86/oprofile/oprofile.mod.o
  CC      crypto/crc32c.mod.o
  CC      drivers/ata/sata_mv.mod.o
  CC      drivers/base/firmware_class.mod.o
  LDS     arch/x86/boot/compressed/vmlinux.lds
  AS      arch/x86/boot/compressed/head_64.o
  CC      drivers/block/cryptoloop.mod.o
  CC      arch/x86/boot/compressed/misc.o
  CC      drivers/block/loop.mod.o
  CC      drivers/cpufreq/cpufreq_ondemand.mod.o
  CC      drivers/firmware/dcdbas.mod.o
  CC      drivers/hwmon/hwmon-vid.mod.o
  CC      drivers/hwmon/it87.mod.o
  CC      drivers/input/input-polldev.mod.o
  CC      drivers/md/dm-crypt.mod.o
  CC      arch/x86/boot/compressed/string.o
  CC      drivers/md/dm-delay.mod.o
  CC      arch/x86/boot/compressed/cmdline.o
  CC      drivers/md/dm-log.mod.o
  CC      arch/x86/boot/compressed/early_serial_console.o
  CC      drivers/md/dm-mirror.mod.o
  OBJCOPY arch/x86/boot/compressed/vmlinux.bin
  CC      drivers/md/dm-multipath.mod.o
  GZIP    arch/x86/boot/compressed/vmlinux.bin.gz
  CC      drivers/md/dm-region-hash.mod.o
  CC      drivers/md/dm-round-robin.mod.o
  CC      drivers/md/dm-snapshot.mod.o
  CC      drivers/md/dm-zero.mod.o
  CC      drivers/net/bonding/bonding.mod.o
  CC      drivers/net/dummy.mod.o
  CC      drivers/net/e1000/e1000.mod.o
  CC      drivers/net/e1000e/e1000e.mod.o
  CC      drivers/net/s2io.mod.o
  CC      drivers/net/skge.mod.o
  CC      drivers/net/sky2.mod.o
  CC      drivers/net/tun.mod.o
  CC      drivers/scsi/dpt_i2o.mod.o
  CC      ...
From: Mathieu Desnoyers
Date: Sunday, October 24, 2010 - 2:18 pm

I did a make clean, and it fixed the problem. I tried checking out a 2.6.35.7
kernel, build it, checkout 2.6.36 on top, then build without make clean, and it
works fine now. So I cannot reproduce the problem.

Thanks for the hint!


-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
--

Previous thread: [PATCHv7 1/3] ARM: imx: Add gpio-keys to plat-mxc by Dinh.Nguyen on Saturday, October 23, 2010 - 7:12 am. (1 message)

Next thread: [GIT pull] softirq updates for 2.6.37 by Thomas Gleixner on Saturday, October 23, 2010 - 7:56 am. (1 message)